QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
types.h
Go to the documentation of this file.
1 /*
2  Copyright 2021 Paul Colby
3 
4  This file is part of QtFit.
5 
6  QtFit is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  QtFit is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with QtFit. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 /*!
21  * \file
22  * \note This file is automatcially generated. Any changes here are likely to be overwritten.
23  */
24 
25 /*!
26  * \file
27  *
28  * Types defined by the ANT+ FIT SDK.
29  *
30  * Specifically these types are automatically generated from the Types tab of the FIT SDK's
31  * Profile.xlsx file.
32  *
33  * \see https://developer.garmin.com/fit/download/
34  */
35 
36 #ifndef QTFIT_TYPES_H
37 #define QTFIT_TYPES_H
38 
39 #include "QtFit_global.h"
40 
41 #include <QDebug>
42 
44 
45 typedef quint8 quint8z; ///< 8-bit unsigned integer, with 0-is-invalid semantics.
46 typedef quint16 quint16z; ///< 16-bit unsigned integer, with 0-is-invalid semantics.
47 typedef quint32 quint32z; ///< 32-bit unsigned integer, with 0-is-invalid semantics.
48 typedef quint64 quint64z; ///< 64-bit unsigned integer, with 0-is-invalid semantics.
49 
50 /*!
51  * Garmin FIT File type.
52  *
53  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
54  * spreadsheet. More information of the definition and semantics of this type may be available in
55  * the Garmin FIT SDK.
56  *
57  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
58  */
59 enum class File {
60  Device = 1, ///< Read only, single file. Must be in root directory.
61  Settings = 2, ///< Read/write, single file. Directory=Settings
62  Sport = 3, ///< Read/write, multiple files, file number = sport type. Directory=Sports
63  Activity = 4, ///< Read/erase, multiple files. Directory=Activities
64  Workout = 5, ///< Read/write/erase, multiple files. Directory=Workouts
65  Course = 6, ///< Read/write/erase, multiple files. Directory=Courses
66  Schedules = 7, ///< Read/write, single file. Directory=Schedules
67  Weight = 9, ///< Read only, single file. Circular buffer. All message definitions at start of file. Directory=Weight
68  Totals = 10, ///< Read only, single file. Directory=Totals
69  Goals = 11, ///< Read/write, single file. Directory=Goals
70  BloodPressure = 14, ///< Read only. Directory=Blood Pressure
71  MonitoringA = 15, ///< Read only. Directory=Monitoring. File number=sub type.
72  ActivitySummary = 20, ///< Read/erase, multiple files. Directory=Activities
73  MonitoringDaily = 28,
74  MonitoringB = 32, ///< Read only. Directory=Monitoring. File number=identifier
75  Segment = 34, ///< Read/write/erase. Multiple Files. Directory=Segments
76  SegmentList = 35, ///< Read/write/erase. Single File. Directory=Segments
77  ExdConfiguration = 40, ///< Read/write/erase. Single File. Directory=Settings
78  MfgRangeMin = 0xF7, ///< 0xF7 - 0xFE reserved for manufacturer specific file types
79  MfgRangeMax = 0xFE, ///< 0xF7 - 0xFE reserved for manufacturer specific file types
80 };
81 
82 /*!
83  * Garmin FIT MesgNum type.
84  *
85  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
86  * spreadsheet. More information of the definition and semantics of this type may be available in
87  * the Garmin FIT SDK.
88  *
89  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
90  */
91 enum class MesgNum : quint16 {
92  FileId = 0,
93  Capabilities = 1,
94  DeviceSettings = 2,
95  UserProfile = 3,
96  HrmProfile = 4,
97  SdmProfile = 5,
98  BikeProfile = 6,
99  ZonesTarget = 7,
100  HrZone = 8,
101  PowerZone = 9,
102  MetZone = 10,
103  Sport = 12,
104  Goal = 15,
105  Session = 18,
106  Lap = 19,
107  Record = 20,
108  Event = 21,
109  DeviceInfo = 23,
110  Workout = 26,
111  WorkoutStep = 27,
112  Schedule = 28,
113  WeightScale = 30,
114  Course = 31,
115  CoursePoint = 32,
116  Totals = 33,
117  Activity = 34,
118  Software = 35,
119  FileCapabilities = 37,
120  MesgCapabilities = 38,
121  FieldCapabilities = 39,
122  FileCreator = 49,
123  BloodPressure = 51,
124  SpeedZone = 53,
125  Monitoring = 55,
126  TrainingFile = 72,
127  Hrv = 78,
128  AntRx = 80,
129  AntTx = 81,
130  AntChannelId = 82,
131  Length = 101,
132  MonitoringInfo = 103,
133  Pad = 105,
134  SlaveDevice = 106,
135  Connectivity = 127,
136  WeatherConditions = 128,
137  WeatherAlert = 129,
138  CadenceZone = 131,
139  Hr = 132,
140  SegmentLap = 142,
141  MemoGlob = 145,
142  SegmentId = 148,
143  SegmentLeaderboardEntry = 149,
144  SegmentPoint = 150,
145  SegmentFile = 151,
146  WorkoutSession = 158,
147  WatchfaceSettings = 159,
148  GpsMetadata = 160,
149  CameraEvent = 161,
150  TimestampCorrelation = 162,
151  GyroscopeData = 164,
152  AccelerometerData = 165,
153  ThreeDSensorCalibration = 167,
154  VideoFrame = 169,
155  ObdiiData = 174,
156  NmeaSentence = 177,
157  AviationAttitude = 178,
158  Video = 184,
159  VideoTitle = 185,
160  VideoDescription = 186,
161  VideoClip = 187,
162  OhrSettings = 188,
163  ExdScreenConfiguration = 200,
164  ExdDataFieldConfiguration = 201,
165  ExdDataConceptConfiguration = 202,
166  FieldDescription = 206,
167  DeveloperDataId = 207,
168  MagnetometerData = 208,
169  BarometerData = 209,
170  OneDSensorCalibration = 210,
171  Set = 225,
172  StressLevel = 227,
173  DiveSettings = 258,
174  DiveGas = 259,
175  DiveAlarm = 262,
176  ExerciseTitle = 264,
177  DiveSummary = 268,
178  Jump = 285,
179  ClimbPro = 317,
180  MfgRangeMin = 0xFF00, ///< 0xFF00 - 0xFFFE reserved for manufacturer specific messages
181  MfgRangeMax = 0xFFFE, ///< 0xFF00 - 0xFFFE reserved for manufacturer specific messages
182 };
183 
184 /*!
185  * Garmin FIT Checksum type.
186  *
187  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
188  * spreadsheet. More information of the definition and semantics of this type may be available in
189  * the Garmin FIT SDK.
190  *
191  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
192  */
193 enum class Checksum : quint8 {
194  Clear = 0, ///< Allows clear of checksum for flash memory where can only write 1 to 0 without erasing sector.
195  Ok = 1, ///< Set to mark checksum as valid if computes to invalid values 0 or 0xFF. Checksum can also be set to ok to save encoding computation time.
196 };
197 
198 /*!
199  * Garmin FIT FileFlags type.
200  *
201  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
202  * spreadsheet. More information of the definition and semantics of this type may be available in
203  * the Garmin FIT SDK.
204  *
205  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
206  */
207 enum class FileFlags : quint8z {
208  Read = 0x02,
209  Write = 0x04,
210  Erase = 0x08,
211 };
212 
213 /*!
214  * Garmin FIT MesgCount type.
215  *
216  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
217  * spreadsheet. More information of the definition and semantics of this type may be available in
218  * the Garmin FIT SDK.
219  *
220  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
221  */
222 enum class MesgCount {
223  NumPerFile = 0,
224  MaxPerFile = 1,
225  MaxPerFileType = 2,
226 };
227 
228 /*!
229  * Seconds since UTC 00:00 Dec 31 1989
230  *
231  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
232  * spreadsheet. More information of the definition and semantics of this type may be available in
233  * the Garmin FIT SDK.
234  *
235  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
236  */
237 enum class DateTime : quint32 {
238  Min = 0x10000000, ///< if date_time is < 0x10000000 then it is system time (seconds from device power on)
239 };
240 
241 /*!
242  * Seconds since 00:00 Dec 31 1989 in local time zone
243  *
244  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
245  * spreadsheet. More information of the definition and semantics of this type may be available in
246  * the Garmin FIT SDK.
247  *
248  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
249  */
250 enum class LocalDateTime : quint32 {
251  Min = 0x10000000, ///< if date_time is < 0x10000000 then it is system time (seconds from device power on)
252 };
253 
254 /*!
255  * Garmin FIT MessageIndex type.
256  *
257  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
258  * spreadsheet. More information of the definition and semantics of this type may be available in
259  * the Garmin FIT SDK.
260  *
261  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
262  */
263 enum class MessageIndex : quint16 {
264  Selected = 0x8000, ///< message is selected if set
265  Reserved = 0x7000, ///< reserved (default 0)
266  Mask = 0x0FFF, ///< index
267 };
268 
269 /*!
270  * Garmin FIT DeviceIndex type.
271  *
272  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
273  * spreadsheet. More information of the definition and semantics of this type may be available in
274  * the Garmin FIT SDK.
275  *
276  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
277  */
278 enum class DeviceIndex : quint8 {
279  Creator = 0, ///< Creator of the file is always device index 0.
280 };
281 
282 /*!
283  * Garmin FIT Gender type.
284  *
285  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
286  * spreadsheet. More information of the definition and semantics of this type may be available in
287  * the Garmin FIT SDK.
288  *
289  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
290  */
291 enum class Gender {
292  Female = 0,
293  Male = 1,
294 };
295 
296 /*!
297  * Garmin FIT Language type.
298  *
299  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
300  * spreadsheet. More information of the definition and semantics of this type may be available in
301  * the Garmin FIT SDK.
302  *
303  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
304  */
305 enum class Language {
306  English = 0,
307  French = 1,
308  Italian = 2,
309  German = 3,
310  Spanish = 4,
311  Croatian = 5,
312  Czech = 6,
313  Danish = 7,
314  Dutch = 8,
315  Finnish = 9,
316  Greek = 10,
317  Hungarian = 11,
318  Norwegian = 12,
319  Polish = 13,
320  Portuguese = 14,
321  Slovakian = 15,
322  Slovenian = 16,
323  Swedish = 17,
324  Russian = 18,
325  Turkish = 19,
326  Latvian = 20,
327  Ukrainian = 21,
328  Arabic = 22,
329  Farsi = 23,
330  Bulgarian = 24,
331  Romanian = 25,
332  Chinese = 26,
333  Japanese = 27,
334  Korean = 28,
335  Taiwanese = 29,
336  Thai = 30,
337  Hebrew = 31,
338  BrazilianPortuguese = 32,
339  Indonesian = 33,
340  Malaysian = 34,
341  Vietnamese = 35,
342  Burmese = 36,
343  Mongolian = 37,
344  Custom = 254,
345 };
346 
347 /*!
348  * Bit field corresponding to language enum type (1 << language).
349  *
350  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
351  * spreadsheet. More information of the definition and semantics of this type may be available in
352  * the Garmin FIT SDK.
353  *
354  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
355  */
356 enum class LanguageBits0 : quint8z {
357  English = 0x01,
358  French = 0x02,
359  Italian = 0x04,
360  German = 0x08,
361  Spanish = 0x10,
362  Croatian = 0x20,
363  Czech = 0x40,
364  Danish = 0x80,
365 };
366 
367 /*!
368  * Garmin FIT LanguageBits1 type.
369  *
370  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
371  * spreadsheet. More information of the definition and semantics of this type may be available in
372  * the Garmin FIT SDK.
373  *
374  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
375  */
376 enum class LanguageBits1 : quint8z {
377  Dutch = 0x01,
378  Finnish = 0x02,
379  Greek = 0x04,
380  Hungarian = 0x08,
381  Norwegian = 0x10,
382  Polish = 0x20,
383  Portuguese = 0x40,
384  Slovakian = 0x80,
385 };
386 
387 /*!
388  * Garmin FIT LanguageBits2 type.
389  *
390  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
391  * spreadsheet. More information of the definition and semantics of this type may be available in
392  * the Garmin FIT SDK.
393  *
394  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
395  */
396 enum class LanguageBits2 : quint8z {
397  Slovenian = 0x01,
398  Swedish = 0x02,
399  Russian = 0x04,
400  Turkish = 0x08,
401  Latvian = 0x10,
402  Ukrainian = 0x20,
403  Arabic = 0x40,
404  Farsi = 0x80,
405 };
406 
407 /*!
408  * Garmin FIT LanguageBits3 type.
409  *
410  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
411  * spreadsheet. More information of the definition and semantics of this type may be available in
412  * the Garmin FIT SDK.
413  *
414  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
415  */
416 enum class LanguageBits3 : quint8z {
417  Bulgarian = 0x01,
418  Romanian = 0x02,
419  Chinese = 0x04,
420  Japanese = 0x08,
421  Korean = 0x10,
422  Taiwanese = 0x20,
423  Thai = 0x40,
424  Hebrew = 0x80,
425 };
426 
427 /*!
428  * Garmin FIT LanguageBits4 type.
429  *
430  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
431  * spreadsheet. More information of the definition and semantics of this type may be available in
432  * the Garmin FIT SDK.
433  *
434  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
435  */
436 enum class LanguageBits4 : quint8z {
437  BrazilianPortuguese = 0x01,
438  Indonesian = 0x02,
439  Malaysian = 0x04,
440  Vietnamese = 0x08,
441  Burmese = 0x10,
442  Mongolian = 0x20,
443 };
444 
445 /*!
446  * Garmin FIT TimeZone type.
447  *
448  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
449  * spreadsheet. More information of the definition and semantics of this type may be available in
450  * the Garmin FIT SDK.
451  *
452  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
453  */
454 enum class TimeZone {
455  Almaty = 0,
456  Bangkok = 1,
457  Bombay = 2,
458  Brasilia = 3,
459  Cairo = 4,
460  CapeVerdeIs = 5,
461  Darwin = 6,
462  Eniwetok = 7,
463  Fiji = 8,
464  HongKong = 9,
465  Islamabad = 10,
466  Kabul = 11,
467  Magadan = 12,
468  MidAtlantic = 13,
469  Moscow = 14,
470  Muscat = 15,
471  Newfoundland = 16,
472  Samoa = 17,
473  Sydney = 18,
474  Tehran = 19,
475  Tokyo = 20,
476  UsAlaska = 21,
477  UsAtlantic = 22,
478  UsCentral = 23,
479  UsEastern = 24,
480  UsHawaii = 25,
481  UsMountain = 26,
482  UsPacific = 27,
483  Other = 28,
484  Auckland = 29,
485  Kathmandu = 30,
486  EuropeWesternWet = 31,
487  EuropeCentralCet = 32,
488  EuropeEasternEet = 33,
489  Jakarta = 34,
490  Perth = 35,
491  Adelaide = 36,
492  Brisbane = 37,
493  Tasmania = 38,
494  Iceland = 39,
495  Amsterdam = 40,
496  Athens = 41,
497  Barcelona = 42,
498  Berlin = 43,
499  Brussels = 44,
500  Budapest = 45,
501  Copenhagen = 46,
502  Dublin = 47,
503  Helsinki = 48,
504  Lisbon = 49,
505  London = 50,
506  Madrid = 51,
507  Munich = 52,
508  Oslo = 53,
509  Paris = 54,
510  Prague = 55,
511  Reykjavik = 56,
512  Rome = 57,
513  Stockholm = 58,
514  Vienna = 59,
515  Warsaw = 60,
516  Zurich = 61,
517  Quebec = 62,
518  Ontario = 63,
519  Manitoba = 64,
520  Saskatchewan = 65,
521  Alberta = 66,
522  BritishColumbia = 67,
523  Boise = 68,
524  Boston = 69,
525  Chicago = 70,
526  Dallas = 71,
527  Denver = 72,
528  KansasCity = 73,
529  LasVegas = 74,
530  LosAngeles = 75,
531  Miami = 76,
532  Minneapolis = 77,
533  NewYork = 78,
534  NewOrleans = 79,
535  Phoenix = 80,
536  SantaFe = 81,
537  Seattle = 82,
538  WashingtonDc = 83,
539  UsArizona = 84,
540  Chita = 85,
541  Ekaterinburg = 86,
542  Irkutsk = 87,
543  Kaliningrad = 88,
544  Krasnoyarsk = 89,
545  Novosibirsk = 90,
546  PetropavlovskKamchatskiy = 91,
547  Samara = 92,
548  Vladivostok = 93,
549  MexicoCentral = 94,
550  MexicoMountain = 95,
551  MexicoPacific = 96,
552  CapeTown = 97,
553  Winkhoek = 98,
554  Lagos = 99,
555  Riyahd = 100,
556  Venezuela = 101,
557  AustraliaLh = 102,
558  Santiago = 103,
559  Manual = 253,
560  Automatic = 254,
561 };
562 
563 /*!
564  * Garmin FIT DisplayMeasure type.
565  *
566  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
567  * spreadsheet. More information of the definition and semantics of this type may be available in
568  * the Garmin FIT SDK.
569  *
570  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
571  */
572 enum class DisplayMeasure {
573  Metric = 0,
574  Statute = 1,
575  Nautical = 2,
576 };
577 
578 /*!
579  * Garmin FIT DisplayHeart type.
580  *
581  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
582  * spreadsheet. More information of the definition and semantics of this type may be available in
583  * the Garmin FIT SDK.
584  *
585  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
586  */
587 enum class DisplayHeart {
588  Bpm = 0,
589  Max = 1,
590  Reserve = 2,
591 };
592 
593 /*!
594  * Garmin FIT DisplayPower type.
595  *
596  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
597  * spreadsheet. More information of the definition and semantics of this type may be available in
598  * the Garmin FIT SDK.
599  *
600  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
601  */
602 enum class DisplayPower {
603  Watts = 0,
604  PercentFtp = 1,
605 };
606 
607 /*!
608  * Garmin FIT DisplayPosition type.
609  *
610  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
611  * spreadsheet. More information of the definition and semantics of this type may be available in
612  * the Garmin FIT SDK.
613  *
614  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
615  */
616 enum class DisplayPosition {
617  Degree = 0, ///< dd.dddddd
618  DegreeMinute = 1, ///< dddmm.mmm
619  DegreeMinuteSecond = 2, ///< dddmmss
620  AustrianGrid = 3, ///< Austrian Grid (BMN)
621  BritishGrid = 4, ///< British National Grid
622  DutchGrid = 5, ///< Dutch grid system
623  HungarianGrid = 6, ///< Hungarian grid system
624  FinnishGrid = 7, ///< Finnish grid system Zone3 KKJ27
625  GermanGrid = 8, ///< Gausss Krueger (German)
626  IcelandicGrid = 9, ///< Icelandic Grid
627  IndonesianEquatorial = 10, ///< Indonesian Equatorial LCO
628  IndonesianIrian = 11, ///< Indonesian Irian LCO
629  IndonesianSouthern = 12, ///< Indonesian Southern LCO
630  IndiaZone0 = 13, ///< India zone 0
631  IndiaZoneIa = 14, ///< India zone IA
632  IndiaZoneIb = 15, ///< India zone IB
633  IndiaZoneIia = 16, ///< India zone IIA
634  IndiaZoneIib = 17, ///< India zone IIB
635  IndiaZoneIiia = 18, ///< India zone IIIA
636  IndiaZoneIiib = 19, ///< India zone IIIB
637  IndiaZoneIva = 20, ///< India zone IVA
638  IndiaZoneIvb = 21, ///< India zone IVB
639  IrishTransverse = 22, ///< Irish Transverse Mercator
640  IrishGrid = 23, ///< Irish Grid
641  Loran = 24, ///< Loran TD
642  MaidenheadGrid = 25, ///< Maidenhead grid system
643  MgrsGrid = 26, ///< MGRS grid system
644  NewZealandGrid = 27, ///< New Zealand grid system
645  NewZealandTransverse = 28, ///< New Zealand Transverse Mercator
646  QatarGrid = 29, ///< Qatar National Grid
647  ModifiedSwedishGrid = 30, ///< Modified RT-90 (Sweden)
648  SwedishGrid = 31, ///< RT-90 (Sweden)
649  SouthAfricanGrid = 32, ///< South African Grid
650  SwissGrid = 33, ///< Swiss CH-1903 grid
651  TaiwanGrid = 34, ///< Taiwan Grid
652  UnitedStatesGrid = 35, ///< United States National Grid
653  UtmUpsGrid = 36, ///< UTM/UPS grid system
654  WestMalayan = 37, ///< West Malayan RSO
655  BorneoRso = 38, ///< Borneo RSO
656  EstonianGrid = 39, ///< Estonian grid system
657  LatvianGrid = 40, ///< Latvian Transverse Mercator
658  SwedishRef99Grid = 41, ///< Reference Grid 99 TM (Swedish)
659 };
660 
661 /*!
662  * Garmin FIT Switch type.
663  *
664  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
665  * spreadsheet. More information of the definition and semantics of this type may be available in
666  * the Garmin FIT SDK.
667  *
668  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
669  */
670 enum class Switch {
671  Off = 0,
672  On = 1,
673  Auto = 2,
674 };
675 
676 /*!
677  * Garmin FIT Sport type.
678  *
679  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
680  * spreadsheet. More information of the definition and semantics of this type may be available in
681  * the Garmin FIT SDK.
682  *
683  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
684  */
685 enum class Sport {
686  Generic = 0,
687  Running = 1,
688  Cycling = 2,
689  Transition = 3, ///< Mulitsport transition
690  FitnessEquipment = 4,
691  Swimming = 5,
692  Basketball = 6,
693  Soccer = 7,
694  Tennis = 8,
695  AmericanFootball = 9,
696  Training = 10,
697  Walking = 11,
698  CrossCountrySkiing = 12,
699  AlpineSkiing = 13,
700  Snowboarding = 14,
701  Rowing = 15,
702  Mountaineering = 16,
703  Hiking = 17,
704  Multisport = 18,
705  Paddling = 19,
706  Flying = 20,
707  EBiking = 21,
708  Motorcycling = 22,
709  Boating = 23,
710  Driving = 24,
711  Golf = 25,
712  HangGliding = 26,
713  HorsebackRiding = 27,
714  Hunting = 28,
715  Fishing = 29,
716  InlineSkating = 30,
717  RockClimbing = 31,
718  Sailing = 32,
719  IceSkating = 33,
720  SkyDiving = 34,
721  Snowshoeing = 35,
722  Snowmobiling = 36,
723  StandUpPaddleboarding = 37,
724  Surfing = 38,
725  Wakeboarding = 39,
726  WaterSkiing = 40,
727  Kayaking = 41,
728  Rafting = 42,
729  Windsurfing = 43,
730  Kitesurfing = 44,
731  Tactical = 45,
732  Jumpmaster = 46,
733  Boxing = 47,
734  FloorClimbing = 48,
735  Diving = 53,
736  All = 254, ///< All is for goals only to include all sports.
737 };
738 
739 /*!
740  * Bit field corresponding to sport enum type (1 << sport).
741  *
742  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
743  * spreadsheet. More information of the definition and semantics of this type may be available in
744  * the Garmin FIT SDK.
745  *
746  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
747  */
748 enum class SportBits0 : quint8z {
749  Generic = 0x01,
750  Running = 0x02,
751  Cycling = 0x04,
752  Transition = 0x08, ///< Mulitsport transition
753  FitnessEquipment = 0x10,
754  Swimming = 0x20,
755  Basketball = 0x40,
756  Soccer = 0x80,
757 };
758 
759 /*!
760  * Bit field corresponding to sport enum type (1 << (sport-8)).
761  *
762  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
763  * spreadsheet. More information of the definition and semantics of this type may be available in
764  * the Garmin FIT SDK.
765  *
766  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
767  */
768 enum class SportBits1 : quint8z {
769  Tennis = 0x01,
770  AmericanFootball = 0x02,
771  Training = 0x04,
772  Walking = 0x08,
773  CrossCountrySkiing = 0x10,
774  AlpineSkiing = 0x20,
775  Snowboarding = 0x40,
776  Rowing = 0x80,
777 };
778 
779 /*!
780  * Bit field corresponding to sport enum type (1 << (sport-16)).
781  *
782  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
783  * spreadsheet. More information of the definition and semantics of this type may be available in
784  * the Garmin FIT SDK.
785  *
786  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
787  */
788 enum class SportBits2 : quint8z {
789  Mountaineering = 0x01,
790  Hiking = 0x02,
791  Multisport = 0x04,
792  Paddling = 0x08,
793  Flying = 0x10,
794  EBiking = 0x20,
795  Motorcycling = 0x40,
796  Boating = 0x80,
797 };
798 
799 /*!
800  * Bit field corresponding to sport enum type (1 << (sport-24)).
801  *
802  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
803  * spreadsheet. More information of the definition and semantics of this type may be available in
804  * the Garmin FIT SDK.
805  *
806  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
807  */
808 enum class SportBits3 : quint8z {
809  Driving = 0x01,
810  Golf = 0x02,
811  HangGliding = 0x04,
812  HorsebackRiding = 0x08,
813  Hunting = 0x10,
814  Fishing = 0x20,
815  InlineSkating = 0x40,
816  RockClimbing = 0x80,
817 };
818 
819 /*!
820  * Bit field corresponding to sport enum type (1 << (sport-32)).
821  *
822  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
823  * spreadsheet. More information of the definition and semantics of this type may be available in
824  * the Garmin FIT SDK.
825  *
826  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
827  */
828 enum class SportBits4 : quint8z {
829  Sailing = 0x01,
830  IceSkating = 0x02,
831  SkyDiving = 0x04,
832  Snowshoeing = 0x08,
833  Snowmobiling = 0x10,
834  StandUpPaddleboarding = 0x20,
835  Surfing = 0x40,
836  Wakeboarding = 0x80,
837 };
838 
839 /*!
840  * Bit field corresponding to sport enum type (1 << (sport-40)).
841  *
842  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
843  * spreadsheet. More information of the definition and semantics of this type may be available in
844  * the Garmin FIT SDK.
845  *
846  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
847  */
848 enum class SportBits5 : quint8z {
849  WaterSkiing = 0x01,
850  Kayaking = 0x02,
851  Rafting = 0x04,
852  Windsurfing = 0x08,
853  Kitesurfing = 0x10,
854  Tactical = 0x20,
855  Jumpmaster = 0x40,
856  Boxing = 0x80,
857 };
858 
859 /*!
860  * Bit field corresponding to sport enum type (1 << (sport-48)).
861  *
862  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
863  * spreadsheet. More information of the definition and semantics of this type may be available in
864  * the Garmin FIT SDK.
865  *
866  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
867  */
868 enum class SportBits6 : quint8z {
869  FloorClimbing = 0x01,
870 };
871 
872 /*!
873  * Garmin FIT SubSport type.
874  *
875  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
876  * spreadsheet. More information of the definition and semantics of this type may be available in
877  * the Garmin FIT SDK.
878  *
879  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
880  */
881 enum class SubSport {
882  Generic = 0,
883  Treadmill = 1, ///< Run/Fitness Equipment
884  Street = 2, ///< Run
885  Trail = 3, ///< Run
886  Track = 4, ///< Run
887  Spin = 5, ///< Cycling
888  IndoorCycling = 6, ///< Cycling/Fitness Equipment
889  Road = 7, ///< Cycling
890  Mountain = 8, ///< Cycling
891  Downhill = 9, ///< Cycling
892  Recumbent = 10, ///< Cycling
893  Cyclocross = 11, ///< Cycling
894  HandCycling = 12, ///< Cycling
895  TrackCycling = 13, ///< Cycling
896  IndoorRowing = 14, ///< Fitness Equipment
897  Elliptical = 15, ///< Fitness Equipment
898  StairClimbing = 16, ///< Fitness Equipment
899  LapSwimming = 17, ///< Swimming
900  OpenWater = 18, ///< Swimming
901  FlexibilityTraining = 19, ///< Training
902  StrengthTraining = 20, ///< Training
903  WarmUp = 21, ///< Tennis
904  Match = 22, ///< Tennis
905  Exercise = 23, ///< Tennis
906  Challenge = 24,
907  IndoorSkiing = 25, ///< Fitness Equipment
908  CardioTraining = 26, ///< Training
909  IndoorWalking = 27, ///< Walking/Fitness Equipment
910  EBikeFitness = 28, ///< E-Biking
911  Bmx = 29, ///< Cycling
912  CasualWalking = 30, ///< Walking
913  SpeedWalking = 31, ///< Walking
914  BikeToRunTransition = 32, ///< Transition
915  RunToBikeTransition = 33, ///< Transition
916  SwimToBikeTransition = 34, ///< Transition
917  Atv = 35, ///< Motorcycling
918  Motocross = 36, ///< Motorcycling
919  Backcountry = 37, ///< Alpine Skiing/Snowboarding
920  Resort = 38, ///< Alpine Skiing/Snowboarding
921  RcDrone = 39, ///< Flying
922  Wingsuit = 40, ///< Flying
923  Whitewater = 41, ///< Kayaking/Rafting
924  SkateSkiing = 42, ///< Cross Country Skiing
925  Yoga = 43, ///< Training
926  Pilates = 44, ///< Fitness Equipment
927  IndoorRunning = 45, ///< Run
928  GravelCycling = 46, ///< Cycling
929  EBikeMountain = 47, ///< Cycling
930  Commuting = 48, ///< Cycling
931  MixedSurface = 49, ///< Cycling
932  Navigate = 50,
933  TrackMe = 51,
934  Map = 52,
935  SingleGasDiving = 53, ///< Diving
936  MultiGasDiving = 54, ///< Diving
937  GaugeDiving = 55, ///< Diving
938  ApneaDiving = 56, ///< Diving
939  ApneaHunting = 57, ///< Diving
940  VirtualActivity = 58,
941  Obstacle = 59, ///< Used for events where participants run, crawl through mud, climb over walls, etc.
942  Breathing = 62,
943  SailRace = 65, ///< Sailing
944  Ultra = 67, ///< Ultramarathon
945  IndoorClimbing = 68, ///< Climbing
946  Bouldering = 69, ///< Climbing
947  All = 254,
948 };
949 
950 /*!
951  * Garmin FIT SportEvent type.
952  *
953  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
954  * spreadsheet. More information of the definition and semantics of this type may be available in
955  * the Garmin FIT SDK.
956  *
957  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
958  */
959 enum class SportEvent {
960  Uncategorized = 0,
961  Geocaching = 1,
962  Fitness = 2,
963  Recreation = 3,
964  Race = 4,
965  SpecialEvent = 5,
966  Training = 6,
967  Transportation = 7,
968  Touring = 8,
969 };
970 
971 /*!
972  * Garmin FIT Activity type.
973  *
974  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
975  * spreadsheet. More information of the definition and semantics of this type may be available in
976  * the Garmin FIT SDK.
977  *
978  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
979  */
980 enum class Activity {
981  Manual = 0,
982  AutoMultiSport = 1,
983 };
984 
985 /*!
986  * Garmin FIT Intensity type.
987  *
988  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
989  * spreadsheet. More information of the definition and semantics of this type may be available in
990  * the Garmin FIT SDK.
991  *
992  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
993  */
994 enum class Intensity {
995  Active = 0,
996  Rest = 1,
997  Warmup = 2,
998  Cooldown = 3,
999  Recovery = 4,
1000  Interval = 5,
1001  Other = 6,
1002 };
1003 
1004 /*!
1005  * Garmin FIT SessionTrigger type.
1006  *
1007  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1008  * spreadsheet. More information of the definition and semantics of this type may be available in
1009  * the Garmin FIT SDK.
1010  *
1011  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1012  */
1013 enum class SessionTrigger {
1014  ActivityEnd = 0,
1015  Manual = 1, ///< User changed sport.
1016  AutoMultiSport = 2, ///< Auto multi-sport feature is enabled and user pressed lap button to advance session.
1017  FitnessEquipment = 3, ///< Auto sport change caused by user linking to fitness equipment.
1018 };
1019 
1020 /*!
1021  * Garmin FIT AutolapTrigger type.
1022  *
1023  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1024  * spreadsheet. More information of the definition and semantics of this type may be available in
1025  * the Garmin FIT SDK.
1026  *
1027  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1028  */
1029 enum class AutolapTrigger {
1030  Time = 0,
1031  Distance = 1,
1032  PositionStart = 2,
1033  PositionLap = 3,
1034  PositionWaypoint = 4,
1035  PositionMarked = 5,
1036  Off = 6,
1037 };
1038 
1039 /*!
1040  * Garmin FIT LapTrigger type.
1041  *
1042  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1043  * spreadsheet. More information of the definition and semantics of this type may be available in
1044  * the Garmin FIT SDK.
1045  *
1046  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1047  */
1048 enum class LapTrigger {
1049  Manual = 0,
1050  Time = 1,
1051  Distance = 2,
1052  PositionStart = 3,
1053  PositionLap = 4,
1054  PositionWaypoint = 5,
1055  PositionMarked = 6,
1056  SessionEnd = 7,
1057  FitnessEquipment = 8,
1058 };
1059 
1060 /*!
1061  * Garmin FIT TimeMode type.
1062  *
1063  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1064  * spreadsheet. More information of the definition and semantics of this type may be available in
1065  * the Garmin FIT SDK.
1066  *
1067  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1068  */
1069 enum class TimeMode {
1070  Hour12 = 0,
1071  Hour24 = 1, ///< Does not use a leading zero and has a colon
1072  Military = 2, ///< Uses a leading zero and does not have a colon
1073  Hour12WithSeconds = 3,
1074  Hour24WithSeconds = 4,
1075  Utc = 5,
1076 };
1077 
1078 /*!
1079  * Garmin FIT BacklightMode type.
1080  *
1081  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1082  * spreadsheet. More information of the definition and semantics of this type may be available in
1083  * the Garmin FIT SDK.
1084  *
1085  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1086  */
1087 enum class BacklightMode {
1088  Off = 0,
1089  Manual = 1,
1090  KeyAndMessages = 2,
1091  AutoBrightness = 3,
1092  SmartNotifications = 4,
1093  KeyAndMessagesNight = 5,
1094  KeyAndMessagesAndSmartNotifications = 6,
1095 };
1096 
1097 /*!
1098  * Garmin FIT DateMode type.
1099  *
1100  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1101  * spreadsheet. More information of the definition and semantics of this type may be available in
1102  * the Garmin FIT SDK.
1103  *
1104  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1105  */
1106 enum class DateMode {
1107  DayMonth = 0,
1108  MonthDay = 1,
1109 };
1110 
1111 /*!
1112  * Timeout in seconds.
1113  *
1114  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1115  * spreadsheet. More information of the definition and semantics of this type may be available in
1116  * the Garmin FIT SDK.
1117  *
1118  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1119  */
1120 enum class BacklightTimeout : quint8 {
1121  Infinite = 0, ///< Backlight stays on forever.
1122 };
1123 
1124 /*!
1125  * Garmin FIT Event type.
1126  *
1127  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1128  * spreadsheet. More information of the definition and semantics of this type may be available in
1129  * the Garmin FIT SDK.
1130  *
1131  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1132  */
1133 enum class Event {
1134  Timer = 0, ///< Group 0. Start / stop_all
1135  Workout = 3, ///< start / stop
1136  WorkoutStep = 4, ///< Start at beginning of workout. Stop at end of each step.
1137  PowerDown = 5, ///< stop_all group 0
1138  PowerUp = 6, ///< stop_all group 0
1139  OffCourse = 7, ///< start / stop group 0
1140  Session = 8, ///< Stop at end of each session.
1141  Lap = 9, ///< Stop at end of each lap.
1142  CoursePoint = 10, ///< marker
1143  Battery = 11, ///< marker
1144  VirtualPartnerPace = 12, ///< Group 1. Start at beginning of activity if VP enabled, when VP pace is changed during activity or VP enabled mid activity. stop_disable when VP disabled.
1145  HrHighAlert = 13, ///< Group 0. Start / stop when in alert condition.
1146  HrLowAlert = 14, ///< Group 0. Start / stop when in alert condition.
1147  SpeedHighAlert = 15, ///< Group 0. Start / stop when in alert condition.
1148  SpeedLowAlert = 16, ///< Group 0. Start / stop when in alert condition.
1149  CadHighAlert = 17, ///< Group 0. Start / stop when in alert condition.
1150  CadLowAlert = 18, ///< Group 0. Start / stop when in alert condition.
1151  PowerHighAlert = 19, ///< Group 0. Start / stop when in alert condition.
1152  PowerLowAlert = 20, ///< Group 0. Start / stop when in alert condition.
1153  RecoveryHr = 21, ///< marker
1154  BatteryLow = 22, ///< marker
1155  TimeDurationAlert = 23, ///< Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is reached. stop_disable if disabled.
1156  DistanceDurationAlert = 24, ///< Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is reached. stop_disable if disabled.
1157  CalorieDurationAlert = 25, ///< Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is reached. stop_disable if disabled.
1158  Activity = 26, ///< Group 1.. Stop at end of activity.
1159  FitnessEquipment = 27, ///< marker
1160  Length = 28, ///< Stop at end of each length.
1161  UserMarker = 32, ///< marker
1162  SportPoint = 33, ///< marker
1163  Calibration = 36, ///< start/stop/marker
1164  FrontGearChange = 42, ///< marker
1165  RearGearChange = 43, ///< marker
1166  RiderPositionChange = 44, ///< marker
1167  ElevHighAlert = 45, ///< Group 0. Start / stop when in alert condition.
1168  ElevLowAlert = 46, ///< Group 0. Start / stop when in alert condition.
1169  CommTimeout = 47, ///< marker
1170  RadarThreatAlert = 75, ///< start/stop/marker
1171 };
1172 
1173 /*!
1174  * Garmin FIT EventType type.
1175  *
1176  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1177  * spreadsheet. More information of the definition and semantics of this type may be available in
1178  * the Garmin FIT SDK.
1179  *
1180  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1181  */
1182 enum class EventType {
1183  Start = 0,
1184  Stop = 1,
1185  ConsecutiveDepreciated = 2,
1186  Marker = 3,
1187  StopAll = 4,
1188  BeginDepreciated = 5,
1189  EndDepreciated = 6,
1190  EndAllDepreciated = 7,
1191  StopDisable = 8,
1192  StopDisableAll = 9,
1193 };
1194 
1195 /*!
1196  * Timer event data
1197  *
1198  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1199  * spreadsheet. More information of the definition and semantics of this type may be available in
1200  * the Garmin FIT SDK.
1201  *
1202  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1203  */
1204 enum class TimerTrigger {
1205  Manual = 0,
1206  Auto = 1,
1207  FitnessEquipment = 2,
1208 };
1209 
1210 /*!
1211  * Fitness equipment event data
1212  *
1213  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1214  * spreadsheet. More information of the definition and semantics of this type may be available in
1215  * the Garmin FIT SDK.
1216  *
1217  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1218  */
1220  Ready = 0,
1221  InUse = 1,
1222  Paused = 2,
1223  Unknown = 3, ///< lost connection to fitness equipment
1224 };
1225 
1226 /*!
1227  * Garmin FIT Tone type.
1228  *
1229  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1230  * spreadsheet. More information of the definition and semantics of this type may be available in
1231  * the Garmin FIT SDK.
1232  *
1233  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1234  */
1235 enum class Tone {
1236  Off = 0,
1237  Tone = 1,
1238  Vibrate = 2,
1239  ToneAndVibrate = 3,
1240 };
1241 
1242 /*!
1243  * Garmin FIT Autoscroll type.
1244  *
1245  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1246  * spreadsheet. More information of the definition and semantics of this type may be available in
1247  * the Garmin FIT SDK.
1248  *
1249  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1250  */
1251 enum class Autoscroll {
1252  None = 0,
1253  Slow = 1,
1254  Medium = 2,
1255  Fast = 3,
1256 };
1257 
1258 /*!
1259  * Garmin FIT ActivityClass type.
1260  *
1261  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1262  * spreadsheet. More information of the definition and semantics of this type may be available in
1263  * the Garmin FIT SDK.
1264  *
1265  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1266  */
1267 enum class ActivityClass {
1268  Level = 0x7F, ///< 0 to 100
1269  LevelMax = 100,
1270  Athlete = 0x80,
1271 };
1272 
1273 /*!
1274  * Garmin FIT HrZoneCalc type.
1275  *
1276  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1277  * spreadsheet. More information of the definition and semantics of this type may be available in
1278  * the Garmin FIT SDK.
1279  *
1280  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1281  */
1282 enum class HrZoneCalc {
1283  Custom = 0,
1284  PercentMaxHr = 1,
1285  PercentHrr = 2,
1286 };
1287 
1288 /*!
1289  * Garmin FIT PwrZoneCalc type.
1290  *
1291  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1292  * spreadsheet. More information of the definition and semantics of this type may be available in
1293  * the Garmin FIT SDK.
1294  *
1295  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1296  */
1297 enum class PwrZoneCalc {
1298  Custom = 0,
1299  PercentFtp = 1,
1300 };
1301 
1302 /*!
1303  * Garmin FIT WktStepDuration type.
1304  *
1305  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1306  * spreadsheet. More information of the definition and semantics of this type may be available in
1307  * the Garmin FIT SDK.
1308  *
1309  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1310  */
1311 enum class WktStepDuration {
1312  Time = 0,
1313  Distance = 1,
1314  HrLessThan = 2,
1315  HrGreaterThan = 3,
1316  Calories = 4,
1317  Open = 5,
1318  RepeatUntilStepsCmplt = 6,
1319  RepeatUntilTime = 7,
1320  RepeatUntilDistance = 8,
1321  RepeatUntilCalories = 9,
1322  RepeatUntilHrLessThan = 10,
1323  RepeatUntilHrGreaterThan = 11,
1324  RepeatUntilPowerLessThan = 12,
1325  RepeatUntilPowerGreaterThan = 13,
1326  PowerLessThan = 14,
1327  PowerGreaterThan = 15,
1328  TrainingPeaksTss = 16,
1329  RepeatUntilPowerLastLapLessThan = 17,
1330  RepeatUntilMaxPowerLastLapLessThan = 18,
1331  Power3sLessThan = 19,
1332  Power10sLessThan = 20,
1333  Power30sLessThan = 21,
1334  Power3sGreaterThan = 22,
1335  Power10sGreaterThan = 23,
1336  Power30sGreaterThan = 24,
1337  PowerLapLessThan = 25,
1338  PowerLapGreaterThan = 26,
1339  RepeatUntilTrainingPeaksTss = 27,
1340  RepetitionTime = 28,
1341  Reps = 29,
1342  TimeOnly = 31,
1343 };
1344 
1345 /*!
1346  * Garmin FIT WktStepTarget type.
1347  *
1348  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1349  * spreadsheet. More information of the definition and semantics of this type may be available in
1350  * the Garmin FIT SDK.
1351  *
1352  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1353  */
1354 enum class WktStepTarget {
1355  Speed = 0,
1356  HeartRate = 1,
1357  Open = 2,
1358  Cadence = 3,
1359  Power = 4,
1360  Grade = 5,
1361  Resistance = 6,
1362  Power3s = 7,
1363  Power10s = 8,
1364  Power30s = 9,
1365  PowerLap = 10,
1366  SwimStroke = 11,
1367  SpeedLap = 12,
1368  HeartRateLap = 13,
1369 };
1370 
1371 /*!
1372  * Garmin FIT Goal type.
1373  *
1374  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1375  * spreadsheet. More information of the definition and semantics of this type may be available in
1376  * the Garmin FIT SDK.
1377  *
1378  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1379  */
1380 enum class Goal {
1381  Time = 0,
1382  Distance = 1,
1383  Calories = 2,
1384  Frequency = 3,
1385  Steps = 4,
1386  Ascent = 5,
1387  ActiveMinutes = 6,
1388 };
1389 
1390 /*!
1391  * Garmin FIT GoalRecurrence type.
1392  *
1393  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1394  * spreadsheet. More information of the definition and semantics of this type may be available in
1395  * the Garmin FIT SDK.
1396  *
1397  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1398  */
1399 enum class GoalRecurrence {
1400  Off = 0,
1401  Daily = 1,
1402  Weekly = 2,
1403  Monthly = 3,
1404  Yearly = 4,
1405  Custom = 5,
1406 };
1407 
1408 /*!
1409  * Garmin FIT GoalSource type.
1410  *
1411  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1412  * spreadsheet. More information of the definition and semantics of this type may be available in
1413  * the Garmin FIT SDK.
1414  *
1415  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1416  */
1417 enum class GoalSource {
1418  Auto = 0, ///< Device generated
1419  Community = 1, ///< Social network sourced goal
1420  User = 2, ///< Manually generated
1421 };
1422 
1423 /*!
1424  * Garmin FIT Schedule type.
1425  *
1426  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1427  * spreadsheet. More information of the definition and semantics of this type may be available in
1428  * the Garmin FIT SDK.
1429  *
1430  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1431  */
1432 enum class Schedule {
1433  Workout = 0,
1434  Course = 1,
1435 };
1436 
1437 /*!
1438  * Garmin FIT CoursePoint type.
1439  *
1440  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1441  * spreadsheet. More information of the definition and semantics of this type may be available in
1442  * the Garmin FIT SDK.
1443  *
1444  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1445  */
1446 enum class CoursePoint {
1447  Generic = 0,
1448  Summit = 1,
1449  Valley = 2,
1450  Water = 3,
1451  Food = 4,
1452  Danger = 5,
1453  Left = 6,
1454  Right = 7,
1455  Straight = 8,
1456  FirstAid = 9,
1457  FourthCategory = 10,
1458  ThirdCategory = 11,
1459  SecondCategory = 12,
1460  FirstCategory = 13,
1461  HorsCategory = 14,
1462  Sprint = 15,
1463  LeftFork = 16,
1464  RightFork = 17,
1465  MiddleFork = 18,
1466  SlightLeft = 19,
1467  SharpLeft = 20,
1468  SlightRight = 21,
1469  SharpRight = 22,
1470  UTurn = 23,
1471  SegmentStart = 24,
1472  SegmentEnd = 25,
1473 };
1474 
1475 /*!
1476  * Garmin FIT Manufacturer type.
1477  *
1478  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1479  * spreadsheet. More information of the definition and semantics of this type may be available in
1480  * the Garmin FIT SDK.
1481  *
1482  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1483  */
1484 enum class Manufacturer : quint16 {
1485  Garmin = 1,
1486  GarminFr405Antfs = 2, ///< Do not use. Used by FR405 for ANTFS man id.
1487  Zephyr = 3,
1488  Dayton = 4,
1489  Idt = 5,
1490  Srm = 6,
1491  Quarq = 7,
1492  Ibike = 8,
1493  Saris = 9,
1494  SparkHk = 10,
1495  Tanita = 11,
1496  Echowell = 12,
1497  DynastreamOem = 13,
1498  Nautilus = 14,
1499  Dynastream = 15,
1500  Timex = 16,
1501  Metrigear = 17,
1502  Xelic = 18,
1503  Beurer = 19,
1504  Cardiosport = 20,
1505  AAndD = 21,
1506  Hmm = 22,
1507  Suunto = 23,
1508  ThitaElektronik = 24,
1509  Gpulse = 25,
1510  CleanMobile = 26,
1511  PedalBrain = 27,
1512  Peaksware = 28,
1513  Saxonar = 29,
1514  LemondFitness = 30,
1515  Dexcom = 31,
1516  WahooFitness = 32,
1517  OctaneFitness = 33,
1518  Archinoetics = 34,
1519  TheHurtBox = 35,
1520  CitizenSystems = 36,
1521  Magellan = 37,
1522  Osynce = 38,
1523  Holux = 39,
1524  Concept2 = 40,
1525  Shimano = 41,
1526  OneGiantLeap = 42,
1527  AceSensor = 43,
1528  BrimBrothers = 44,
1529  Xplova = 45,
1530  PerceptionDigital = 46,
1531  Bf1systems = 47,
1532  Pioneer = 48,
1533  Spantec = 49,
1534  Metalogics = 50,
1535  Fouriiiis = 51,
1536  SeikoEpson = 52,
1537  SeikoEpsonOem = 53,
1538  IforPowell = 54,
1539  MaxwellGuider = 55,
1540  StarTrac = 56,
1541  Breakaway = 57,
1542  AlatechTechnologyLtd = 58,
1543  MioTechnologyEurope = 59,
1544  Rotor = 60,
1545  Geonaute = 61,
1546  IdBike = 62,
1547  Specialized = 63,
1548  Wtek = 64,
1549  PhysicalEnterprises = 65,
1550  NorthPoleEngineering = 66,
1551  Bkool = 67,
1552  Cateye = 68,
1553  StagesCycling = 69,
1554  Sigmasport = 70,
1555  Tomtom = 71,
1556  Peripedal = 72,
1557  Wattbike = 73,
1558  Moxy = 76,
1559  Ciclosport = 77,
1560  Powerbahn = 78,
1561  AcornProjectsAps = 79,
1562  Lifebeam = 80,
1563  Bontrager = 81,
1564  Wellgo = 82,
1565  Scosche = 83,
1566  Magura = 84,
1567  Woodway = 85,
1568  Elite = 86,
1569  NielsenKellerman = 87,
1570  DkCity = 88,
1571  Tacx = 89,
1572  DirectionTechnology = 90,
1573  Magtonic = 91,
1574  Onepartcarbon = 92,
1575  InsideRideTechnologies = 93,
1576  SoundOfMotion = 94,
1577  Stryd = 95,
1578  Icg = 96, ///< Indoorcycling Group
1579  Mipulse = 97,
1580  BsxAthletics = 98,
1581  Look = 99,
1582  CampagnoloSrl = 100,
1583  BodyBikeSmart = 101,
1584  Praxisworks = 102,
1585  LimitsTechnology = 103, ///< Limits Technology Ltd.
1586  TopactionTechnology = 104, ///< TopAction Technology Inc.
1587  Cosinuss = 105,
1588  Fitcare = 106,
1589  Magene = 107,
1590  GiantManufacturingCo = 108,
1591  Tigrasport = 109, ///< Tigrasport
1592  Salutron = 110,
1593  Technogym = 111,
1594  BrytonSensors = 112,
1595  LatitudeLimited = 113,
1596  SoaringTechnology = 114,
1597  Igpsport = 115,
1598  Thinkrider = 116,
1599  GopherSport = 117,
1600  Waterrower = 118,
1601  Orangetheory = 119,
1602  Inpeak = 120,
1603  Kinetic = 121,
1604  JohnsonHealthTech = 122,
1605  PolarElectro = 123,
1606  Seesense = 124,
1607  NciTechnology = 125,
1608  Iqsquare = 126,
1609  Leomo = 127,
1610  IfitCom = 128,
1611  CorosByte = 129,
1612  VersaDesign = 130,
1613  Chileaf = 131,
1614  Cycplus = 132,
1615  GravaaByte = 133,
1616  Sigeyi = 134,
1617  Coospo = 135,
1618  Geoid = 136,
1619  Development = 255,
1620  Healthandlife = 257,
1621  Lezyne = 258,
1622  ScribeLabs = 259,
1623  Zwift = 260,
1624  Watteam = 261,
1625  Recon = 262,
1626  FaveroElectronics = 263,
1627  Dynovelo = 264,
1628  Strava = 265,
1629  Precor = 266, ///< Amer Sports
1630  Bryton = 267,
1631  Sram = 268,
1632  Navman = 269, ///< MiTAC Global Corporation (Mio Technology)
1633  Cobi = 270, ///< COBI GmbH
1634  Spivi = 271,
1635  MioMagellan = 272,
1636  Evesports = 273,
1637  SensitivusGauge = 274,
1638  Podoon = 275,
1639  LifeTimeFitness = 276,
1640  FalcoEMotors = 277, ///< Falco eMotors Inc.
1641  Minoura = 278,
1642  Cycliq = 279,
1643  Luxottica = 280,
1644  TrainerRoad = 281,
1645  TheSufferfest = 282,
1646  Fullspeedahead = 283,
1647  Virtualtraining = 284,
1648  Feedbacksports = 285,
1649  Omata = 286,
1650  Vdo = 287,
1651  Magneticdays = 288,
1652  Hammerhead = 289,
1653  KineticByKurt = 290,
1654  Shapelog = 291,
1655  Dabuziduo = 292,
1656  Jetblack = 293,
1657  Coros = 294,
1658  Virtugo = 295,
1659  Velosense = 296,
1660  Cycligentinc = 297,
1661  Trailforks = 298,
1662  MahleEbikemotion = 299,
1663  Nurvv = 300,
1664  Microprogram = 301,
1665  Zone5cloud = 302,
1666  Greenteg = 303,
1667  YamahaMotors = 304,
1668  Whoop = 305,
1669  Gravaa = 306,
1670  Onelap = 307,
1671  MonarkExercise = 308,
1672  Form = 309,
1673  Decathlon = 310,
1674  Syncros = 311,
1675  Actigraphcorp = 5759,
1676 };
1677 
1678 /*!
1679  * Garmin FIT GarminProduct type.
1680  *
1681  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
1682  * spreadsheet. More information of the definition and semantics of this type may be available in
1683  * the Garmin FIT SDK.
1684  *
1685  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
1686  */
1687 enum class GarminProduct : quint16 {
1688  Hrm1 = 1,
1689  Axh01 = 2, ///< AXH01 HRM chipset
1690  Axb01 = 3,
1691  Axb02 = 4,
1692  Hrm2ss = 5,
1693  DsiAlf02 = 6,
1694  Hrm3ss = 7,
1695  HrmRunSingleByteProductId = 8, ///< hrm_run model for HRM ANT+ messaging
1696  Bsm = 9, ///< BSM model for ANT+ messaging
1697  Bcm = 10, ///< BCM model for ANT+ messaging
1698  Axs01 = 11, ///< AXS01 HRM Bike Chipset model for ANT+ messaging
1699  HrmTriSingleByteProductId = 12, ///< hrm_tri model for HRM ANT+ messaging
1700  Hrm4RunSingleByteProductId = 13, ///< hrm4 run model for HRM ANT+ messaging
1701  Fr225SingleByteProductId = 14, ///< fr225 model for HRM ANT+ messaging
1702  Gen3BsmSingleByteProductId = 15, ///< gen3_bsm model for Bike Speed ANT+ messaging
1703  Gen3BcmSingleByteProductId = 16, ///< gen3_bcm model for Bike Cadence ANT+ messaging
1704  Fr301China = 473,
1705  Fr301Japan = 474,
1706  Fr301Korea = 475,
1707  Fr301Taiwan = 494,
1708  Fr405 = 717, ///< Forerunner 405
1709  Fr50 = 782, ///< Forerunner 50
1710  Fr405Japan = 987,
1711  Fr60 = 988, ///< Forerunner 60
1712  DsiAlf01 = 1011,
1713  Fr310xt = 1018, ///< Forerunner 310
1714  Edge500 = 1036,
1715  Fr110 = 1124, ///< Forerunner 110
1716  Edge800 = 1169,
1717  Edge500Taiwan = 1199,
1718  Edge500Japan = 1213,
1719  Chirp = 1253,
1720  Fr110Japan = 1274,
1721  Edge200 = 1325,
1722  Fr910xt = 1328,
1723  Edge800Taiwan = 1333,
1724  Edge800Japan = 1334,
1725  Alf04 = 1341,
1726  Fr610 = 1345,
1727  Fr210Japan = 1360,
1728  VectorSs = 1380,
1729  VectorCp = 1381,
1730  Edge800China = 1386,
1731  Edge500China = 1387,
1732  ApproachG10 = 1405,
1733  Fr610Japan = 1410,
1734  Edge500Korea = 1422,
1735  Fr70 = 1436,
1736  Fr310xt4t = 1446,
1737  Amx = 1461,
1738  Fr10 = 1482,
1739  Edge800Korea = 1497,
1740  Swim = 1499,
1741  Fr910xtChina = 1537,
1742  Fenix = 1551,
1743  Edge200Taiwan = 1555,
1744  Edge510 = 1561,
1745  Edge810 = 1567,
1746  Tempe = 1570,
1747  Fr910xtJapan = 1600,
1748  Fr620 = 1623,
1749  Fr220 = 1632,
1750  Fr910xtKorea = 1664,
1751  Fr10Japan = 1688,
1752  Edge810Japan = 1721,
1753  VirbElite = 1735,
1754  EdgeTouring = 1736, ///< Also Edge Touring Plus
1755  Edge510Japan = 1742,
1756  HrmTri = 1743, ///< Also HRM-Swim
1757  HrmRun = 1752,
1758  Fr920xt = 1765,
1759  Edge510Asia = 1821,
1760  Edge810China = 1822,
1761  Edge810Taiwan = 1823,
1762  Edge1000 = 1836,
1763  VivoFit = 1837,
1764  VirbRemote = 1853,
1765  VivoKi = 1885,
1766  Fr15 = 1903,
1767  VivoActive = 1907,
1768  Edge510Korea = 1918,
1769  Fr620Japan = 1928,
1770  Fr620China = 1929,
1771  Fr220Japan = 1930,
1772  Fr220China = 1931,
1773  ApproachS6 = 1936,
1774  VivoSmart = 1956,
1775  Fenix2 = 1967,
1776  Epix = 1988,
1777  Fenix3 = 2050,
1778  Edge1000Taiwan = 2052,
1779  Edge1000Japan = 2053,
1780  Fr15Japan = 2061,
1781  Edge520 = 2067,
1782  Edge1000China = 2070,
1783  Fr620Russia = 2072,
1784  Fr220Russia = 2073,
1785  VectorS = 2079,
1786  Edge1000Korea = 2100,
1787  Fr920xtTaiwan = 2130,
1788  Fr920xtChina = 2131,
1789  Fr920xtJapan = 2132,
1790  Virbx = 2134,
1791  VivoSmartApac = 2135,
1792  EtrexTouch = 2140,
1793  Edge25 = 2147,
1794  Fr25 = 2148,
1795  VivoFit2 = 2150,
1796  Fr225 = 2153,
1797  Fr630 = 2156,
1798  Fr230 = 2157,
1799  Fr735xt = 2158,
1800  VivoActiveApac = 2160,
1801  Vector2 = 2161,
1802  Vector2s = 2162,
1803  Virbxe = 2172,
1804  Fr620Taiwan = 2173,
1805  Fr220Taiwan = 2174,
1806  Truswing = 2175,
1807  D2airvenu = 2187,
1808  Fenix3China = 2188,
1809  Fenix3Twn = 2189,
1810  VariaHeadlight = 2192,
1811  VariaTaillightOld = 2193,
1812  EdgeExplore1000 = 2204,
1813  Fr225Asia = 2219,
1814  VariaRadarTaillight = 2225,
1815  VariaRadarDisplay = 2226,
1816  Edge20 = 2238,
1817  Edge520Asia = 2260,
1818  Edge520Japan = 2261,
1819  D2Bravo = 2262,
1820  ApproachS20 = 2266,
1821  VivoSmart2 = 2271,
1822  Edge1000Thai = 2274,
1823  VariaRemote = 2276,
1824  Edge25Asia = 2288,
1825  Edge25Jpn = 2289,
1826  Edge20Asia = 2290,
1827  ApproachX40 = 2292,
1828  Fenix3Japan = 2293,
1829  VivoSmartEmea = 2294,
1830  Fr630Asia = 2310,
1831  Fr630Jpn = 2311,
1832  Fr230Jpn = 2313,
1833  Hrm4Run = 2327,
1834  EpixJapan = 2332,
1835  VivoActiveHr = 2337,
1836  VivoSmartGpsHr = 2347,
1837  VivoSmartHr = 2348,
1838  VivoSmartHrAsia = 2361,
1839  VivoSmartGpsHrAsia = 2362,
1840  VivoMove = 2368,
1841  VariaTaillight = 2379,
1842  Fr235Asia = 2396,
1843  Fr235Japan = 2397,
1844  VariaVision = 2398,
1845  VivoFit3 = 2406,
1846  Fenix3Korea = 2407,
1847  Fenix3Sea = 2408,
1848  Fenix3Hr = 2413,
1849  VirbUltra30 = 2417,
1850  IndexSmartScale = 2429,
1851  Fr235 = 2431,
1852  Fenix3Chronos = 2432,
1853  Oregon7xx = 2441,
1854  Rino7xx = 2444,
1855  EpixKorea = 2457,
1856  Fenix3HrChn = 2473,
1857  Fenix3HrTwn = 2474,
1858  Fenix3HrJpn = 2475,
1859  Fenix3HrSea = 2476,
1860  Fenix3HrKor = 2477,
1861  Nautix = 2496,
1862  VivoActiveHrApac = 2497,
1863  Oregon7xxWw = 2512,
1864  Edge820 = 2530,
1865  EdgeExplore820 = 2531,
1866  Fr735xtApac = 2533,
1867  Fr735xtJapan = 2534,
1868  Fenix5s = 2544,
1869  D2BravoTitanium = 2547,
1870  VariaUt800 = 2567, ///< Varia UT 800 SW
1871  RunningDynamicsPod = 2593,
1872  Edge820China = 2599,
1873  Edge820Japan = 2600,
1874  Fenix5x = 2604,
1875  VivoFitJr = 2606,
1876  VivoSmart3 = 2622,
1877  VivoSport = 2623,
1878  Edge820Taiwan = 2628,
1879  Edge820Korea = 2629,
1880  Edge820Sea = 2630,
1881  Fr35Hebrew = 2650,
1882  ApproachS60 = 2656,
1883  Fr35Apac = 2667,
1884  Fr35Japan = 2668,
1885  Fenix3ChronosAsia = 2675,
1886  Virb360 = 2687,
1887  Fr935 = 2691,
1888  Fenix5 = 2697,
1889  Vivoactive3 = 2700,
1890  Fr235ChinaNfc = 2733,
1891  Foretrex601701 = 2769,
1892  VivoMoveHr = 2772,
1893  Edge1030 = 2713,
1894  Vector3 = 2787,
1895  Fenix5Asia = 2796,
1896  Fenix5sAsia = 2797,
1897  Fenix5xAsia = 2798,
1898  ApproachZ80 = 2806,
1899  Fr35Korea = 2814,
1900  D2charlie = 2819,
1901  VivoSmart3Apac = 2831,
1902  VivoSportApac = 2832,
1903  Fr935Asia = 2833,
1904  Descent = 2859,
1905  VivoFit4 = 2878,
1906  Fr645 = 2886,
1907  Fr645m = 2888,
1908  Fr30 = 2891,
1909  Fenix5sPlus = 2900,
1910  Edge130 = 2909,
1911  Edge1030Asia = 2924,
1912  Vivosmart4 = 2927,
1913  VivoMoveHrAsia = 2945,
1914  ApproachX10 = 2962,
1915  Fr30Asia = 2977,
1916  Vivoactive3mW = 2988,
1917  Fr645Asia = 3003,
1918  Fr645mAsia = 3004,
1919  EdgeExplore = 3011,
1920  Gpsmap66 = 3028,
1921  ApproachS10 = 3049,
1922  Vivoactive3mL = 3066,
1923  ApproachG80 = 3085,
1924  Edge130Asia = 3092,
1925  Edge1030Bontrager = 3095,
1926  Fenix5Plus = 3110,
1927  Fenix5xPlus = 3111,
1928  Edge520Plus = 3112,
1929  Fr945 = 3113,
1930  Edge530 = 3121,
1931  Edge830 = 3122,
1932  InstinctEsports = 3126,
1933  Fenix5sPlusApac = 3134,
1934  Fenix5xPlusApac = 3135,
1935  Edge520PlusApac = 3142,
1936  Fr235lAsia = 3144,
1937  Fr245Asia = 3145,
1938  VivoActive3mApac = 3163,
1939  Gen3Bsm = 3192, ///< gen3 bike speed sensor
1940  Gen3Bcm = 3193, ///< gen3 bike cadence sensor
1941  VivoSmart4Asia = 3218,
1942  Vivoactive4Small = 3224,
1943  Vivoactive4Large = 3225,
1944  Venu = 3226,
1945  MarqDriver = 3246,
1946  MarqAviator = 3247,
1947  MarqCaptain = 3248,
1948  MarqCommander = 3249,
1949  MarqExpedition = 3250,
1950  MarqAthlete = 3251,
1951  DescentMk2 = 3258,
1952  Gpsmap66i = 3284,
1953  Fenix6sSport = 3287,
1954  Fenix6s = 3288,
1955  Fenix6Sport = 3289,
1956  Fenix6 = 3290,
1957  Fenix6x = 3291,
1958  HrmDual = 3299, ///< HRM-Dual
1959  HrmPro = 3300, ///< HRM-Pro
1960  VivoMove3Premium = 3308,
1961  ApproachS40 = 3314,
1962  Fr245mAsia = 3321,
1963  Edge530Apac = 3349,
1964  Edge830Apac = 3350,
1965  VivoMove3 = 3378,
1966  VivoActive4SmallAsia = 3387,
1967  VivoActive4LargeAsia = 3388,
1968  VivoActive4OledAsia = 3389,
1969  Swim2 = 3405,
1970  MarqDriverAsia = 3420,
1971  MarqAviatorAsia = 3421,
1972  VivoMove3Asia = 3422,
1973  Fr945Asia = 3441,
1974  VivoActive3tChn = 3446,
1975  MarqCaptainAsia = 3448,
1976  MarqCommanderAsia = 3449,
1977  MarqExpeditionAsia = 3450,
1978  MarqAthleteAsia = 3451,
1979  Fr45Asia = 3469,
1980  Vivoactive3Daimler = 3473,
1981  LegacyRey = 3498,
1982  LegacyDarthVader = 3499,
1983  LegacyCaptainMarvel = 3500,
1984  LegacyFirstAvenger = 3501,
1985  Fenix6sSportAsia = 3512,
1986  Fenix6sAsia = 3513,
1987  Fenix6SportAsia = 3514,
1988  Fenix6Asia = 3515,
1989  Fenix6xAsia = 3516,
1990  LegacyCaptainMarvelAsia = 3535,
1991  LegacyFirstAvengerAsia = 3536,
1992  LegacyReyAsia = 3537,
1993  LegacyDarthVaderAsia = 3538,
1994  DescentMk2s = 3542,
1995  Edge130Plus = 3558,
1996  Edge1030Plus = 3570,
1997  Rally200 = 3578, ///< Rally 100/200 Power Meter Series
1998  Fr745 = 3589,
1999  Venusq = 3600,
2000  Lily = 3615,
2001  MarqAdventurer = 3624,
2002  Enduro = 3638,
2003  Swim2Apac = 3639,
2004  MarqAdventurerAsia = 3648,
2005  Fr945Lte = 3652,
2006  DescentMk2Asia = 3702, ///< Mk2 and Mk2i
2007  Venu2 = 3703,
2008  Venu2s = 3704,
2009  VenuDaimlerAsia = 3737,
2010  MarqGolfer = 3739,
2011  VenuDaimler = 3740,
2012  Fr745Asia = 3794,
2013  LilyAsia = 3809,
2014  Edge1030PlusAsia = 3812,
2015  Edge130PlusAsia = 3813,
2016  ApproachS12 = 3823,
2017  EnduroAsia = 3872,
2018  VenusqAsia = 3837,
2019  MarqGolferAsia = 3850,
2020  Fr55 = 3869,
2021  ApproachG12 = 3927,
2022  DescentMk2sAsia = 3930,
2023  ApproachS42 = 3934,
2024  Venu2sAsia = 3949,
2025  Venu2Asia = 3950,
2026  Fr945LteAsia = 3978,
2027  ApproachS12Asia = 3986,
2028  ApproachG12Asia = 4001,
2029  ApproachS42Asia = 4002,
2030  Fr55Asia = 4033,
2031  Sdm4 = 10007, ///< SDM4 footpod
2032  EdgeRemote = 10014,
2033  TacxTrainingAppWin = 20533,
2034  TacxTrainingAppMac = 20534,
2035  TrainingCenter = 20119,
2036  TacxTrainingAppAndroid = 30045,
2037  TacxTrainingAppIos = 30046,
2038  TacxTrainingAppLegacy = 30047,
2039  ConnectiqSimulator = 65531,
2040  AndroidAntplusPlugin = 65532,
2041  Connect = 65534, ///< Garmin Connect website
2042 };
2043 
2044 /*!
2045  * Garmin FIT AntplusDeviceType type.
2046  *
2047  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2048  * spreadsheet. More information of the definition and semantics of this type may be available in
2049  * the Garmin FIT SDK.
2050  *
2051  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2052  */
2053 enum class AntplusDeviceType : quint8 {
2054  Antfs = 1,
2055  BikePower = 11,
2056  EnvironmentSensorLegacy = 12,
2057  MultiSportSpeedDistance = 15,
2058  Control = 16,
2059  FitnessEquipment = 17,
2060  BloodPressure = 18,
2061  GeocacheNode = 19,
2062  LightElectricVehicle = 20,
2063  EnvSensor = 25,
2064  Racquet = 26,
2065  ControlHub = 27,
2066  MuscleOxygen = 31,
2067  Shifting = 34,
2068  BikeLightMain = 35,
2069  BikeLightShared = 36,
2070  Exd = 38,
2071  BikeRadar = 40,
2072  BikeAero = 46,
2073  WeightScale = 119,
2074  HeartRate = 120,
2075  BikeSpeedCadence = 121,
2076  BikeCadence = 122,
2077  BikeSpeed = 123,
2078  StrideSpeedDistance = 124,
2079 };
2080 
2081 /*!
2082  * Garmin FIT AntNetwork type.
2083  *
2084  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2085  * spreadsheet. More information of the definition and semantics of this type may be available in
2086  * the Garmin FIT SDK.
2087  *
2088  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2089  */
2090 enum class AntNetwork {
2091  Public = 0,
2092  Antplus = 1,
2093  Antfs = 2,
2094  Private = 3,
2095 };
2096 
2097 /*!
2098  * Garmin FIT WorkoutCapabilities type.
2099  *
2100  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2101  * spreadsheet. More information of the definition and semantics of this type may be available in
2102  * the Garmin FIT SDK.
2103  *
2104  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2105  */
2107  Interval = 0x00000001,
2108  Custom = 0x00000002,
2109  FitnessEquipment = 0x00000004,
2110  Firstbeat = 0x00000008,
2111  NewLeaf = 0x00000010,
2112  Tcx = 0x00000020, ///< For backwards compatibility. Watch should add missing id fields then clear flag.
2113  Speed = 0x00000080, ///< Speed source required for workout step.
2114  HeartRate = 0x00000100, ///< Heart rate source required for workout step.
2115  Distance = 0x00000200, ///< Distance source required for workout step.
2116  Cadence = 0x00000400, ///< Cadence source required for workout step.
2117  Power = 0x00000800, ///< Power source required for workout step.
2118  Grade = 0x00001000, ///< Grade source required for workout step.
2119  Resistance = 0x00002000, ///< Resistance source required for workout step.
2120  Protected = 0x00004000,
2121 };
2122 
2123 /*!
2124  * Garmin FIT BatteryStatus type.
2125  *
2126  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2127  * spreadsheet. More information of the definition and semantics of this type may be available in
2128  * the Garmin FIT SDK.
2129  *
2130  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2131  */
2132 enum class BatteryStatus : quint8 {
2133  New = 1,
2134  Good = 2,
2135  Ok = 3,
2136  Low = 4,
2137  Critical = 5,
2138  Charging = 6,
2139  Unknown = 7,
2140 };
2141 
2142 /*!
2143  * Garmin FIT HrType type.
2144  *
2145  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2146  * spreadsheet. More information of the definition and semantics of this type may be available in
2147  * the Garmin FIT SDK.
2148  *
2149  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2150  */
2151 enum class HrType {
2152  Normal = 0,
2153  Irregular = 1,
2154 };
2155 
2156 /*!
2157  * Garmin FIT CourseCapabilities type.
2158  *
2159  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2160  * spreadsheet. More information of the definition and semantics of this type may be available in
2161  * the Garmin FIT SDK.
2162  *
2163  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2164  */
2166  Processed = 0x00000001,
2167  Valid = 0x00000002,
2168  Time = 0x00000004,
2169  Distance = 0x00000008,
2170  Position = 0x00000010,
2171  HeartRate = 0x00000020,
2172  Power = 0x00000040,
2173  Cadence = 0x00000080,
2174  Training = 0x00000100,
2175  Navigation = 0x00000200,
2176  Bikeway = 0x00000400,
2177 };
2178 
2179 /*!
2180  * Garmin FIT Weight type.
2181  *
2182  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2183  * spreadsheet. More information of the definition and semantics of this type may be available in
2184  * the Garmin FIT SDK.
2185  *
2186  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2187  */
2188 enum class Weight : quint16 {
2189  Calculating = 0xFFFE,
2190 };
2191 
2192 /*!
2193  * 0 - 100 indicates% of max hr; >100 indicates bpm (255 max) plus 100
2194  *
2195  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2196  * spreadsheet. More information of the definition and semantics of this type may be available in
2197  * the Garmin FIT SDK.
2198  *
2199  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2200  */
2201 enum class WorkoutHr : quint32 {
2202  BpmOffset = 100,
2203 };
2204 
2205 /*!
2206  * 0 - 1000 indicates % of functional threshold power; >1000 indicates watts plus 1000.
2207  *
2208  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2209  * spreadsheet. More information of the definition and semantics of this type may be available in
2210  * the Garmin FIT SDK.
2211  *
2212  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2213  */
2214 enum class WorkoutPower : quint32 {
2215  WattsOffset = 1000,
2216 };
2217 
2218 /*!
2219  * Garmin FIT BpStatus type.
2220  *
2221  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2222  * spreadsheet. More information of the definition and semantics of this type may be available in
2223  * the Garmin FIT SDK.
2224  *
2225  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2226  */
2227 enum class BpStatus {
2228  NoError = 0,
2229  ErrorIncompleteData = 1,
2230  ErrorNoMeasurement = 2,
2231  ErrorDataOutOfRange = 3,
2232  ErrorIrregularHeartRate = 4,
2233 };
2234 
2235 /*!
2236  * Garmin FIT UserLocalId type.
2237  *
2238  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2239  * spreadsheet. More information of the definition and semantics of this type may be available in
2240  * the Garmin FIT SDK.
2241  *
2242  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2243  */
2244 enum class UserLocalId : quint16 {
2245  LocalMin = 0x0000,
2246  LocalMax = 0x000F,
2247  StationaryMin = 0x0010,
2248  StationaryMax = 0x00FF,
2249  PortableMin = 0x0100,
2250  PortableMax = 0xFFFE,
2251 };
2252 
2253 /*!
2254  * Garmin FIT SwimStroke type.
2255  *
2256  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2257  * spreadsheet. More information of the definition and semantics of this type may be available in
2258  * the Garmin FIT SDK.
2259  *
2260  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2261  */
2262 enum class SwimStroke {
2263  Freestyle = 0,
2264  Backstroke = 1,
2265  Breaststroke = 2,
2266  Butterfly = 3,
2267  Drill = 4,
2268  Mixed = 5,
2269  Im = 6, ///< IM is a mixed interval containing the same number of lengths for each of: Butterfly, Backstroke, Breaststroke, Freestyle, swam in that order.
2270 };
2271 
2272 /*!
2273  * Garmin FIT ActivityType type.
2274  *
2275  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2276  * spreadsheet. More information of the definition and semantics of this type may be available in
2277  * the Garmin FIT SDK.
2278  *
2279  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2280  */
2281 enum class ActivityType {
2282  Generic = 0,
2283  Running = 1,
2284  Cycling = 2,
2285  Transition = 3, ///< Mulitsport transition
2286  FitnessEquipment = 4,
2287  Swimming = 5,
2288  Walking = 6,
2289  Sedentary = 8,
2290  All = 254, ///< All is for goals only to include all sports.
2291 };
2292 
2293 /*!
2294  * Garmin FIT ActivitySubtype type.
2295  *
2296  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2297  * spreadsheet. More information of the definition and semantics of this type may be available in
2298  * the Garmin FIT SDK.
2299  *
2300  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2301  */
2302 enum class ActivitySubtype {
2303  Generic = 0,
2304  Treadmill = 1, ///< Run
2305  Street = 2, ///< Run
2306  Trail = 3, ///< Run
2307  Track = 4, ///< Run
2308  Spin = 5, ///< Cycling
2309  IndoorCycling = 6, ///< Cycling
2310  Road = 7, ///< Cycling
2311  Mountain = 8, ///< Cycling
2312  Downhill = 9, ///< Cycling
2313  Recumbent = 10, ///< Cycling
2314  Cyclocross = 11, ///< Cycling
2315  HandCycling = 12, ///< Cycling
2316  TrackCycling = 13, ///< Cycling
2317  IndoorRowing = 14, ///< Fitness Equipment
2318  Elliptical = 15, ///< Fitness Equipment
2319  StairClimbing = 16, ///< Fitness Equipment
2320  LapSwimming = 17, ///< Swimming
2321  OpenWater = 18, ///< Swimming
2322  All = 254,
2323 };
2324 
2325 /*!
2326  * Garmin FIT ActivityLevel type.
2327  *
2328  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2329  * spreadsheet. More information of the definition and semantics of this type may be available in
2330  * the Garmin FIT SDK.
2331  *
2332  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2333  */
2334 enum class ActivityLevel {
2335  Low = 0,
2336  Medium = 1,
2337  High = 2,
2338 };
2339 
2340 /*!
2341  * Garmin FIT Side type.
2342  *
2343  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2344  * spreadsheet. More information of the definition and semantics of this type may be available in
2345  * the Garmin FIT SDK.
2346  *
2347  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2348  */
2349 enum class Side {
2350  Right = 0,
2351  Left = 1,
2352 };
2353 
2354 /*!
2355  * Garmin FIT LeftRightBalance type.
2356  *
2357  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2358  * spreadsheet. More information of the definition and semantics of this type may be available in
2359  * the Garmin FIT SDK.
2360  *
2361  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2362  */
2363 enum class LeftRightBalance : quint8 {
2364  Mask = 0x7F, ///< % contribution
2365  Right = 0x80, ///< data corresponds to right if set, otherwise unknown
2366 };
2367 
2368 /*!
2369  * Garmin FIT LeftRightBalance100 type.
2370  *
2371  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2372  * spreadsheet. More information of the definition and semantics of this type may be available in
2373  * the Garmin FIT SDK.
2374  *
2375  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2376  */
2377 enum class LeftRightBalance100 : quint16 {
2378  Mask = 0x3FFF, ///< % contribution scaled by 100
2379  Right = 0x8000, ///< data corresponds to right if set, otherwise unknown
2380 };
2381 
2382 /*!
2383  * Garmin FIT LengthType type.
2384  *
2385  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2386  * spreadsheet. More information of the definition and semantics of this type may be available in
2387  * the Garmin FIT SDK.
2388  *
2389  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2390  */
2391 enum class LengthType {
2392  Idle = 0, ///< Rest period. Length with no strokes
2393  Active = 1, ///< Length with strokes.
2394 };
2395 
2396 /*!
2397  * Garmin FIT DayOfWeek type.
2398  *
2399  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2400  * spreadsheet. More information of the definition and semantics of this type may be available in
2401  * the Garmin FIT SDK.
2402  *
2403  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2404  */
2405 enum class DayOfWeek {
2406  Sunday = 0,
2407  Monday = 1,
2408  Tuesday = 2,
2409  Wednesday = 3,
2410  Thursday = 4,
2411  Friday = 5,
2412  Saturday = 6,
2413 };
2414 
2415 /*!
2416  * Garmin FIT ConnectivityCapabilities type.
2417  *
2418  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2419  * spreadsheet. More information of the definition and semantics of this type may be available in
2420  * the Garmin FIT SDK.
2421  *
2422  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2423  */
2425  Bluetooth = 0x00000001,
2426  BluetoothLe = 0x00000002,
2427  Ant = 0x00000004,
2428  ActivityUpload = 0x00000008,
2429  CourseDownload = 0x00000010,
2430  WorkoutDownload = 0x00000020,
2431  LiveTrack = 0x00000040,
2432  WeatherConditions = 0x00000080,
2433  WeatherAlerts = 0x00000100,
2434  GpsEphemerisDownload = 0x00000200,
2435  ExplicitArchive = 0x00000400,
2436  SetupIncomplete = 0x00000800,
2437  ContinueSyncAfterSoftwareUpdate = 0x00001000,
2438  ConnectIqAppDownload = 0x00002000,
2439  GolfCourseDownload = 0x00004000,
2440  DeviceInitiatesSync = 0x00008000, ///< Indicates device is in control of initiating all syncs
2441  ConnectIqWatchAppDownload = 0x00010000,
2442  ConnectIqWidgetDownload = 0x00020000,
2443  ConnectIqWatchFaceDownload = 0x00040000,
2444  ConnectIqDataFieldDownload = 0x00080000,
2445  ConnectIqAppManagment = 0x00100000, ///< Device supports delete and reorder of apps via GCM
2446  SwingSensor = 0x00200000,
2447  SwingSensorRemote = 0x00400000,
2448  IncidentDetection = 0x00800000, ///< Device supports incident detection
2449  AudioPrompts = 0x01000000,
2450  WifiVerification = 0x02000000, ///< Device supports reporting wifi verification via GCM
2451  TrueUp = 0x04000000, ///< Device supports True Up
2452  FindMyWatch = 0x08000000, ///< Device supports Find My Watch
2453  RemoteManualSync = 0x10000000,
2454  LiveTrackAutoStart = 0x20000000, ///< Device supports LiveTrack auto start
2455  LiveTrackMessaging = 0x40000000, ///< Device supports LiveTrack Messaging
2456  InstantInput = 0x80000000, ///< Device supports instant input feature
2457 };
2458 
2459 /*!
2460  * Garmin FIT WeatherReport type.
2461  *
2462  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2463  * spreadsheet. More information of the definition and semantics of this type may be available in
2464  * the Garmin FIT SDK.
2465  *
2466  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2467  */
2468 enum class WeatherReport {
2469  Current = 0,
2470  Forecast = 1, ///< Deprecated use hourly_forecast instead
2471  HourlyForecast = 1,
2472  DailyForecast = 2,
2473 };
2474 
2475 /*!
2476  * Garmin FIT WeatherStatus type.
2477  *
2478  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2479  * spreadsheet. More information of the definition and semantics of this type may be available in
2480  * the Garmin FIT SDK.
2481  *
2482  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2483  */
2484 enum class WeatherStatus {
2485  Clear = 0,
2486  PartlyCloudy = 1,
2487  MostlyCloudy = 2,
2488  Rain = 3,
2489  Snow = 4,
2490  Windy = 5,
2491  Thunderstorms = 6,
2492  WintryMix = 7,
2493  Fog = 8,
2494  Hazy = 11,
2495  Hail = 12,
2496  ScatteredShowers = 13,
2497  ScatteredThunderstorms = 14,
2498  UnknownPrecipitation = 15,
2499  LightRain = 16,
2500  HeavyRain = 17,
2501  LightSnow = 18,
2502  HeavySnow = 19,
2503  LightRainSnow = 20,
2504  HeavyRainSnow = 21,
2505  Cloudy = 22,
2506 };
2507 
2508 /*!
2509  * Garmin FIT WeatherSeverity type.
2510  *
2511  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2512  * spreadsheet. More information of the definition and semantics of this type may be available in
2513  * the Garmin FIT SDK.
2514  *
2515  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2516  */
2517 enum class WeatherSeverity {
2518  Unknown = 0,
2519  Warning = 1,
2520  Watch = 2,
2521  Advisory = 3,
2522  Statement = 4,
2523 };
2524 
2525 /*!
2526  * Garmin FIT WeatherSevereType type.
2527  *
2528  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2529  * spreadsheet. More information of the definition and semantics of this type may be available in
2530  * the Garmin FIT SDK.
2531  *
2532  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2533  */
2534 enum class WeatherSevereType {
2535  Unspecified = 0,
2536  Tornado = 1,
2537  Tsunami = 2,
2538  Hurricane = 3,
2539  ExtremeWind = 4,
2540  Typhoon = 5,
2541  InlandHurricane = 6,
2542  HurricaneForceWind = 7,
2543  Waterspout = 8,
2544  SevereThunderstorm = 9,
2545  WreckhouseWinds = 10,
2546  LesSuetesWind = 11,
2547  Avalanche = 12,
2548  FlashFlood = 13,
2549  TropicalStorm = 14,
2550  InlandTropicalStorm = 15,
2551  Blizzard = 16,
2552  IceStorm = 17,
2553  FreezingRain = 18,
2554  DebrisFlow = 19,
2555  FlashFreeze = 20,
2556  DustStorm = 21,
2557  HighWind = 22,
2558  WinterStorm = 23,
2559  HeavyFreezingSpray = 24,
2560  ExtremeCold = 25,
2561  WindChill = 26,
2562  ColdWave = 27,
2563  HeavySnowAlert = 28,
2564  LakeEffectBlowingSnow = 29,
2565  SnowSquall = 30,
2566  LakeEffectSnow = 31,
2567  WinterWeather = 32,
2568  Sleet = 33,
2569  Snowfall = 34,
2570  SnowAndBlowingSnow = 35,
2571  BlowingSnow = 36,
2572  SnowAlert = 37,
2573  ArcticOutflow = 38,
2574  FreezingDrizzle = 39,
2575  Storm = 40,
2576  StormSurge = 41,
2577  Rainfall = 42,
2578  ArealFlood = 43,
2579  CoastalFlood = 44,
2580  LakeshoreFlood = 45,
2581  ExcessiveHeat = 46,
2582  Heat = 47,
2583  Weather = 48,
2584  HighHeatAndHumidity = 49,
2585  HumidexAndHealth = 50,
2586  Humidex = 51,
2587  Gale = 52,
2588  FreezingSpray = 53,
2589  SpecialMarine = 54,
2590  Squall = 55,
2591  StrongWind = 56,
2592  LakeWind = 57,
2593  MarineWeather = 58,
2594  Wind = 59,
2595  SmallCraftHazardousSeas = 60,
2596  HazardousSeas = 61,
2597  SmallCraft = 62,
2598  SmallCraftWinds = 63,
2599  SmallCraftRoughBar = 64,
2600  HighWaterLevel = 65,
2601  Ashfall = 66,
2602  FreezingFog = 67,
2603  DenseFog = 68,
2604  DenseSmoke = 69,
2605  BlowingDust = 70,
2606  HardFreeze = 71,
2607  Freeze = 72,
2608  Frost = 73,
2609  FireWeather = 74,
2610  Flood = 75,
2611  RipTide = 76,
2612  HighSurf = 77,
2613  Smog = 78,
2614  AirQuality = 79,
2615  BriskWind = 80,
2616  AirStagnation = 81,
2617  LowWater = 82,
2618  Hydrological = 83,
2619  SpecialWeather = 84,
2620 };
2621 
2622 /*!
2623  * Number of seconds into the day since 00:00:00 UTC
2624  *
2625  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2626  * spreadsheet. More information of the definition and semantics of this type may be available in
2627  * the Garmin FIT SDK.
2628  *
2629  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2630  */
2631 typedef quint32 TimeIntoDay;
2632 
2633 /*!
2634  * Number of seconds into the day since local 00:00:00
2635  *
2636  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2637  * spreadsheet. More information of the definition and semantics of this type may be available in
2638  * the Garmin FIT SDK.
2639  *
2640  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2641  */
2642 typedef quint32 LocaltimeIntoDay;
2643 
2644 /*!
2645  * Garmin FIT StrokeType type.
2646  *
2647  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2648  * spreadsheet. More information of the definition and semantics of this type may be available in
2649  * the Garmin FIT SDK.
2650  *
2651  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2652  */
2653 enum class StrokeType {
2654  NoEvent = 0,
2655  Other = 1, ///< stroke was detected but cannot be identified
2656  Serve = 2,
2657  Forehand = 3,
2658  Backhand = 4,
2659  Smash = 5,
2660 };
2661 
2662 /*!
2663  * Garmin FIT BodyLocation type.
2664  *
2665  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2666  * spreadsheet. More information of the definition and semantics of this type may be available in
2667  * the Garmin FIT SDK.
2668  *
2669  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2670  */
2671 enum class BodyLocation {
2672  LeftLeg = 0,
2673  LeftCalf = 1,
2674  LeftShin = 2,
2675  LeftHamstring = 3,
2676  LeftQuad = 4,
2677  LeftGlute = 5,
2678  RightLeg = 6,
2679  RightCalf = 7,
2680  RightShin = 8,
2681  RightHamstring = 9,
2682  RightQuad = 10,
2683  RightGlute = 11,
2684  TorsoBack = 12,
2685  LeftLowerBack = 13,
2686  LeftUpperBack = 14,
2687  RightLowerBack = 15,
2688  RightUpperBack = 16,
2689  TorsoFront = 17,
2690  LeftAbdomen = 18,
2691  LeftChest = 19,
2692  RightAbdomen = 20,
2693  RightChest = 21,
2694  LeftArm = 22,
2695  LeftShoulder = 23,
2696  LeftBicep = 24,
2697  LeftTricep = 25,
2698  LeftBrachioradialis = 26, ///< Left anterior forearm
2699  LeftForearmExtensors = 27, ///< Left posterior forearm
2700  RightArm = 28,
2701  RightShoulder = 29,
2702  RightBicep = 30,
2703  RightTricep = 31,
2704  RightBrachioradialis = 32, ///< Right anterior forearm
2705  RightForearmExtensors = 33, ///< Right posterior forearm
2706  Neck = 34,
2707  Throat = 35,
2708  WaistMidBack = 36,
2709  WaistFront = 37,
2710  WaistLeft = 38,
2711  WaistRight = 39,
2712 };
2713 
2714 /*!
2715  * Garmin FIT SegmentLapStatus type.
2716  *
2717  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2718  * spreadsheet. More information of the definition and semantics of this type may be available in
2719  * the Garmin FIT SDK.
2720  *
2721  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2722  */
2723 enum class SegmentLapStatus {
2724  End = 0,
2725  Fail = 1,
2726 };
2727 
2728 /*!
2729  * Garmin FIT SegmentLeaderboardType type.
2730  *
2731  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2732  * spreadsheet. More information of the definition and semantics of this type may be available in
2733  * the Garmin FIT SDK.
2734  *
2735  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2736  */
2738  Overall = 0,
2739  PersonalBest = 1,
2740  Connections = 2,
2741  Group = 3,
2742  Challenger = 4,
2743  Kom = 5,
2744  Qom = 6,
2745  Pr = 7,
2746  Goal = 8,
2747  Rival = 9,
2748  ClubLeader = 10,
2749 };
2750 
2751 /*!
2752  * Garmin FIT SegmentDeleteStatus type.
2753  *
2754  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2755  * spreadsheet. More information of the definition and semantics of this type may be available in
2756  * the Garmin FIT SDK.
2757  *
2758  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2759  */
2761  DoNotDelete = 0,
2762  DeleteOne = 1,
2763  DeleteAll = 2,
2764 };
2765 
2766 /*!
2767  * Garmin FIT SegmentSelectionType type.
2768  *
2769  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2770  * spreadsheet. More information of the definition and semantics of this type may be available in
2771  * the Garmin FIT SDK.
2772  *
2773  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2774  */
2776  Starred = 0,
2777  Suggested = 1,
2778 };
2779 
2780 /*!
2781  * Garmin FIT SourceType type.
2782  *
2783  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2784  * spreadsheet. More information of the definition and semantics of this type may be available in
2785  * the Garmin FIT SDK.
2786  *
2787  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2788  */
2789 enum class SourceType {
2790  Ant = 0, ///< External device connected with ANT
2791  Antplus = 1, ///< External device connected with ANT+
2792  Bluetooth = 2, ///< External device connected with BT
2793  BluetoothLowEnergy = 3, ///< External device connected with BLE
2794  Wifi = 4, ///< External device connected with Wifi
2795  Local = 5, ///< Onboard device
2796 };
2797 
2798 /*!
2799  * Garmin FIT LocalDeviceType type.
2800  *
2801  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2802  * spreadsheet. More information of the definition and semantics of this type may be available in
2803  * the Garmin FIT SDK.
2804  *
2805  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2806  */
2807 typedef quint8 LocalDeviceType;
2808 
2809 /*!
2810  * Garmin FIT DisplayOrientation type.
2811  *
2812  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2813  * spreadsheet. More information of the definition and semantics of this type may be available in
2814  * the Garmin FIT SDK.
2815  *
2816  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2817  */
2819  Auto = 0, ///< automatic if the device supports it
2820  Portrait = 1,
2821  Landscape = 2,
2822  PortraitFlipped = 3, ///< portrait mode but rotated 180 degrees
2823  LandscapeFlipped = 4, ///< landscape mode but rotated 180 degrees
2824 };
2825 
2826 /*!
2827  * Garmin FIT WorkoutEquipment type.
2828  *
2829  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2830  * spreadsheet. More information of the definition and semantics of this type may be available in
2831  * the Garmin FIT SDK.
2832  *
2833  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2834  */
2835 enum class WorkoutEquipment {
2836  None = 0,
2837  SwimFins = 1,
2838  SwimKickboard = 2,
2839  SwimPaddles = 3,
2840  SwimPullBuoy = 4,
2841  SwimSnorkel = 5,
2842 };
2843 
2844 /*!
2845  * Garmin FIT WatchfaceMode type.
2846  *
2847  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2848  * spreadsheet. More information of the definition and semantics of this type may be available in
2849  * the Garmin FIT SDK.
2850  *
2851  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2852  */
2853 enum class WatchfaceMode {
2854  Digital = 0,
2855  Analog = 1,
2856  ConnectIq = 2,
2857  Disabled = 3,
2858 };
2859 
2860 /*!
2861  * Garmin FIT DigitalWatchfaceLayout type.
2862  *
2863  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2864  * spreadsheet. More information of the definition and semantics of this type may be available in
2865  * the Garmin FIT SDK.
2866  *
2867  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2868  */
2870  Traditional = 0,
2871  Modern = 1,
2872  Bold = 2,
2873 };
2874 
2875 /*!
2876  * Garmin FIT AnalogWatchfaceLayout type.
2877  *
2878  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2879  * spreadsheet. More information of the definition and semantics of this type may be available in
2880  * the Garmin FIT SDK.
2881  *
2882  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2883  */
2885  Minimal = 0,
2886  Traditional = 1,
2887  Modern = 2,
2888 };
2889 
2890 /*!
2891  * Garmin FIT RiderPositionType type.
2892  *
2893  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2894  * spreadsheet. More information of the definition and semantics of this type may be available in
2895  * the Garmin FIT SDK.
2896  *
2897  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2898  */
2899 enum class RiderPositionType {
2900  Seated = 0,
2901  Standing = 1,
2902  TransitionToSeated = 2,
2903  TransitionToStanding = 3,
2904 };
2905 
2906 /*!
2907  * Garmin FIT PowerPhaseType type.
2908  *
2909  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2910  * spreadsheet. More information of the definition and semantics of this type may be available in
2911  * the Garmin FIT SDK.
2912  *
2913  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2914  */
2915 enum class PowerPhaseType {
2916  PowerPhaseStartAngle = 0,
2917  PowerPhaseEndAngle = 1,
2918  PowerPhaseArcLength = 2,
2919  PowerPhaseCenter = 3,
2920 };
2921 
2922 /*!
2923  * Garmin FIT CameraEventType type.
2924  *
2925  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2926  * spreadsheet. More information of the definition and semantics of this type may be available in
2927  * the Garmin FIT SDK.
2928  *
2929  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2930  */
2931 enum class CameraEventType {
2932  VideoStart = 0, ///< Start of video recording
2933  VideoSplit = 1, ///< Mark of video file split (end of one file, beginning of the other)
2934  VideoEnd = 2, ///< End of video recording
2935  PhotoTaken = 3, ///< Still photo taken
2936  VideoSecondStreamStart = 4,
2937  VideoSecondStreamSplit = 5,
2938  VideoSecondStreamEnd = 6,
2939  VideoSplitStart = 7, ///< Mark of video file split start
2940  VideoSecondStreamSplitStart = 8,
2941  VideoPause = 11, ///< Mark when a video recording has been paused
2942  VideoSecondStreamPause = 12,
2943  VideoResume = 13, ///< Mark when a video recording has been resumed
2944  VideoSecondStreamResume = 14,
2945 };
2946 
2947 /*!
2948  * Garmin FIT SensorType type.
2949  *
2950  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2951  * spreadsheet. More information of the definition and semantics of this type may be available in
2952  * the Garmin FIT SDK.
2953  *
2954  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2955  */
2956 enum class SensorType {
2957  Accelerometer = 0,
2958  Gyroscope = 1,
2959  Compass = 2, ///< Magnetometer
2960  Barometer = 3,
2961 };
2962 
2963 /*!
2964  * Garmin FIT BikeLightNetworkConfigType type.
2965  *
2966  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2967  * spreadsheet. More information of the definition and semantics of this type may be available in
2968  * the Garmin FIT SDK.
2969  *
2970  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2971  */
2973  Auto = 0,
2974  Individual = 4,
2975  HighVisibility = 5,
2976  Trail = 6,
2977 };
2978 
2979 /*!
2980  * Garmin FIT CommTimeoutType type.
2981  *
2982  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2983  * spreadsheet. More information of the definition and semantics of this type may be available in
2984  * the Garmin FIT SDK.
2985  *
2986  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
2987  */
2988 enum class CommTimeoutType : quint16 {
2989  WildcardPairingTimeout = 0, ///< Timeout pairing to any device
2990  PairingTimeout = 1, ///< Timeout pairing to previously paired device
2991  ConnectionLost = 2, ///< Temporary loss of communications
2992  ConnectionTimeout = 3, ///< Connection closed due to extended bad communications
2993 };
2994 
2995 /*!
2996  * Garmin FIT CameraOrientationType type.
2997  *
2998  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
2999  * spreadsheet. More information of the definition and semantics of this type may be available in
3000  * the Garmin FIT SDK.
3001  *
3002  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3003  */
3005  CameraOrientation0 = 0,
3006  CameraOrientation90 = 1,
3007  CameraOrientation180 = 2,
3008  CameraOrientation270 = 3,
3009 };
3010 
3011 /*!
3012  * Garmin FIT AttitudeStage type.
3013  *
3014  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3015  * spreadsheet. More information of the definition and semantics of this type may be available in
3016  * the Garmin FIT SDK.
3017  *
3018  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3019  */
3020 enum class AttitudeStage {
3021  Failed = 0,
3022  Aligning = 1,
3023  Degraded = 2,
3024  Valid = 3,
3025 };
3026 
3027 /*!
3028  * Garmin FIT AttitudeValidity type.
3029  *
3030  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3031  * spreadsheet. More information of the definition and semantics of this type may be available in
3032  * the Garmin FIT SDK.
3033  *
3034  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3035  */
3036 enum class AttitudeValidity : quint16 {
3037  TrackAngleHeadingValid = 0x0001,
3038  PitchValid = 0x0002,
3039  RollValid = 0x0004,
3040  LateralBodyAccelValid = 0x0008,
3041  NormalBodyAccelValid = 0x0010,
3042  TurnRateValid = 0x0020,
3043  HwFail = 0x0040,
3044  MagInvalid = 0x0080,
3045  NoGps = 0x0100,
3046  GpsInvalid = 0x0200,
3047  SolutionCoasting = 0x0400,
3048  TrueTrackAngle = 0x0800,
3049  MagneticHeading = 0x1000,
3050 };
3051 
3052 /*!
3053  * Garmin FIT AutoSyncFrequency type.
3054  *
3055  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3056  * spreadsheet. More information of the definition and semantics of this type may be available in
3057  * the Garmin FIT SDK.
3058  *
3059  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3060  */
3061 enum class AutoSyncFrequency {
3062  Never = 0,
3063  Occasionally = 1,
3064  Frequent = 2,
3065  OnceADay = 3,
3066  Remote = 4,
3067 };
3068 
3069 /*!
3070  * Garmin FIT ExdLayout type.
3071  *
3072  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3073  * spreadsheet. More information of the definition and semantics of this type may be available in
3074  * the Garmin FIT SDK.
3075  *
3076  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3077  */
3078 enum class ExdLayout {
3079  FullScreen = 0,
3080  HalfVertical = 1,
3081  HalfHorizontal = 2,
3082  HalfVerticalRightSplit = 3,
3083  HalfHorizontalBottomSplit = 4,
3084  FullQuarterSplit = 5,
3085  HalfVerticalLeftSplit = 6,
3086  HalfHorizontalTopSplit = 7,
3087  Dynamic = 8, ///< The EXD may display the configured concepts in any layout it sees fit.
3088 };
3089 
3090 /*!
3091  * Garmin FIT ExdDisplayType type.
3092  *
3093  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3094  * spreadsheet. More information of the definition and semantics of this type may be available in
3095  * the Garmin FIT SDK.
3096  *
3097  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3098  */
3099 enum class ExdDisplayType {
3100  Numerical = 0,
3101  Simple = 1,
3102  Graph = 2,
3103  Bar = 3,
3104  CircleGraph = 4,
3105  VirtualPartner = 5,
3106  Balance = 6,
3107  StringList = 7,
3108  String = 8,
3109  SimpleDynamicIcon = 9,
3110  Gauge = 10,
3111 };
3112 
3113 /*!
3114  * Garmin FIT ExdDataUnits type.
3115  *
3116  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3117  * spreadsheet. More information of the definition and semantics of this type may be available in
3118  * the Garmin FIT SDK.
3119  *
3120  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3121  */
3122 enum class ExdDataUnits {
3123  NoUnits = 0,
3124  Laps = 1,
3125  MilesPerHour = 2,
3126  KilometersPerHour = 3,
3127  FeetPerHour = 4,
3128  MetersPerHour = 5,
3129  DegreesCelsius = 6,
3130  DegreesFarenheit = 7,
3131  Zone = 8,
3132  Gear = 9,
3133  Rpm = 10,
3134  Bpm = 11,
3135  Degrees = 12,
3136  Millimeters = 13,
3137  Meters = 14,
3138  Kilometers = 15,
3139  Feet = 16,
3140  Yards = 17,
3141  Kilofeet = 18,
3142  Miles = 19,
3143  Time = 20,
3144  EnumTurnType = 21,
3145  Percent = 22,
3146  Watts = 23,
3147  WattsPerKilogram = 24,
3148  EnumBatteryStatus = 25,
3149  EnumBikeLightBeamAngleMode = 26,
3150  EnumBikeLightBatteryStatus = 27,
3151  EnumBikeLightNetworkConfigType = 28,
3152  Lights = 29,
3153  Seconds = 30,
3154  Minutes = 31,
3155  Hours = 32,
3156  Calories = 33,
3157  Kilojoules = 34,
3158  Milliseconds = 35,
3159  SecondPerMile = 36,
3160  SecondPerKilometer = 37,
3161  Centimeter = 38,
3162  EnumCoursePoint = 39,
3163  Bradians = 40,
3164  EnumSport = 41,
3165  InchesHg = 42,
3166  MmHg = 43,
3167  Mbars = 44,
3168  HectoPascals = 45,
3169  FeetPerMin = 46,
3170  MetersPerMin = 47,
3171  MetersPerSec = 48,
3172  EightCardinal = 49,
3173 };
3174 
3175 /*!
3176  * Garmin FIT ExdQualifiers type.
3177  *
3178  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3179  * spreadsheet. More information of the definition and semantics of this type may be available in
3180  * the Garmin FIT SDK.
3181  *
3182  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3183  */
3184 enum class ExdQualifiers {
3185  NoQualifier = 0,
3186  Instantaneous = 1,
3187  Average = 2,
3188  Lap = 3,
3189  Maximum = 4,
3190  MaximumAverage = 5,
3191  MaximumLap = 6,
3192  LastLap = 7,
3193  AverageLap = 8,
3194  ToDestination = 9,
3195  ToGo = 10,
3196  ToNext = 11,
3197  NextCoursePoint = 12,
3198  Total = 13,
3199  ThreeSecondAverage = 14,
3200  TenSecondAverage = 15,
3201  ThirtySecondAverage = 16,
3202  PercentMaximum = 17,
3203  PercentMaximumAverage = 18,
3204  LapPercentMaximum = 19,
3205  Elapsed = 20,
3206  Sunrise = 21,
3207  Sunset = 22,
3208  ComparedToVirtualPartner = 23,
3209  Maximum24h = 24,
3210  Minimum24h = 25,
3211  Minimum = 26,
3212  First = 27,
3213  Second = 28,
3214  Third = 29,
3215  Shifter = 30,
3216  LastSport = 31,
3217  Moving = 32,
3218  Stopped = 33,
3219  EstimatedTotal = 34,
3220  Zone9 = 242,
3221  Zone8 = 243,
3222  Zone7 = 244,
3223  Zone6 = 245,
3224  Zone5 = 246,
3225  Zone4 = 247,
3226  Zone3 = 248,
3227  Zone2 = 249,
3228  Zone1 = 250,
3229 };
3230 
3231 /*!
3232  * Garmin FIT ExdDescriptors type.
3233  *
3234  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3235  * spreadsheet. More information of the definition and semantics of this type may be available in
3236  * the Garmin FIT SDK.
3237  *
3238  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3239  */
3240 enum class ExdDescriptors {
3241  BikeLightBatteryStatus = 0,
3242  BeamAngleStatus = 1,
3243  BateryLevel = 2,
3244  LightNetworkMode = 3,
3245  NumberLightsConnected = 4,
3246  Cadence = 5,
3247  Distance = 6,
3248  EstimatedTimeOfArrival = 7,
3249  Heading = 8,
3250  Time = 9,
3251  BatteryLevel = 10,
3252  TrainerResistance = 11,
3253  TrainerTargetPower = 12,
3254  TimeSeated = 13,
3255  TimeStanding = 14,
3256  Elevation = 15,
3257  Grade = 16,
3258  Ascent = 17,
3259  Descent = 18,
3260  VerticalSpeed = 19,
3261  Di2BatteryLevel = 20,
3262  FrontGear = 21,
3263  RearGear = 22,
3264  GearRatio = 23,
3265  HeartRate = 24,
3266  HeartRateZone = 25,
3267  TimeInHeartRateZone = 26,
3268  HeartRateReserve = 27,
3269  Calories = 28,
3270  GpsAccuracy = 29,
3271  GpsSignalStrength = 30,
3272  Temperature = 31,
3273  TimeOfDay = 32,
3274  Balance = 33,
3275  PedalSmoothness = 34,
3276  Power = 35,
3277  FunctionalThresholdPower = 36,
3278  IntensityFactor = 37,
3279  Work = 38,
3280  PowerRatio = 39,
3281  NormalizedPower = 40,
3282  TrainingStressScore = 41,
3283  TimeOnZone = 42,
3284  Speed = 43,
3285  Laps = 44,
3286  Reps = 45,
3287  WorkoutStep = 46,
3288  CourseDistance = 47,
3289  NavigationDistance = 48,
3290  CourseEstimatedTimeOfArrival = 49,
3291  NavigationEstimatedTimeOfArrival = 50,
3292  CourseTime = 51,
3293  NavigationTime = 52,
3294  CourseHeading = 53,
3295  NavigationHeading = 54,
3296  PowerZone = 55,
3297  TorqueEffectiveness = 56,
3298  TimerTime = 57,
3299  PowerWeightRatio = 58,
3300  LeftPlatformCenterOffset = 59,
3301  RightPlatformCenterOffset = 60,
3302  LeftPowerPhaseStartAngle = 61,
3303  RightPowerPhaseStartAngle = 62,
3304  LeftPowerPhaseFinishAngle = 63,
3305  RightPowerPhaseFinishAngle = 64,
3306  Gears = 65, ///< Combined gear information
3307  Pace = 66,
3308  TrainingEffect = 67,
3309  VerticalOscillation = 68,
3310  VerticalRatio = 69,
3311  GroundContactTime = 70,
3312  LeftGroundContactTimeBalance = 71,
3313  RightGroundContactTimeBalance = 72,
3314  StrideLength = 73,
3315  RunningCadence = 74,
3316  PerformanceCondition = 75,
3317  CourseType = 76,
3318  TimeInPowerZone = 77,
3319  NavigationTurn = 78,
3320  CourseLocation = 79,
3321  NavigationLocation = 80,
3322  Compass = 81,
3323  GearCombo = 82,
3324  MuscleOxygen = 83,
3325  Icon = 84,
3326  CompassHeading = 85,
3327  GpsHeading = 86,
3328  GpsElevation = 87,
3329  AnaerobicTrainingEffect = 88,
3330  Course = 89,
3331  OffCourse = 90,
3332  GlideRatio = 91,
3333  VerticalDistance = 92,
3334  Vmg = 93,
3335  AmbientPressure = 94,
3336  Pressure = 95,
3337  Vam = 96,
3338 };
3339 
3340 /*!
3341  * Garmin FIT AutoActivityDetect type.
3342  *
3343  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3344  * spreadsheet. More information of the definition and semantics of this type may be available in
3345  * the Garmin FIT SDK.
3346  *
3347  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3348  */
3349 enum class AutoActivityDetect : quint32 {
3350  None = 0x00000000,
3351  Running = 0x00000001,
3352  Cycling = 0x00000002,
3353  Swimming = 0x00000004,
3354  Walking = 0x00000008,
3355  Elliptical = 0x00000020,
3356  Sedentary = 0x00000400,
3357 };
3358 
3359 /*!
3360  * Garmin FIT SupportedExdScreenLayouts type.
3361  *
3362  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3363  * spreadsheet. More information of the definition and semantics of this type may be available in
3364  * the Garmin FIT SDK.
3365  *
3366  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3367  */
3369  FullScreen = 0x00000001,
3370  HalfVertical = 0x00000002,
3371  HalfHorizontal = 0x00000004,
3372  HalfVerticalRightSplit = 0x00000008,
3373  HalfHorizontalBottomSplit = 0x00000010,
3374  FullQuarterSplit = 0x00000020,
3375  HalfVerticalLeftSplit = 0x00000040,
3376  HalfHorizontalTopSplit = 0x00000080,
3377 };
3378 
3379 /*!
3380  * Garmin FIT FitBaseType type.
3381  *
3382  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3383  * spreadsheet. More information of the definition and semantics of this type may be available in
3384  * the Garmin FIT SDK.
3385  *
3386  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3387  */
3388 enum class FitBaseType : quint8 {
3389  Enum = 0,
3390  Sint8 = 1,
3391  Uint8 = 2,
3392  Sint16 = 131,
3393  Uint16 = 132,
3394  Sint32 = 133,
3395  Uint32 = 134,
3396  String = 7,
3397  Float32 = 136,
3398  Float64 = 137,
3399  Uint8z = 10,
3400  Uint16z = 139,
3401  Uint32z = 140,
3402  Byte = 13,
3403  Sint64 = 142,
3404  Uint64 = 143,
3405  Uint64z = 144,
3406 };
3407 
3408 /*!
3409  * Garmin FIT TurnType type.
3410  *
3411  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3412  * spreadsheet. More information of the definition and semantics of this type may be available in
3413  * the Garmin FIT SDK.
3414  *
3415  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3416  */
3417 enum class TurnType {
3418  ArrivingIdx = 0,
3419  ArrivingLeftIdx = 1,
3420  ArrivingRightIdx = 2,
3421  ArrivingViaIdx = 3,
3422  ArrivingViaLeftIdx = 4,
3423  ArrivingViaRightIdx = 5,
3424  BearKeepLeftIdx = 6,
3425  BearKeepRightIdx = 7,
3426  ContinueIdx = 8,
3427  ExitLeftIdx = 9,
3428  ExitRightIdx = 10,
3429  FerryIdx = 11,
3430  Roundabout45Idx = 12,
3431  Roundabout90Idx = 13,
3432  Roundabout135Idx = 14,
3433  Roundabout180Idx = 15,
3434  Roundabout225Idx = 16,
3435  Roundabout270Idx = 17,
3436  Roundabout315Idx = 18,
3437  Roundabout360Idx = 19,
3438  RoundaboutNeg45Idx = 20,
3439  RoundaboutNeg90Idx = 21,
3440  RoundaboutNeg135Idx = 22,
3441  RoundaboutNeg180Idx = 23,
3442  RoundaboutNeg225Idx = 24,
3443  RoundaboutNeg270Idx = 25,
3444  RoundaboutNeg315Idx = 26,
3445  RoundaboutNeg360Idx = 27,
3446  RoundaboutGenericIdx = 28,
3447  RoundaboutNegGenericIdx = 29,
3448  SharpTurnLeftIdx = 30,
3449  SharpTurnRightIdx = 31,
3450  TurnLeftIdx = 32,
3451  TurnRightIdx = 33,
3452  UturnLeftIdx = 34,
3453  UturnRightIdx = 35,
3454  IconInvIdx = 36,
3455  IconIdxCnt = 37,
3456 };
3457 
3458 /*!
3459  * Garmin FIT BikeLightBeamAngleMode type.
3460  *
3461  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3462  * spreadsheet. More information of the definition and semantics of this type may be available in
3463  * the Garmin FIT SDK.
3464  *
3465  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3466  */
3467 enum class BikeLightBeamAngleMode : quint8 {
3468  Manual = 0,
3469  Auto = 1,
3470 };
3471 
3472 /*!
3473  * Garmin FIT FitBaseUnit type.
3474  *
3475  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3476  * spreadsheet. More information of the definition and semantics of this type may be available in
3477  * the Garmin FIT SDK.
3478  *
3479  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3480  */
3481 enum class FitBaseUnit : quint16 {
3482  Other = 0,
3483  Kilogram = 1,
3484  Pound = 2,
3485 };
3486 
3487 /*!
3488  * Garmin FIT SetType type.
3489  *
3490  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3491  * spreadsheet. More information of the definition and semantics of this type may be available in
3492  * the Garmin FIT SDK.
3493  *
3494  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3495  */
3496 enum class SetType : quint8 {
3497  Rest = 0,
3498  Active = 1,
3499 };
3500 
3501 /*!
3502  * Garmin FIT ExerciseCategory type.
3503  *
3504  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3505  * spreadsheet. More information of the definition and semantics of this type may be available in
3506  * the Garmin FIT SDK.
3507  *
3508  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3509  */
3510 enum class ExerciseCategory : quint16 {
3511  BenchPress = 0,
3512  CalfRaise = 1,
3513  Cardio = 2,
3514  Carry = 3,
3515  Chop = 4,
3516  Core = 5,
3517  Crunch = 6,
3518  Curl = 7,
3519  Deadlift = 8,
3520  Flye = 9,
3521  HipRaise = 10,
3522  HipStability = 11,
3523  HipSwing = 12,
3524  Hyperextension = 13,
3525  LateralRaise = 14,
3526  LegCurl = 15,
3527  LegRaise = 16,
3528  Lunge = 17,
3529  OlympicLift = 18,
3530  Plank = 19,
3531  Plyo = 20,
3532  PullUp = 21,
3533  PushUp = 22,
3534  Row = 23,
3535  ShoulderPress = 24,
3536  ShoulderStability = 25,
3537  Shrug = 26,
3538  SitUp = 27,
3539  Squat = 28,
3540  TotalBody = 29,
3541  TricepsExtension = 30,
3542  WarmUp = 31,
3543  Run = 32,
3544  Unknown = 65534,
3545 };
3546 
3547 /*!
3548  * Garmin FIT BenchPressExerciseName type.
3549  *
3550  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3551  * spreadsheet. More information of the definition and semantics of this type may be available in
3552  * the Garmin FIT SDK.
3553  *
3554  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3555  */
3556 enum class BenchPressExerciseName : quint16 {
3557  AlternatingDumbbellChestPressOnSwissBall = 0,
3558  BarbellBenchPress = 1,
3559  BarbellBoardBenchPress = 2,
3560  BarbellFloorPress = 3,
3561  CloseGripBarbellBenchPress = 4,
3562  DeclineDumbbellBenchPress = 5,
3563  DumbbellBenchPress = 6,
3564  DumbbellFloorPress = 7,
3565  InclineBarbellBenchPress = 8,
3566  InclineDumbbellBenchPress = 9,
3567  InclineSmithMachineBenchPress = 10,
3568  IsometricBarbellBenchPress = 11,
3569  KettlebellChestPress = 12,
3570  NeutralGripDumbbellBenchPress = 13,
3571  NeutralGripDumbbellInclineBenchPress = 14,
3572  OneArmFloorPress = 15,
3573  WeightedOneArmFloorPress = 16,
3574  PartialLockout = 17,
3575  ReverseGripBarbellBenchPress = 18,
3576  ReverseGripInclineBenchPress = 19,
3577  SingleArmCableChestPress = 20,
3578  SingleArmDumbbellBenchPress = 21,
3579  SmithMachineBenchPress = 22,
3580  SwissBallDumbbellChestPress = 23,
3581  TripleStopBarbellBenchPress = 24,
3582  WideGripBarbellBenchPress = 25,
3583  AlternatingDumbbellChestPress = 26,
3584 };
3585 
3586 /*!
3587  * Garmin FIT CalfRaiseExerciseName type.
3588  *
3589  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3590  * spreadsheet. More information of the definition and semantics of this type may be available in
3591  * the Garmin FIT SDK.
3592  *
3593  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3594  */
3595 enum class CalfRaiseExerciseName : quint16 {
3596  ThreeWayCalfRaise = 0,
3597  ThreeWayWeightedCalfRaise = 1,
3598  ThreeWaySingleLegCalfRaise = 2,
3599  ThreeWayWeightedSingleLegCalfRaise = 3,
3600  DonkeyCalfRaise = 4,
3601  WeightedDonkeyCalfRaise = 5,
3602  SeatedCalfRaise = 6,
3603  WeightedSeatedCalfRaise = 7,
3604  SeatedDumbbellToeRaise = 8,
3605  SingleLegBentKneeCalfRaise = 9,
3606  WeightedSingleLegBentKneeCalfRaise = 10,
3607  SingleLegDeclinePushUp = 11,
3608  SingleLegDonkeyCalfRaise = 12,
3609  WeightedSingleLegDonkeyCalfRaise = 13,
3610  SingleLegHipRaiseWithKneeHold = 14,
3611  SingleLegStandingCalfRaise = 15,
3612  SingleLegStandingDumbbellCalfRaise = 16,
3613  StandingBarbellCalfRaise = 17,
3614  StandingCalfRaise = 18,
3615  WeightedStandingCalfRaise = 19,
3616  StandingDumbbellCalfRaise = 20,
3617 };
3618 
3619 /*!
3620  * Garmin FIT CardioExerciseName type.
3621  *
3622  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3623  * spreadsheet. More information of the definition and semantics of this type may be available in
3624  * the Garmin FIT SDK.
3625  *
3626  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3627  */
3628 enum class CardioExerciseName : quint16 {
3629  BobAndWeaveCircle = 0,
3630  WeightedBobAndWeaveCircle = 1,
3631  CardioCoreCrawl = 2,
3632  WeightedCardioCoreCrawl = 3,
3633  DoubleUnder = 4,
3634  WeightedDoubleUnder = 5,
3635  JumpRope = 6,
3636  WeightedJumpRope = 7,
3637  JumpRopeCrossover = 8,
3638  WeightedJumpRopeCrossover = 9,
3639  JumpRopeJog = 10,
3640  WeightedJumpRopeJog = 11,
3641  JumpingJacks = 12,
3642  WeightedJumpingJacks = 13,
3643  SkiMoguls = 14,
3644  WeightedSkiMoguls = 15,
3645  SplitJacks = 16,
3646  WeightedSplitJacks = 17,
3647  SquatJacks = 18,
3648  WeightedSquatJacks = 19,
3649  TripleUnder = 20,
3650  WeightedTripleUnder = 21,
3651 };
3652 
3653 /*!
3654  * Garmin FIT CarryExerciseName type.
3655  *
3656  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3657  * spreadsheet. More information of the definition and semantics of this type may be available in
3658  * the Garmin FIT SDK.
3659  *
3660  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3661  */
3662 enum class CarryExerciseName : quint16 {
3663  BarHolds = 0,
3664  FarmersWalk = 1,
3665  FarmersWalkOnToes = 2,
3666  HexDumbbellHold = 3,
3667  OverheadCarry = 4,
3668 };
3669 
3670 /*!
3671  * Garmin FIT ChopExerciseName type.
3672  *
3673  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3674  * spreadsheet. More information of the definition and semantics of this type may be available in
3675  * the Garmin FIT SDK.
3676  *
3677  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3678  */
3679 enum class ChopExerciseName : quint16 {
3680  CablePullThrough = 0,
3681  CableRotationalLift = 1,
3682  CableWoodchop = 2,
3683  CrossChopToKnee = 3,
3684  WeightedCrossChopToKnee = 4,
3685  DumbbellChop = 5,
3686  HalfKneelingRotation = 6,
3687  WeightedHalfKneelingRotation = 7,
3688  HalfKneelingRotationalChop = 8,
3689  HalfKneelingRotationalReverseChop = 9,
3690  HalfKneelingStabilityChop = 10,
3691  HalfKneelingStabilityReverseChop = 11,
3692  KneelingRotationalChop = 12,
3693  KneelingRotationalReverseChop = 13,
3694  KneelingStabilityChop = 14,
3695  KneelingWoodchopper = 15,
3696  MedicineBallWoodChops = 16,
3697  PowerSquatChops = 17,
3698  WeightedPowerSquatChops = 18,
3699  StandingRotationalChop = 19,
3700  StandingSplitRotationalChop = 20,
3701  StandingSplitRotationalReverseChop = 21,
3702  StandingStabilityReverseChop = 22,
3703 };
3704 
3705 /*!
3706  * Garmin FIT CoreExerciseName type.
3707  *
3708  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3709  * spreadsheet. More information of the definition and semantics of this type may be available in
3710  * the Garmin FIT SDK.
3711  *
3712  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3713  */
3714 enum class CoreExerciseName : quint16 {
3715  AbsJabs = 0,
3716  WeightedAbsJabs = 1,
3717  AlternatingPlateReach = 2,
3718  BarbellRollout = 3,
3719  WeightedBarbellRollout = 4,
3720  BodyBarObliqueTwist = 5,
3721  CableCorePress = 6,
3722  CableSideBend = 7,
3723  SideBend = 8,
3724  WeightedSideBend = 9,
3725  CrescentCircle = 10,
3726  WeightedCrescentCircle = 11,
3727  CyclingRussianTwist = 12,
3728  WeightedCyclingRussianTwist = 13,
3729  ElevatedFeetRussianTwist = 14,
3730  WeightedElevatedFeetRussianTwist = 15,
3731  HalfTurkishGetUp = 16,
3732  KettlebellWindmill = 17,
3733  KneelingAbWheel = 18,
3734  WeightedKneelingAbWheel = 19,
3735  ModifiedFrontLever = 20,
3736  OpenKneeTucks = 21,
3737  WeightedOpenKneeTucks = 22,
3738  SideAbsLegLift = 23,
3739  WeightedSideAbsLegLift = 24,
3740  SwissBallJackknife = 25,
3741  WeightedSwissBallJackknife = 26,
3742  SwissBallPike = 27,
3743  WeightedSwissBallPike = 28,
3744  SwissBallRollout = 29,
3745  WeightedSwissBallRollout = 30,
3746  TriangleHipPress = 31,
3747  WeightedTriangleHipPress = 32,
3748  TrxSuspendedJackknife = 33,
3749  WeightedTrxSuspendedJackknife = 34,
3750  UBoat = 35,
3751  WeightedUBoat = 36,
3752  WindmillSwitches = 37,
3753  WeightedWindmillSwitches = 38,
3754  AlternatingSlideOut = 39,
3755  WeightedAlternatingSlideOut = 40,
3756  GhdBackExtensions = 41,
3757  WeightedGhdBackExtensions = 42,
3758  OverheadWalk = 43,
3759  Inchworm = 44,
3760  WeightedModifiedFrontLever = 45,
3761  RussianTwist = 46,
3762  AbdominalLegRotations = 47, ///< Deprecated do not use
3763  ArmAndLegExtensionOnKnees = 48,
3764  Bicycle = 49,
3765  BicepCurlWithLegExtension = 50,
3766  CatCow = 51,
3767  Corkscrew = 52,
3768  CrissCross = 53,
3769  CrissCrossWithBall = 54, ///< Deprecated do not use
3770  DoubleLegStretch = 55,
3771  KneeFolds = 56,
3772  LowerLift = 57,
3773  NeckPull = 58,
3774  PelvicClocks = 59,
3775  RollOver = 60,
3776  RollUp = 61,
3777  Rolling = 62,
3778  Rowing1 = 63,
3779  Rowing2 = 64,
3780  Scissors = 65,
3781  SingleLegCircles = 66,
3782  SingleLegStretch = 67,
3783  SnakeTwist1And2 = 68, ///< Deprecated do not use
3784  Swan = 69,
3785  Swimming = 70,
3786  Teaser = 71,
3787  TheHundred = 72,
3788 };
3789 
3790 /*!
3791  * Garmin FIT CrunchExerciseName type.
3792  *
3793  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3794  * spreadsheet. More information of the definition and semantics of this type may be available in
3795  * the Garmin FIT SDK.
3796  *
3797  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3798  */
3799 enum class CrunchExerciseName : quint16 {
3800  BicycleCrunch = 0,
3801  CableCrunch = 1,
3802  CircularArmCrunch = 2,
3803  CrossedArmsCrunch = 3,
3804  WeightedCrossedArmsCrunch = 4,
3805  CrossLegReverseCrunch = 5,
3806  WeightedCrossLegReverseCrunch = 6,
3807  CrunchChop = 7,
3808  WeightedCrunchChop = 8,
3809  DoubleCrunch = 9,
3810  WeightedDoubleCrunch = 10,
3811  ElbowToKneeCrunch = 11,
3812  WeightedElbowToKneeCrunch = 12,
3813  FlutterKicks = 13,
3814  WeightedFlutterKicks = 14,
3815  FoamRollerReverseCrunchOnBench = 15,
3816  WeightedFoamRollerReverseCrunchOnBench = 16,
3817  FoamRollerReverseCrunchWithDumbbell = 17,
3818  FoamRollerReverseCrunchWithMedicineBall = 18,
3819  FrogPress = 19,
3820  HangingKneeRaiseObliqueCrunch = 20,
3821  WeightedHangingKneeRaiseObliqueCrunch = 21,
3822  HipCrossover = 22,
3823  WeightedHipCrossover = 23,
3824  HollowRock = 24,
3825  WeightedHollowRock = 25,
3826  InclineReverseCrunch = 26,
3827  WeightedInclineReverseCrunch = 27,
3828  KneelingCableCrunch = 28,
3829  KneelingCrossCrunch = 29,
3830  WeightedKneelingCrossCrunch = 30,
3831  KneelingObliqueCableCrunch = 31,
3832  KneesToElbow = 32,
3833  LegExtensions = 33,
3834  WeightedLegExtensions = 34,
3835  LegLevers = 35,
3836  McgillCurlUp = 36,
3837  WeightedMcgillCurlUp = 37,
3838  ModifiedPilatesRollUpWithBall = 38,
3839  WeightedModifiedPilatesRollUpWithBall = 39,
3840  PilatesCrunch = 40,
3841  WeightedPilatesCrunch = 41,
3842  PilatesRollUpWithBall = 42,
3843  WeightedPilatesRollUpWithBall = 43,
3844  RaisedLegsCrunch = 44,
3845  WeightedRaisedLegsCrunch = 45,
3846  ReverseCrunch = 46,
3847  WeightedReverseCrunch = 47,
3848  ReverseCrunchOnABench = 48,
3849  WeightedReverseCrunchOnABench = 49,
3850  ReverseCurlAndLift = 50,
3851  WeightedReverseCurlAndLift = 51,
3852  RotationalLift = 52,
3853  WeightedRotationalLift = 53,
3854  SeatedAlternatingReverseCrunch = 54,
3855  WeightedSeatedAlternatingReverseCrunch = 55,
3856  SeatedLegU = 56,
3857  WeightedSeatedLegU = 57,
3858  SideToSideCrunchAndWeave = 58,
3859  WeightedSideToSideCrunchAndWeave = 59,
3860  SingleLegReverseCrunch = 60,
3861  WeightedSingleLegReverseCrunch = 61,
3862  SkaterCrunchCross = 62,
3863  WeightedSkaterCrunchCross = 63,
3864  StandingCableCrunch = 64,
3865  StandingSideCrunch = 65,
3866  StepClimb = 66,
3867  WeightedStepClimb = 67,
3868  SwissBallCrunch = 68,
3869  SwissBallReverseCrunch = 69,
3870  WeightedSwissBallReverseCrunch = 70,
3871  SwissBallRussianTwist = 71,
3872  WeightedSwissBallRussianTwist = 72,
3873  SwissBallSideCrunch = 73,
3874  WeightedSwissBallSideCrunch = 74,
3875  ThoracicCrunchesOnFoamRoller = 75,
3876  WeightedThoracicCrunchesOnFoamRoller = 76,
3877  TricepsCrunch = 77,
3878  WeightedBicycleCrunch = 78,
3879  WeightedCrunch = 79,
3880  WeightedSwissBallCrunch = 80,
3881  ToesToBar = 81,
3882  WeightedToesToBar = 82,
3883  Crunch = 83,
3884  StraightLegCrunchWithBall = 84,
3885 };
3886 
3887 /*!
3888  * Garmin FIT CurlExerciseName type.
3889  *
3890  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3891  * spreadsheet. More information of the definition and semantics of this type may be available in
3892  * the Garmin FIT SDK.
3893  *
3894  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3895  */
3896 enum class CurlExerciseName : quint16 {
3897  AlternatingDumbbellBicepsCurl = 0,
3898  AlternatingDumbbellBicepsCurlOnSwissBall = 1,
3899  AlternatingInclineDumbbellBicepsCurl = 2,
3900  BarbellBicepsCurl = 3,
3901  BarbellReverseWristCurl = 4,
3902  BarbellWristCurl = 5,
3903  BehindTheBackBarbellReverseWristCurl = 6,
3904  BehindTheBackOneArmCableCurl = 7,
3905  CableBicepsCurl = 8,
3906  CableHammerCurl = 9,
3907  CheatingBarbellBicepsCurl = 10,
3908  CloseGripEzBarBicepsCurl = 11,
3909  CrossBodyDumbbellHammerCurl = 12,
3910  DeadHangBicepsCurl = 13,
3911  DeclineHammerCurl = 14,
3912  DumbbellBicepsCurlWithStaticHold = 15,
3913  DumbbellHammerCurl = 16,
3914  DumbbellReverseWristCurl = 17,
3915  DumbbellWristCurl = 18,
3916  EzBarPreacherCurl = 19,
3917  ForwardBendBicepsCurl = 20,
3918  HammerCurlToPress = 21,
3919  InclineDumbbellBicepsCurl = 22,
3920  InclineOffsetThumbDumbbellCurl = 23,
3921  KettlebellBicepsCurl = 24,
3922  LyingConcentrationCableCurl = 25,
3923  OneArmPreacherCurl = 26,
3924  PlatePinchCurl = 27,
3925  PreacherCurlWithCable = 28,
3926  ReverseEzBarCurl = 29,
3927  ReverseGripWristCurl = 30,
3928  ReverseGripBarbellBicepsCurl = 31,
3929  SeatedAlternatingDumbbellBicepsCurl = 32,
3930  SeatedDumbbellBicepsCurl = 33,
3931  SeatedReverseDumbbellCurl = 34,
3932  SplitStanceOffsetPinkyDumbbellCurl = 35,
3933  StandingAlternatingDumbbellCurls = 36,
3934  StandingDumbbellBicepsCurl = 37,
3935  StandingEzBarBicepsCurl = 38,
3936  StaticCurl = 39,
3937  SwissBallDumbbellOverheadTricepsExtension = 40,
3938  SwissBallEzBarPreacherCurl = 41,
3939  TwistingStandingDumbbellBicepsCurl = 42,
3940  WideGripEzBarBicepsCurl = 43,
3941 };
3942 
3943 /*!
3944  * Garmin FIT DeadliftExerciseName type.
3945  *
3946  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3947  * spreadsheet. More information of the definition and semantics of this type may be available in
3948  * the Garmin FIT SDK.
3949  *
3950  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3951  */
3952 enum class DeadliftExerciseName : quint16 {
3953  BarbellDeadlift = 0,
3954  BarbellStraightLegDeadlift = 1,
3955  DumbbellDeadlift = 2,
3956  DumbbellSingleLegDeadliftToRow = 3,
3957  DumbbellStraightLegDeadlift = 4,
3958  KettlebellFloorToShelf = 5,
3959  OneArmOneLegDeadlift = 6,
3960  RackPull = 7,
3961  RotationalDumbbellStraightLegDeadlift = 8,
3962  SingleArmDeadlift = 9,
3963  SingleLegBarbellDeadlift = 10,
3964  SingleLegBarbellStraightLegDeadlift = 11,
3965  SingleLegDeadliftWithBarbell = 12,
3966  SingleLegRdlCircuit = 13,
3967  SingleLegRomanianDeadliftWithDumbbell = 14,
3968  SumoDeadlift = 15,
3969  SumoDeadliftHighPull = 16,
3970  TrapBarDeadlift = 17,
3971  WideGripBarbellDeadlift = 18,
3972 };
3973 
3974 /*!
3975  * Garmin FIT FlyeExerciseName type.
3976  *
3977  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
3978  * spreadsheet. More information of the definition and semantics of this type may be available in
3979  * the Garmin FIT SDK.
3980  *
3981  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
3982  */
3983 enum class FlyeExerciseName : quint16 {
3984  CableCrossover = 0,
3985  DeclineDumbbellFlye = 1,
3986  DumbbellFlye = 2,
3987  InclineDumbbellFlye = 3,
3988  KettlebellFlye = 4,
3989  KneelingRearFlye = 5,
3990  SingleArmStandingCableReverseFlye = 6,
3991  SwissBallDumbbellFlye = 7,
3992  ArmRotations = 8,
3993  HugATree = 9,
3994 };
3995 
3996 /*!
3997  * Garmin FIT HipRaiseExerciseName type.
3998  *
3999  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4000  * spreadsheet. More information of the definition and semantics of this type may be available in
4001  * the Garmin FIT SDK.
4002  *
4003  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4004  */
4005 enum class HipRaiseExerciseName : quint16 {
4006  BarbellHipThrustOnFloor = 0,
4007  BarbellHipThrustWithBench = 1,
4008  BentKneeSwissBallReverseHipRaise = 2,
4009  WeightedBentKneeSwissBallReverseHipRaise = 3,
4010  BridgeWithLegExtension = 4,
4011  WeightedBridgeWithLegExtension = 5,
4012  ClamBridge = 6,
4013  FrontKickTabletop = 7,
4014  WeightedFrontKickTabletop = 8,
4015  HipExtensionAndCross = 9,
4016  WeightedHipExtensionAndCross = 10,
4017  HipRaise = 11,
4018  WeightedHipRaise = 12,
4019  HipRaiseWithFeetOnSwissBall = 13,
4020  WeightedHipRaiseWithFeetOnSwissBall = 14,
4021  HipRaiseWithHeadOnBosuBall = 15,
4022  WeightedHipRaiseWithHeadOnBosuBall = 16,
4023  HipRaiseWithHeadOnSwissBall = 17,
4024  WeightedHipRaiseWithHeadOnSwissBall = 18,
4025  HipRaiseWithKneeSqueeze = 19,
4026  WeightedHipRaiseWithKneeSqueeze = 20,
4027  InclineRearLegExtension = 21,
4028  WeightedInclineRearLegExtension = 22,
4029  KettlebellSwing = 23,
4030  MarchingHipRaise = 24,
4031  WeightedMarchingHipRaise = 25,
4032  MarchingHipRaiseWithFeetOnASwissBall = 26,
4033  WeightedMarchingHipRaiseWithFeetOnASwissBall = 27,
4034  ReverseHipRaise = 28,
4035  WeightedReverseHipRaise = 29,
4036  SingleLegHipRaise = 30,
4037  WeightedSingleLegHipRaise = 31,
4038  SingleLegHipRaiseWithFootOnBench = 32,
4039  WeightedSingleLegHipRaiseWithFootOnBench = 33,
4040  SingleLegHipRaiseWithFootOnBosuBall = 34,
4041  WeightedSingleLegHipRaiseWithFootOnBosuBall = 35,
4042  SingleLegHipRaiseWithFootOnFoamRoller = 36,
4043  WeightedSingleLegHipRaiseWithFootOnFoamRoller = 37,
4044  SingleLegHipRaiseWithFootOnMedicineBall = 38,
4045  WeightedSingleLegHipRaiseWithFootOnMedicineBall = 39,
4046  SingleLegHipRaiseWithHeadOnBosuBall = 40,
4047  WeightedSingleLegHipRaiseWithHeadOnBosuBall = 41,
4048  WeightedClamBridge = 42,
4049  SingleLegSwissBallHipRaiseAndLegCurl = 43,
4050  Clams = 44,
4051  InnerThighCircles = 45, ///< Deprecated do not use
4052  InnerThighSideLift = 46, ///< Deprecated do not use
4053  LegCircles = 47,
4054  LegLift = 48,
4055  LegLiftInExternalRotation = 49,
4056 };
4057 
4058 /*!
4059  * Garmin FIT HipStabilityExerciseName type.
4060  *
4061  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4062  * spreadsheet. More information of the definition and semantics of this type may be available in
4063  * the Garmin FIT SDK.
4064  *
4065  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4066  */
4067 enum class HipStabilityExerciseName : quint16 {
4068  BandSideLyingLegRaise = 0,
4069  DeadBug = 1,
4070  WeightedDeadBug = 2,
4071  ExternalHipRaise = 3,
4072  WeightedExternalHipRaise = 4,
4073  FireHydrantKicks = 5,
4074  WeightedFireHydrantKicks = 6,
4075  HipCircles = 7,
4076  WeightedHipCircles = 8,
4077  InnerThighLift = 9,
4078  WeightedInnerThighLift = 10,
4079  LateralWalksWithBandAtAnkles = 11,
4080  PretzelSideKick = 12,
4081  WeightedPretzelSideKick = 13,
4082  ProneHipInternalRotation = 14,
4083  WeightedProneHipInternalRotation = 15,
4084  Quadruped = 16,
4085  QuadrupedHipExtension = 17,
4086  WeightedQuadrupedHipExtension = 18,
4087  QuadrupedWithLegLift = 19,
4088  WeightedQuadrupedWithLegLift = 20,
4089  SideLyingLegRaise = 21,
4090  WeightedSideLyingLegRaise = 22,
4091  SlidingHipAdduction = 23,
4092  WeightedSlidingHipAdduction = 24,
4093  StandingAdduction = 25,
4094  WeightedStandingAdduction = 26,
4095  StandingCableHipAbduction = 27,
4096  StandingHipAbduction = 28,
4097  WeightedStandingHipAbduction = 29,
4098  StandingRearLegRaise = 30,
4099  WeightedStandingRearLegRaise = 31,
4100  SupineHipInternalRotation = 32,
4101  WeightedSupineHipInternalRotation = 33,
4102 };
4103 
4104 /*!
4105  * Garmin FIT HipSwingExerciseName type.
4106  *
4107  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4108  * spreadsheet. More information of the definition and semantics of this type may be available in
4109  * the Garmin FIT SDK.
4110  *
4111  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4112  */
4113 enum class HipSwingExerciseName : quint16 {
4114  SingleArmKettlebellSwing = 0,
4115  SingleArmDumbbellSwing = 1,
4116  StepOutSwing = 2,
4117 };
4118 
4119 /*!
4120  * Garmin FIT HyperextensionExerciseName type.
4121  *
4122  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4123  * spreadsheet. More information of the definition and semantics of this type may be available in
4124  * the Garmin FIT SDK.
4125  *
4126  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4127  */
4128 enum class HyperextensionExerciseName : quint16 {
4129  BackExtensionWithOppositeArmAndLegReach = 0,
4130  WeightedBackExtensionWithOppositeArmAndLegReach = 1,
4131  BaseRotations = 2,
4132  WeightedBaseRotations = 3,
4133  BentKneeReverseHyperextension = 4,
4134  WeightedBentKneeReverseHyperextension = 5,
4135  HollowHoldAndRoll = 6,
4136  WeightedHollowHoldAndRoll = 7,
4137  Kicks = 8,
4138  WeightedKicks = 9,
4139  KneeRaises = 10,
4140  WeightedKneeRaises = 11,
4141  KneelingSuperman = 12,
4142  WeightedKneelingSuperman = 13,
4143  LatPullDownWithRow = 14,
4144  MedicineBallDeadliftToReach = 15,
4145  OneArmOneLegRow = 16,
4146  OneArmRowWithBand = 17,
4147  OverheadLungeWithMedicineBall = 18,
4148  PlankKneeTucks = 19,
4149  WeightedPlankKneeTucks = 20,
4150  SideStep = 21,
4151  WeightedSideStep = 22,
4152  SingleLegBackExtension = 23,
4153  WeightedSingleLegBackExtension = 24,
4154  SpineExtension = 25,
4155  WeightedSpineExtension = 26,
4156  StaticBackExtension = 27,
4157  WeightedStaticBackExtension = 28,
4158  SupermanFromFloor = 29,
4159  WeightedSupermanFromFloor = 30,
4160  SwissBallBackExtension = 31,
4161  WeightedSwissBallBackExtension = 32,
4162  SwissBallHyperextension = 33,
4163  WeightedSwissBallHyperextension = 34,
4164  SwissBallOppositeArmAndLegLift = 35,
4165  WeightedSwissBallOppositeArmAndLegLift = 36,
4166  SupermanOnSwissBall = 37,
4167  Cobra = 38,
4168  SupineFloorBarre = 39, ///< Deprecated do not use
4169 };
4170 
4171 /*!
4172  * Garmin FIT LateralRaiseExerciseName type.
4173  *
4174  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4175  * spreadsheet. More information of the definition and semantics of this type may be available in
4176  * the Garmin FIT SDK.
4177  *
4178  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4179  */
4180 enum class LateralRaiseExerciseName : quint16 {
4181  FortyFiveDegreeCableExternalRotation = 0,
4182  AlternatingLateralRaiseWithStaticHold = 1,
4183  BarMuscleUp = 2,
4184  BentOverLateralRaise = 3,
4185  CableDiagonalRaise = 4,
4186  CableFrontRaise = 5,
4187  CalorieRow = 6,
4188  ComboShoulderRaise = 7,
4189  DumbbellDiagonalRaise = 8,
4190  DumbbellVRaise = 9,
4191  FrontRaise = 10,
4192  LeaningDumbbellLateralRaise = 11,
4193  LyingDumbbellRaise = 12,
4194  MuscleUp = 13,
4195  OneArmCableLateralRaise = 14,
4196  OverhandGripRearLateralRaise = 15,
4197  PlateRaises = 16,
4198  RingDip = 17,
4199  WeightedRingDip = 18,
4200  RingMuscleUp = 19,
4201  WeightedRingMuscleUp = 20,
4202  RopeClimb = 21,
4203  WeightedRopeClimb = 22,
4204  Scaption = 23,
4205  SeatedLateralRaise = 24,
4206  SeatedRearLateralRaise = 25,
4207  SideLyingLateralRaise = 26,
4208  StandingLift = 27,
4209  SuspendedRow = 28,
4210  UnderhandGripRearLateralRaise = 29,
4211  WallSlide = 30,
4212  WeightedWallSlide = 31,
4213  ArmCircles = 32,
4214  ShavingTheHead = 33,
4215 };
4216 
4217 /*!
4218  * Garmin FIT LegCurlExerciseName type.
4219  *
4220  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4221  * spreadsheet. More information of the definition and semantics of this type may be available in
4222  * the Garmin FIT SDK.
4223  *
4224  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4225  */
4226 enum class LegCurlExerciseName : quint16 {
4227  LegCurl = 0,
4228  WeightedLegCurl = 1,
4229  GoodMorning = 2,
4230  SeatedBarbellGoodMorning = 3,
4231  SingleLegBarbellGoodMorning = 4,
4232  SingleLegSlidingLegCurl = 5,
4233  SlidingLegCurl = 6,
4234  SplitBarbellGoodMorning = 7,
4235  SplitStanceExtension = 8,
4236  StaggeredStanceGoodMorning = 9,
4237  SwissBallHipRaiseAndLegCurl = 10,
4238  ZercherGoodMorning = 11,
4239 };
4240 
4241 /*!
4242  * Garmin FIT LegRaiseExerciseName type.
4243  *
4244  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4245  * spreadsheet. More information of the definition and semantics of this type may be available in
4246  * the Garmin FIT SDK.
4247  *
4248  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4249  */
4250 enum class LegRaiseExerciseName : quint16 {
4251  HangingKneeRaise = 0,
4252  HangingLegRaise = 1,
4253  WeightedHangingLegRaise = 2,
4254  HangingSingleLegRaise = 3,
4255  WeightedHangingSingleLegRaise = 4,
4256  KettlebellLegRaises = 5,
4257  LegLoweringDrill = 6,
4258  WeightedLegLoweringDrill = 7,
4259  LyingStraightLegRaise = 8,
4260  WeightedLyingStraightLegRaise = 9,
4261  MedicineBallLegDrops = 10,
4262  QuadrupedLegRaise = 11,
4263  WeightedQuadrupedLegRaise = 12,
4264  ReverseLegRaise = 13,
4265  WeightedReverseLegRaise = 14,
4266  ReverseLegRaiseOnSwissBall = 15,
4267  WeightedReverseLegRaiseOnSwissBall = 16,
4268  SingleLegLoweringDrill = 17,
4269  WeightedSingleLegLoweringDrill = 18,
4270  WeightedHangingKneeRaise = 19,
4271  LateralStepover = 20,
4272  WeightedLateralStepover = 21,
4273 };
4274 
4275 /*!
4276  * Garmin FIT LungeExerciseName type.
4277  *
4278  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4279  * spreadsheet. More information of the definition and semantics of this type may be available in
4280  * the Garmin FIT SDK.
4281  *
4282  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4283  */
4284 enum class LungeExerciseName : quint16 {
4285  OverheadLunge = 0,
4286  LungeMatrix = 1,
4287  WeightedLungeMatrix = 2,
4288  AlternatingBarbellForwardLunge = 3,
4289  AlternatingDumbbellLungeWithReach = 4,
4290  BackFootElevatedDumbbellSplitSquat = 5,
4291  BarbellBoxLunge = 6,
4292  BarbellBulgarianSplitSquat = 7,
4293  BarbellCrossoverLunge = 8,
4294  BarbellFrontSplitSquat = 9,
4295  BarbellLunge = 10,
4296  BarbellReverseLunge = 11,
4297  BarbellSideLunge = 12,
4298  BarbellSplitSquat = 13,
4299  CoreControlRearLunge = 14,
4300  DiagonalLunge = 15,
4301  DropLunge = 16,
4302  DumbbellBoxLunge = 17,
4303  DumbbellBulgarianSplitSquat = 18,
4304  DumbbellCrossoverLunge = 19,
4305  DumbbellDiagonalLunge = 20,
4306  DumbbellLunge = 21,
4307  DumbbellLungeAndRotation = 22,
4308  DumbbellOverheadBulgarianSplitSquat = 23,
4309  DumbbellReverseLungeToHighKneeAndPress = 24,
4310  DumbbellSideLunge = 25,
4311  ElevatedFrontFootBarbellSplitSquat = 26,
4312  FrontFootElevatedDumbbellSplitSquat = 27,
4313  GunslingerLunge = 28,
4314  LawnmowerLunge = 29,
4315  LowLungeWithIsometricAdduction = 30,
4316  LowSideToSideLunge = 31,
4317  Lunge = 32,
4318  WeightedLunge = 33,
4319  LungeWithArmReach = 34,
4320  LungeWithDiagonalReach = 35,
4321  LungeWithSideBend = 36,
4322  OffsetDumbbellLunge = 37,
4323  OffsetDumbbellReverseLunge = 38,
4324  OverheadBulgarianSplitSquat = 39,
4325  OverheadDumbbellReverseLunge = 40,
4326  OverheadDumbbellSplitSquat = 41,
4327  OverheadLungeWithRotation = 42,
4328  ReverseBarbellBoxLunge = 43,
4329  ReverseBoxLunge = 44,
4330  ReverseDumbbellBoxLunge = 45,
4331  ReverseDumbbellCrossoverLunge = 46,
4332  ReverseDumbbellDiagonalLunge = 47,
4333  ReverseLungeWithReachBack = 48,
4334  WeightedReverseLungeWithReachBack = 49,
4335  ReverseLungeWithTwistAndOverheadReach = 50,
4336  WeightedReverseLungeWithTwistAndOverheadReach = 51,
4337  ReverseSlidingBoxLunge = 52,
4338  WeightedReverseSlidingBoxLunge = 53,
4339  ReverseSlidingLunge = 54,
4340  WeightedReverseSlidingLunge = 55,
4341  RunnersLungeToBalance = 56,
4342  WeightedRunnersLungeToBalance = 57,
4343  ShiftingSideLunge = 58,
4344  SideAndCrossoverLunge = 59,
4345  WeightedSideAndCrossoverLunge = 60,
4346  SideLunge = 61,
4347  WeightedSideLunge = 62,
4348  SideLungeAndPress = 63,
4349  SideLungeJumpOff = 64,
4350  SideLungeSweep = 65,
4351  WeightedSideLungeSweep = 66,
4352  SideLungeToCrossoverTap = 67,
4353  WeightedSideLungeToCrossoverTap = 68,
4354  SideToSideLungeChops = 69,
4355  WeightedSideToSideLungeChops = 70,
4356  SiffJumpLunge = 71,
4357  WeightedSiffJumpLunge = 72,
4358  SingleArmReverseLungeAndPress = 73,
4359  SlidingLateralLunge = 74,
4360  WeightedSlidingLateralLunge = 75,
4361  WalkingBarbellLunge = 76,
4362  WalkingDumbbellLunge = 77,
4363  WalkingLunge = 78,
4364  WeightedWalkingLunge = 79,
4365  WideGripOverheadBarbellSplitSquat = 80,
4366 };
4367 
4368 /*!
4369  * Garmin FIT OlympicLiftExerciseName type.
4370  *
4371  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4372  * spreadsheet. More information of the definition and semantics of this type may be available in
4373  * the Garmin FIT SDK.
4374  *
4375  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4376  */
4377 enum class OlympicLiftExerciseName : quint16 {
4378  BarbellHangPowerClean = 0,
4379  BarbellHangSquatClean = 1,
4380  BarbellPowerClean = 2,
4381  BarbellPowerSnatch = 3,
4382  BarbellSquatClean = 4,
4383  CleanAndJerk = 5,
4384  BarbellHangPowerSnatch = 6,
4385  BarbellHangPull = 7,
4386  BarbellHighPull = 8,
4387  BarbellSnatch = 9,
4388  BarbellSplitJerk = 10,
4389  Clean = 11,
4390  DumbbellClean = 12,
4391  DumbbellHangPull = 13,
4392  OneHandDumbbellSplitSnatch = 14,
4393  PushJerk = 15,
4394  SingleArmDumbbellSnatch = 16,
4395  SingleArmHangSnatch = 17,
4396  SingleArmKettlebellSnatch = 18,
4397  SplitJerk = 19,
4398  SquatCleanAndJerk = 20,
4399 };
4400 
4401 /*!
4402  * Garmin FIT PlankExerciseName type.
4403  *
4404  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4405  * spreadsheet. More information of the definition and semantics of this type may be available in
4406  * the Garmin FIT SDK.
4407  *
4408  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4409  */
4410 enum class PlankExerciseName : quint16 {
4411  FortyFiveDegreePlank = 0,
4412  Weighted45DegreePlank = 1,
4413  NinetyDegreeStaticHold = 2,
4414  Weighted90DegreeStaticHold = 3,
4415  BearCrawl = 4,
4416  WeightedBearCrawl = 5,
4417  CrossBodyMountainClimber = 6,
4418  WeightedCrossBodyMountainClimber = 7,
4419  ElbowPlankPikeJacks = 8,
4420  WeightedElbowPlankPikeJacks = 9,
4421  ElevatedFeetPlank = 10,
4422  WeightedElevatedFeetPlank = 11,
4423  ElevatorAbs = 12,
4424  WeightedElevatorAbs = 13,
4425  ExtendedPlank = 14,
4426  WeightedExtendedPlank = 15,
4427  FullPlankPasseTwist = 16,
4428  WeightedFullPlankPasseTwist = 17,
4429  InchingElbowPlank = 18,
4430  WeightedInchingElbowPlank = 19,
4431  InchwormToSidePlank = 20,
4432  WeightedInchwormToSidePlank = 21,
4433  KneelingPlank = 22,
4434  WeightedKneelingPlank = 23,
4435  KneelingSidePlankWithLegLift = 24,
4436  WeightedKneelingSidePlankWithLegLift = 25,
4437  LateralRoll = 26,
4438  WeightedLateralRoll = 27,
4439  LyingReversePlank = 28,
4440  WeightedLyingReversePlank = 29,
4441  MedicineBallMountainClimber = 30,
4442  WeightedMedicineBallMountainClimber = 31,
4443  ModifiedMountainClimberAndExtension = 32,
4444  WeightedModifiedMountainClimberAndExtension = 33,
4445  MountainClimber = 34,
4446  WeightedMountainClimber = 35,
4447  MountainClimberOnSlidingDiscs = 36,
4448  WeightedMountainClimberOnSlidingDiscs = 37,
4449  MountainClimberWithFeetOnBosuBall = 38,
4450  WeightedMountainClimberWithFeetOnBosuBall = 39,
4451  MountainClimberWithHandsOnBench = 40,
4452  MountainClimberWithHandsOnSwissBall = 41,
4453  WeightedMountainClimberWithHandsOnSwissBall = 42,
4454  Plank = 43,
4455  PlankJacksWithFeetOnSlidingDiscs = 44,
4456  WeightedPlankJacksWithFeetOnSlidingDiscs = 45,
4457  PlankKneeTwist = 46,
4458  WeightedPlankKneeTwist = 47,
4459  PlankPikeJumps = 48,
4460  WeightedPlankPikeJumps = 49,
4461  PlankPikes = 50,
4462  WeightedPlankPikes = 51,
4463  PlankToStandUp = 52,
4464  WeightedPlankToStandUp = 53,
4465  PlankWithArmRaise = 54,
4466  WeightedPlankWithArmRaise = 55,
4467  PlankWithKneeToElbow = 56,
4468  WeightedPlankWithKneeToElbow = 57,
4469  PlankWithObliqueCrunch = 58,
4470  WeightedPlankWithObliqueCrunch = 59,
4471  PlyometricSidePlank = 60,
4472  WeightedPlyometricSidePlank = 61,
4473  RollingSidePlank = 62,
4474  WeightedRollingSidePlank = 63,
4475  SideKickPlank = 64,
4476  WeightedSideKickPlank = 65,
4477  SidePlank = 66,
4478  WeightedSidePlank = 67,
4479  SidePlankAndRow = 68,
4480  WeightedSidePlankAndRow = 69,
4481  SidePlankLift = 70,
4482  WeightedSidePlankLift = 71,
4483  SidePlankWithElbowOnBosuBall = 72,
4484  WeightedSidePlankWithElbowOnBosuBall = 73,
4485  SidePlankWithFeetOnBench = 74,
4486  WeightedSidePlankWithFeetOnBench = 75,
4487  SidePlankWithKneeCircle = 76,
4488  WeightedSidePlankWithKneeCircle = 77,
4489  SidePlankWithKneeTuck = 78,
4490  WeightedSidePlankWithKneeTuck = 79,
4491  SidePlankWithLegLift = 80,
4492  WeightedSidePlankWithLegLift = 81,
4493  SidePlankWithReachUnder = 82,
4494  WeightedSidePlankWithReachUnder = 83,
4495  SingleLegElevatedFeetPlank = 84,
4496  WeightedSingleLegElevatedFeetPlank = 85,
4497  SingleLegFlexAndExtend = 86,
4498  WeightedSingleLegFlexAndExtend = 87,
4499  SingleLegSidePlank = 88,
4500  WeightedSingleLegSidePlank = 89,
4501  SpidermanPlank = 90,
4502  WeightedSpidermanPlank = 91,
4503  StraightArmPlank = 92,
4504  WeightedStraightArmPlank = 93,
4505  StraightArmPlankWithShoulderTouch = 94,
4506  WeightedStraightArmPlankWithShoulderTouch = 95,
4507  SwissBallPlank = 96,
4508  WeightedSwissBallPlank = 97,
4509  SwissBallPlankLegLift = 98,
4510  WeightedSwissBallPlankLegLift = 99,
4511  SwissBallPlankLegLiftAndHold = 100,
4512  SwissBallPlankWithFeetOnBench = 101,
4513  WeightedSwissBallPlankWithFeetOnBench = 102,
4514  SwissBallProneJackknife = 103,
4515  WeightedSwissBallProneJackknife = 104,
4516  SwissBallSidePlank = 105,
4517  WeightedSwissBallSidePlank = 106,
4518  ThreeWayPlank = 107,
4519  WeightedThreeWayPlank = 108,
4520  TowelPlankAndKneeIn = 109,
4521  WeightedTowelPlankAndKneeIn = 110,
4522  TStabilization = 111,
4523  WeightedTStabilization = 112,
4524  TurkishGetUpToSidePlank = 113,
4525  WeightedTurkishGetUpToSidePlank = 114,
4526  TwoPointPlank = 115,
4527  WeightedTwoPointPlank = 116,
4528  WeightedPlank = 117,
4529  WideStancePlankWithDiagonalArmLift = 118,
4530  WeightedWideStancePlankWithDiagonalArmLift = 119,
4531  WideStancePlankWithDiagonalLegLift = 120,
4532  WeightedWideStancePlankWithDiagonalLegLift = 121,
4533  WideStancePlankWithLegLift = 122,
4534  WeightedWideStancePlankWithLegLift = 123,
4535  WideStancePlankWithOppositeArmAndLegLift = 124,
4536  WeightedMountainClimberWithHandsOnBench = 125,
4537  WeightedSwissBallPlankLegLiftAndHold = 126,
4538  WeightedWideStancePlankWithOppositeArmAndLegLift = 127,
4539  PlankWithFeetOnSwissBall = 128,
4540  SidePlankToPlankWithReachUnder = 129,
4541  BridgeWithGluteLowerLift = 130,
4542  BridgeOneLegBridge = 131,
4543  PlankWithArmVariations = 132,
4544  PlankWithLegLift = 133,
4545  ReversePlankWithLegPull = 134,
4546 };
4547 
4548 /*!
4549  * Garmin FIT PlyoExerciseName type.
4550  *
4551  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4552  * spreadsheet. More information of the definition and semantics of this type may be available in
4553  * the Garmin FIT SDK.
4554  *
4555  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4556  */
4557 enum class PlyoExerciseName : quint16 {
4558  AlternatingJumpLunge = 0,
4559  WeightedAlternatingJumpLunge = 1,
4560  BarbellJumpSquat = 2,
4561  BodyWeightJumpSquat = 3,
4562  WeightedJumpSquat = 4,
4563  CrossKneeStrike = 5,
4564  WeightedCrossKneeStrike = 6,
4565  DepthJump = 7,
4566  WeightedDepthJump = 8,
4567  DumbbellJumpSquat = 9,
4568  DumbbellSplitJump = 10,
4569  FrontKneeStrike = 11,
4570  WeightedFrontKneeStrike = 12,
4571  HighBoxJump = 13,
4572  WeightedHighBoxJump = 14,
4573  IsometricExplosiveBodyWeightJumpSquat = 15,
4574  WeightedIsometricExplosiveJumpSquat = 16,
4575  LateralLeapAndHop = 17,
4576  WeightedLateralLeapAndHop = 18,
4577  LateralPlyoSquats = 19,
4578  WeightedLateralPlyoSquats = 20,
4579  LateralSlide = 21,
4580  WeightedLateralSlide = 22,
4581  MedicineBallOverheadThrows = 23,
4582  MedicineBallSideThrow = 24,
4583  MedicineBallSlam = 25,
4584  SideToSideMedicineBallThrows = 26,
4585  SideToSideShuffleJump = 27,
4586  WeightedSideToSideShuffleJump = 28,
4587  SquatJumpOntoBox = 29,
4588  WeightedSquatJumpOntoBox = 30,
4589  SquatJumpsInAndOut = 31,
4590  WeightedSquatJumpsInAndOut = 32,
4591 };
4592 
4593 /*!
4594  * Garmin FIT PullUpExerciseName type.
4595  *
4596  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4597  * spreadsheet. More information of the definition and semantics of this type may be available in
4598  * the Garmin FIT SDK.
4599  *
4600  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4601  */
4602 enum class PullUpExerciseName : quint16 {
4603  BandedPullUps = 0,
4604  ThirtyDegreeLatPulldown = 1,
4605  BandAssistedChinUp = 2,
4606  CloseGripChinUp = 3,
4607  WeightedCloseGripChinUp = 4,
4608  CloseGripLatPulldown = 5,
4609  CrossoverChinUp = 6,
4610  WeightedCrossoverChinUp = 7,
4611  EzBarPullover = 8,
4612  HangingHurdle = 9,
4613  WeightedHangingHurdle = 10,
4614  KneelingLatPulldown = 11,
4615  KneelingUnderhandGripLatPulldown = 12,
4616  LatPulldown = 13,
4617  MixedGripChinUp = 14,
4618  WeightedMixedGripChinUp = 15,
4619  MixedGripPullUp = 16,
4620  WeightedMixedGripPullUp = 17,
4621  ReverseGripPulldown = 18,
4622  StandingCablePullover = 19,
4623  StraightArmPulldown = 20,
4624  SwissBallEzBarPullover = 21,
4625  TowelPullUp = 22,
4626  WeightedTowelPullUp = 23,
4627  WeightedPullUp = 24,
4628  WideGripLatPulldown = 25,
4629  WideGripPullUp = 26,
4630  WeightedWideGripPullUp = 27,
4631  BurpeePullUp = 28,
4632  WeightedBurpeePullUp = 29,
4633  JumpingPullUps = 30,
4634  WeightedJumpingPullUps = 31,
4635  KippingPullUp = 32,
4636  WeightedKippingPullUp = 33,
4637  LPullUp = 34,
4638  WeightedLPullUp = 35,
4639  SuspendedChinUp = 36,
4640  WeightedSuspendedChinUp = 37,
4641  PullUp = 38,
4642 };
4643 
4644 /*!
4645  * Garmin FIT PushUpExerciseName type.
4646  *
4647  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4648  * spreadsheet. More information of the definition and semantics of this type may be available in
4649  * the Garmin FIT SDK.
4650  *
4651  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4652  */
4653 enum class PushUpExerciseName : quint16 {
4654  ChestPressWithBand = 0,
4655  AlternatingStaggeredPushUp = 1,
4656  WeightedAlternatingStaggeredPushUp = 2,
4657  AlternatingHandsMedicineBallPushUp = 3,
4658  WeightedAlternatingHandsMedicineBallPushUp = 4,
4659  BosuBallPushUp = 5,
4660  WeightedBosuBallPushUp = 6,
4661  ClappingPushUp = 7,
4662  WeightedClappingPushUp = 8,
4663  CloseGripMedicineBallPushUp = 9,
4664  WeightedCloseGripMedicineBallPushUp = 10,
4665  CloseHandsPushUp = 11,
4666  WeightedCloseHandsPushUp = 12,
4667  DeclinePushUp = 13,
4668  WeightedDeclinePushUp = 14,
4669  DiamondPushUp = 15,
4670  WeightedDiamondPushUp = 16,
4671  ExplosiveCrossoverPushUp = 17,
4672  WeightedExplosiveCrossoverPushUp = 18,
4673  ExplosivePushUp = 19,
4674  WeightedExplosivePushUp = 20,
4675  FeetElevatedSideToSidePushUp = 21,
4676  WeightedFeetElevatedSideToSidePushUp = 22,
4677  HandReleasePushUp = 23,
4678  WeightedHandReleasePushUp = 24,
4679  HandstandPushUp = 25,
4680  WeightedHandstandPushUp = 26,
4681  InclinePushUp = 27,
4682  WeightedInclinePushUp = 28,
4683  IsometricExplosivePushUp = 29,
4684  WeightedIsometricExplosivePushUp = 30,
4685  JudoPushUp = 31,
4686  WeightedJudoPushUp = 32,
4687  KneelingPushUp = 33,
4688  WeightedKneelingPushUp = 34,
4689  MedicineBallChestPass = 35,
4690  MedicineBallPushUp = 36,
4691  WeightedMedicineBallPushUp = 37,
4692  OneArmPushUp = 38,
4693  WeightedOneArmPushUp = 39,
4694  WeightedPushUp = 40,
4695  PushUpAndRow = 41,
4696  WeightedPushUpAndRow = 42,
4697  PushUpPlus = 43,
4698  WeightedPushUpPlus = 44,
4699  PushUpWithFeetOnSwissBall = 45,
4700  WeightedPushUpWithFeetOnSwissBall = 46,
4701  PushUpWithOneHandOnMedicineBall = 47,
4702  WeightedPushUpWithOneHandOnMedicineBall = 48,
4703  ShoulderPushUp = 49,
4704  WeightedShoulderPushUp = 50,
4705  SingleArmMedicineBallPushUp = 51,
4706  WeightedSingleArmMedicineBallPushUp = 52,
4707  SpidermanPushUp = 53,
4708  WeightedSpidermanPushUp = 54,
4709  StackedFeetPushUp = 55,
4710  WeightedStackedFeetPushUp = 56,
4711  StaggeredHandsPushUp = 57,
4712  WeightedStaggeredHandsPushUp = 58,
4713  SuspendedPushUp = 59,
4714  WeightedSuspendedPushUp = 60,
4715  SwissBallPushUp = 61,
4716  WeightedSwissBallPushUp = 62,
4717  SwissBallPushUpPlus = 63,
4718  WeightedSwissBallPushUpPlus = 64,
4719  TPushUp = 65,
4720  WeightedTPushUp = 66,
4721  TripleStopPushUp = 67,
4722  WeightedTripleStopPushUp = 68,
4723  WideHandsPushUp = 69,
4724  WeightedWideHandsPushUp = 70,
4725  ParalletteHandstandPushUp = 71,
4726  WeightedParalletteHandstandPushUp = 72,
4727  RingHandstandPushUp = 73,
4728  WeightedRingHandstandPushUp = 74,
4729  RingPushUp = 75,
4730  WeightedRingPushUp = 76,
4731  PushUp = 77,
4732  PilatesPushup = 78,
4733 };
4734 
4735 /*!
4736  * Garmin FIT RowExerciseName type.
4737  *
4738  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4739  * spreadsheet. More information of the definition and semantics of this type may be available in
4740  * the Garmin FIT SDK.
4741  *
4742  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4743  */
4744 enum class RowExerciseName : quint16 {
4745  BarbellStraightLegDeadliftToRow = 0,
4746  CableRowStanding = 1,
4747  DumbbellRow = 2,
4748  ElevatedFeetInvertedRow = 3,
4749  WeightedElevatedFeetInvertedRow = 4,
4750  FacePull = 5,
4751  FacePullWithExternalRotation = 6,
4752  InvertedRowWithFeetOnSwissBall = 7,
4753  WeightedInvertedRowWithFeetOnSwissBall = 8,
4754  KettlebellRow = 9,
4755  ModifiedInvertedRow = 10,
4756  WeightedModifiedInvertedRow = 11,
4757  NeutralGripAlternatingDumbbellRow = 12,
4758  OneArmBentOverRow = 13,
4759  OneLeggedDumbbellRow = 14,
4760  RenegadeRow = 15,
4761  ReverseGripBarbellRow = 16,
4762  RopeHandleCableRow = 17,
4763  SeatedCableRow = 18,
4764  SeatedDumbbellRow = 19,
4765  SingleArmCableRow = 20,
4766  SingleArmCableRowAndRotation = 21,
4767  SingleArmInvertedRow = 22,
4768  WeightedSingleArmInvertedRow = 23,
4769  SingleArmNeutralGripDumbbellRow = 24,
4770  SingleArmNeutralGripDumbbellRowAndRotation = 25,
4771  SuspendedInvertedRow = 26,
4772  WeightedSuspendedInvertedRow = 27,
4773  TBarRow = 28,
4774  TowelGripInvertedRow = 29,
4775  WeightedTowelGripInvertedRow = 30,
4776  UnderhandGripCableRow = 31,
4777  VGripCableRow = 32,
4778  WideGripSeatedCableRow = 33,
4779 };
4780 
4781 /*!
4782  * Garmin FIT ShoulderPressExerciseName type.
4783  *
4784  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4785  * spreadsheet. More information of the definition and semantics of this type may be available in
4786  * the Garmin FIT SDK.
4787  *
4788  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4789  */
4790 enum class ShoulderPressExerciseName : quint16 {
4791  AlternatingDumbbellShoulderPress = 0,
4792  ArnoldPress = 1,
4793  BarbellFrontSquatToPushPress = 2,
4794  BarbellPushPress = 3,
4795  BarbellShoulderPress = 4,
4796  DeadCurlPress = 5,
4797  DumbbellAlternatingShoulderPressAndTwist = 6,
4798  DumbbellHammerCurlToLungeToPress = 7,
4799  DumbbellPushPress = 8,
4800  FloorInvertedShoulderPress = 9,
4801  WeightedFloorInvertedShoulderPress = 10,
4802  InvertedShoulderPress = 11,
4803  WeightedInvertedShoulderPress = 12,
4804  OneArmPushPress = 13,
4805  OverheadBarbellPress = 14,
4806  OverheadDumbbellPress = 15,
4807  SeatedBarbellShoulderPress = 16,
4808  SeatedDumbbellShoulderPress = 17,
4809  SingleArmDumbbellShoulderPress = 18,
4810  SingleArmStepUpAndPress = 19,
4811  SmithMachineOverheadPress = 20,
4812  SplitStanceHammerCurlToPress = 21,
4813  SwissBallDumbbellShoulderPress = 22,
4814  WeightPlateFrontRaise = 23,
4815 };
4816 
4817 /*!
4818  * Garmin FIT ShoulderStabilityExerciseName type.
4819  *
4820  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4821  * spreadsheet. More information of the definition and semantics of this type may be available in
4822  * the Garmin FIT SDK.
4823  *
4824  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4825  */
4826 enum class ShoulderStabilityExerciseName : quint16 {
4827  NinetyDegreeCableExternalRotation = 0,
4828  BandExternalRotation = 1,
4829  BandInternalRotation = 2,
4830  BentArmLateralRaiseAndExternalRotation = 3,
4831  CableExternalRotation = 4,
4832  DumbbellFacePullWithExternalRotation = 5,
4833  FloorIRaise = 6,
4834  WeightedFloorIRaise = 7,
4835  FloorTRaise = 8,
4836  WeightedFloorTRaise = 9,
4837  FloorYRaise = 10,
4838  WeightedFloorYRaise = 11,
4839  InclineIRaise = 12,
4840  WeightedInclineIRaise = 13,
4841  InclineLRaise = 14,
4842  WeightedInclineLRaise = 15,
4843  InclineTRaise = 16,
4844  WeightedInclineTRaise = 17,
4845  InclineWRaise = 18,
4846  WeightedInclineWRaise = 19,
4847  InclineYRaise = 20,
4848  WeightedInclineYRaise = 21,
4849  LyingExternalRotation = 22,
4850  SeatedDumbbellExternalRotation = 23,
4851  StandingLRaise = 24,
4852  SwissBallIRaise = 25,
4853  WeightedSwissBallIRaise = 26,
4854  SwissBallTRaise = 27,
4855  WeightedSwissBallTRaise = 28,
4856  SwissBallWRaise = 29,
4857  WeightedSwissBallWRaise = 30,
4858  SwissBallYRaise = 31,
4859  WeightedSwissBallYRaise = 32,
4860 };
4861 
4862 /*!
4863  * Garmin FIT ShrugExerciseName type.
4864  *
4865  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4866  * spreadsheet. More information of the definition and semantics of this type may be available in
4867  * the Garmin FIT SDK.
4868  *
4869  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4870  */
4871 enum class ShrugExerciseName : quint16 {
4872  BarbellJumpShrug = 0,
4873  BarbellShrug = 1,
4874  BarbellUprightRow = 2,
4875  BehindTheBackSmithMachineShrug = 3,
4876  DumbbellJumpShrug = 4,
4877  DumbbellShrug = 5,
4878  DumbbellUprightRow = 6,
4879  InclineDumbbellShrug = 7,
4880  OverheadBarbellShrug = 8,
4881  OverheadDumbbellShrug = 9,
4882  ScaptionAndShrug = 10,
4883  ScapularRetraction = 11,
4884  SerratusChairShrug = 12,
4885  WeightedSerratusChairShrug = 13,
4886  SerratusShrug = 14,
4887  WeightedSerratusShrug = 15,
4888  WideGripJumpShrug = 16,
4889 };
4890 
4891 /*!
4892  * Garmin FIT SitUpExerciseName type.
4893  *
4894  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4895  * spreadsheet. More information of the definition and semantics of this type may be available in
4896  * the Garmin FIT SDK.
4897  *
4898  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4899  */
4900 enum class SitUpExerciseName : quint16 {
4901  AlternatingSitUp = 0,
4902  WeightedAlternatingSitUp = 1,
4903  BentKneeVUp = 2,
4904  WeightedBentKneeVUp = 3,
4905  ButterflySitUp = 4,
4906  WeightedButterflySitup = 5,
4907  CrossPunchRollUp = 6,
4908  WeightedCrossPunchRollUp = 7,
4909  CrossedArmsSitUp = 8,
4910  WeightedCrossedArmsSitUp = 9,
4911  GetUpSitUp = 10,
4912  WeightedGetUpSitUp = 11,
4913  HoveringSitUp = 12,
4914  WeightedHoveringSitUp = 13,
4915  KettlebellSitUp = 14,
4916  MedicineBallAlternatingVUp = 15,
4917  MedicineBallSitUp = 16,
4918  MedicineBallVUp = 17,
4919  ModifiedSitUp = 18,
4920  NegativeSitUp = 19,
4921  OneArmFullSitUp = 20,
4922  RecliningCircle = 21,
4923  WeightedRecliningCircle = 22,
4924  ReverseCurlUp = 23,
4925  WeightedReverseCurlUp = 24,
4926  SingleLegSwissBallJackknife = 25,
4927  WeightedSingleLegSwissBallJackknife = 26,
4928  TheTeaser = 27,
4929  TheTeaserWeighted = 28,
4930  ThreePartRollDown = 29,
4931  WeightedThreePartRollDown = 30,
4932  VUp = 31,
4933  WeightedVUp = 32,
4934  WeightedRussianTwistOnSwissBall = 33,
4935  WeightedSitUp = 34,
4936  XAbs = 35,
4937  WeightedXAbs = 36,
4938  SitUp = 37,
4939 };
4940 
4941 /*!
4942  * Garmin FIT SquatExerciseName type.
4943  *
4944  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
4945  * spreadsheet. More information of the definition and semantics of this type may be available in
4946  * the Garmin FIT SDK.
4947  *
4948  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
4949  */
4950 enum class SquatExerciseName : quint16 {
4951  LegPress = 0,
4952  BackSquatWithBodyBar = 1,
4953  BackSquats = 2,
4954  WeightedBackSquats = 3,
4955  BalancingSquat = 4,
4956  WeightedBalancingSquat = 5,
4957  BarbellBackSquat = 6,
4958  BarbellBoxSquat = 7,
4959  BarbellFrontSquat = 8,
4960  BarbellHackSquat = 9,
4961  BarbellHangSquatSnatch = 10,
4962  BarbellLateralStepUp = 11,
4963  BarbellQuarterSquat = 12,
4964  BarbellSiffSquat = 13,
4965  BarbellSquatSnatch = 14,
4966  BarbellSquatWithHeelsRaised = 15,
4967  BarbellStepover = 16,
4968  BarbellStepUp = 17,
4969  BenchSquatWithRotationalChop = 18,
4970  WeightedBenchSquatWithRotationalChop = 19,
4971  BodyWeightWallSquat = 20,
4972  WeightedWallSquat = 21,
4973  BoxStepSquat = 22,
4974  WeightedBoxStepSquat = 23,
4975  BracedSquat = 24,
4976  CrossedArmBarbellFrontSquat = 25,
4977  CrossoverDumbbellStepUp = 26,
4978  DumbbellFrontSquat = 27,
4979  DumbbellSplitSquat = 28,
4980  DumbbellSquat = 29,
4981  DumbbellSquatClean = 30,
4982  DumbbellStepover = 31,
4983  DumbbellStepUp = 32,
4984  ElevatedSingleLegSquat = 33,
4985  WeightedElevatedSingleLegSquat = 34,
4986  FigureFourSquats = 35,
4987  WeightedFigureFourSquats = 36,
4988  GobletSquat = 37,
4989  KettlebellSquat = 38,
4990  KettlebellSwingOverhead = 39,
4991  KettlebellSwingWithFlipToSquat = 40,
4992  LateralDumbbellStepUp = 41,
4993  OneLeggedSquat = 42,
4994  OverheadDumbbellSquat = 43,
4995  OverheadSquat = 44,
4996  PartialSingleLegSquat = 45,
4997  WeightedPartialSingleLegSquat = 46,
4998  PistolSquat = 47,
4999  WeightedPistolSquat = 48,
5000  PlieSlides = 49,
5001  WeightedPlieSlides = 50,
5002  PlieSquat = 51,
5003  WeightedPlieSquat = 52,
5004  PrisonerSquat = 53,
5005  WeightedPrisonerSquat = 54,
5006  SingleLegBenchGetUp = 55,
5007  WeightedSingleLegBenchGetUp = 56,
5008  SingleLegBenchSquat = 57,
5009  WeightedSingleLegBenchSquat = 58,
5010  SingleLegSquatOnSwissBall = 59,
5011  WeightedSingleLegSquatOnSwissBall = 60,
5012  Squat = 61,
5013  WeightedSquat = 62,
5014  SquatsWithBand = 63,
5015  StaggeredSquat = 64,
5016  WeightedStaggeredSquat = 65,
5017  StepUp = 66,
5018  WeightedStepUp = 67,
5019  SuitcaseSquats = 68,
5020  SumoSquat = 69,
5021  SumoSquatSlideIn = 70,
5022  WeightedSumoSquatSlideIn = 71,
5023  SumoSquatToHighPull = 72,
5024  SumoSquatToStand = 73,
5025  WeightedSumoSquatToStand = 74,
5026  SumoSquatWithRotation = 75,
5027  WeightedSumoSquatWithRotation = 76,
5028  SwissBallBodyWeightWallSquat = 77,
5029  WeightedSwissBallWallSquat = 78,
5030  Thrusters = 79,
5031  UnevenSquat = 80,
5032  WeightedUnevenSquat = 81,
5033  WaistSlimmingSquat = 82,
5034  WallBall = 83,
5035  WideStanceBarbellSquat = 84,
5036  WideStanceGobletSquat = 85,
5037  ZercherSquat = 86,
5038  KbsOverhead = 87, ///< Deprecated do not use
5039  SquatAndSideKick = 88,
5040  SquatJumpsInNOut = 89,
5041  PilatesPlieSquatsParallelTurnedOutFlatAndHeels = 90,
5042  ReleveStraightLegAndKneeBentWithOneLegVariation = 91,
5043 };
5044 
5045 /*!
5046  * Garmin FIT TotalBodyExerciseName type.
5047  *
5048  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5049  * spreadsheet. More information of the definition and semantics of this type may be available in
5050  * the Garmin FIT SDK.
5051  *
5052  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5053  */
5054 enum class TotalBodyExerciseName : quint16 {
5055  Burpee = 0,
5056  WeightedBurpee = 1,
5057  BurpeeBoxJump = 2,
5058  WeightedBurpeeBoxJump = 3,
5059  HighPullBurpee = 4,
5060  ManMakers = 5,
5061  OneArmBurpee = 6,
5062  SquatThrusts = 7,
5063  WeightedSquatThrusts = 8,
5064  SquatPlankPushUp = 9,
5065  WeightedSquatPlankPushUp = 10,
5066  StandingTRotationBalance = 11,
5067  WeightedStandingTRotationBalance = 12,
5068 };
5069 
5070 /*!
5071  * Garmin FIT TricepsExtensionExerciseName type.
5072  *
5073  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5074  * spreadsheet. More information of the definition and semantics of this type may be available in
5075  * the Garmin FIT SDK.
5076  *
5077  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5078  */
5079 enum class TricepsExtensionExerciseName : quint16 {
5080  BenchDip = 0,
5081  WeightedBenchDip = 1,
5082  BodyWeightDip = 2,
5083  CableKickback = 3,
5084  CableLyingTricepsExtension = 4,
5085  CableOverheadTricepsExtension = 5,
5086  DumbbellKickback = 6,
5087  DumbbellLyingTricepsExtension = 7,
5088  EzBarOverheadTricepsExtension = 8,
5089  InclineDip = 9,
5090  WeightedInclineDip = 10,
5091  InclineEzBarLyingTricepsExtension = 11,
5092  LyingDumbbellPulloverToExtension = 12,
5093  LyingEzBarTricepsExtension = 13,
5094  LyingTricepsExtensionToCloseGripBenchPress = 14,
5095  OverheadDumbbellTricepsExtension = 15,
5096  RecliningTricepsPress = 16,
5097  ReverseGripPressdown = 17,
5098  ReverseGripTricepsPressdown = 18,
5099  RopePressdown = 19,
5100  SeatedBarbellOverheadTricepsExtension = 20,
5101  SeatedDumbbellOverheadTricepsExtension = 21,
5102  SeatedEzBarOverheadTricepsExtension = 22,
5103  SeatedSingleArmOverheadDumbbellExtension = 23,
5104  SingleArmDumbbellOverheadTricepsExtension = 24,
5105  SingleDumbbellSeatedOverheadTricepsExtension = 25,
5106  SingleLegBenchDipAndKick = 26,
5107  WeightedSingleLegBenchDipAndKick = 27,
5108  SingleLegDip = 28,
5109  WeightedSingleLegDip = 29,
5110  StaticLyingTricepsExtension = 30,
5111  SuspendedDip = 31,
5112  WeightedSuspendedDip = 32,
5113  SwissBallDumbbellLyingTricepsExtension = 33,
5114  SwissBallEzBarLyingTricepsExtension = 34,
5115  SwissBallEzBarOverheadTricepsExtension = 35,
5116  TabletopDip = 36,
5117  WeightedTabletopDip = 37,
5118  TricepsExtensionOnFloor = 38,
5119  TricepsPressdown = 39,
5120  WeightedDip = 40,
5121 };
5122 
5123 /*!
5124  * Garmin FIT WarmUpExerciseName type.
5125  *
5126  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5127  * spreadsheet. More information of the definition and semantics of this type may be available in
5128  * the Garmin FIT SDK.
5129  *
5130  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5131  */
5132 enum class WarmUpExerciseName : quint16 {
5133  QuadrupedRocking = 0,
5134  NeckTilts = 1,
5135  AnkleCircles = 2,
5136  AnkleDorsiflexionWithBand = 3,
5137  AnkleInternalRotation = 4,
5138  ArmCircles = 5,
5139  BentOverReachToSky = 6,
5140  CatCamel = 7,
5141  ElbowToFootLunge = 8,
5142  ForwardAndBackwardLegSwings = 9,
5143  Groiners = 10,
5144  InvertedHamstringStretch = 11,
5145  LateralDuckUnder = 12,
5146  NeckRotations = 13,
5147  OppositeArmAndLegBalance = 14,
5148  ReachRollAndLift = 15,
5149  Scorpion = 16, ///< Deprecated do not use
5150  ShoulderCircles = 17,
5151  SideToSideLegSwings = 18,
5152  SleeperStretch = 19,
5153  SlideOut = 20,
5154  SwissBallHipCrossover = 21,
5155  SwissBallReachRollAndLift = 22,
5156  SwissBallWindshieldWipers = 23,
5157  ThoracicRotation = 24,
5158  WalkingHighKicks = 25,
5159  WalkingHighKnees = 26,
5160  WalkingKneeHugs = 27,
5161  WalkingLegCradles = 28,
5162  Walkout = 29,
5163  WalkoutFromPushUpPosition = 30,
5164 };
5165 
5166 /*!
5167  * Garmin FIT RunExerciseName type.
5168  *
5169  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5170  * spreadsheet. More information of the definition and semantics of this type may be available in
5171  * the Garmin FIT SDK.
5172  *
5173  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5174  */
5175 enum class RunExerciseName : quint16 {
5176  Run = 0,
5177  Walk = 1,
5178  Jog = 2,
5179  Sprint = 3,
5180 };
5181 
5182 /*!
5183  * Garmin FIT WaterType type.
5184  *
5185  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5186  * spreadsheet. More information of the definition and semantics of this type may be available in
5187  * the Garmin FIT SDK.
5188  *
5189  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5190  */
5191 enum class WaterType {
5192  Fresh = 0,
5193  Salt = 1,
5194  En13319 = 2,
5195  Custom = 3,
5196 };
5197 
5198 /*!
5199  * Garmin FIT TissueModelType type.
5200  *
5201  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5202  * spreadsheet. More information of the definition and semantics of this type may be available in
5203  * the Garmin FIT SDK.
5204  *
5205  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5206  */
5207 enum class TissueModelType {
5208  Zhl16c = 0, ///< Buhlmann's decompression algorithm, version C
5209 };
5210 
5211 /*!
5212  * Garmin FIT DiveGasStatus type.
5213  *
5214  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5215  * spreadsheet. More information of the definition and semantics of this type may be available in
5216  * the Garmin FIT SDK.
5217  *
5218  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5219  */
5220 enum class DiveGasStatus {
5221  Disabled = 0,
5222  Enabled = 1,
5223  BackupOnly = 2,
5224 };
5225 
5226 /*!
5227  * Garmin FIT DiveAlarmType type.
5228  *
5229  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5230  * spreadsheet. More information of the definition and semantics of this type may be available in
5231  * the Garmin FIT SDK.
5232  *
5233  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5234  */
5235 enum class DiveAlarmType {
5236  Depth = 0,
5237  Time = 1,
5238 };
5239 
5240 /*!
5241  * Garmin FIT DiveBacklightMode type.
5242  *
5243  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5244  * spreadsheet. More information of the definition and semantics of this type may be available in
5245  * the Garmin FIT SDK.
5246  *
5247  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5248  */
5249 enum class DiveBacklightMode {
5250  AtDepth = 0,
5251  AlwaysOn = 1,
5252 };
5253 
5254 /*!
5255  * Garmin FIT FaveroProduct type.
5256  *
5257  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5258  * spreadsheet. More information of the definition and semantics of this type may be available in
5259  * the Garmin FIT SDK.
5260  *
5261  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5262  */
5263 enum class FaveroProduct : quint16 {
5264  AssiomaUno = 10,
5265  AssiomaDuo = 12,
5266 };
5267 
5268 /*!
5269  * Garmin FIT ClimbProEvent type.
5270  *
5271  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5272  * spreadsheet. More information of the definition and semantics of this type may be available in
5273  * the Garmin FIT SDK.
5274  *
5275  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5276  */
5277 enum class ClimbProEvent {
5278  Approach = 0,
5279  Start = 1,
5280  Complete = 2,
5281 };
5282 
5283 /*!
5284  * Garmin FIT TapSensitivity type.
5285  *
5286  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5287  * spreadsheet. More information of the definition and semantics of this type may be available in
5288  * the Garmin FIT SDK.
5289  *
5290  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5291  */
5292 enum class TapSensitivity {
5293  High = 0,
5294  Medium = 1,
5295  Low = 2,
5296 };
5297 
5298 /*!
5299  * Garmin FIT RadarThreatLevelType type.
5300  *
5301  * This type was auto-extracted from the Types worksheet in the Garmin FIT SDK's Profiles.xlsx
5302  * spreadsheet. More information of the definition and semantics of this type may be available in
5303  * the Garmin FIT SDK.
5304  *
5305  * \sa [Garmin FIT SDK](https://developer.garmin.com/fit/)
5306  */
5308  ThreatUnknown = 0,
5309  ThreatNone = 1,
5310  ThreatApproaching = 2,
5311  ThreatApproachingFast = 3,
5312 };
5313 
5314 
5315 QDebug operator<<(QDebug debug, const File value);
5316 QDebug operator<<(QDebug debug, const MesgNum value);
5317 QDebug operator<<(QDebug debug, const Checksum value);
5318 QDebug operator<<(QDebug debug, const FileFlags value);
5319 QDebug operator<<(QDebug debug, const MesgCount value);
5320 QDebug operator<<(QDebug debug, const DateTime value);
5321 QDebug operator<<(QDebug debug, const LocalDateTime value);
5322 QDebug operator<<(QDebug debug, const MessageIndex value);
5323 QDebug operator<<(QDebug debug, const DeviceIndex value);
5324 QDebug operator<<(QDebug debug, const Gender value);
5325 QDebug operator<<(QDebug debug, const Language value);
5326 QDebug operator<<(QDebug debug, const LanguageBits0 value);
5327 QDebug operator<<(QDebug debug, const LanguageBits1 value);
5328 QDebug operator<<(QDebug debug, const LanguageBits2 value);
5329 QDebug operator<<(QDebug debug, const LanguageBits3 value);
5330 QDebug operator<<(QDebug debug, const LanguageBits4 value);
5331 QDebug operator<<(QDebug debug, const TimeZone value);
5332 QDebug operator<<(QDebug debug, const DisplayMeasure value);
5333 QDebug operator<<(QDebug debug, const DisplayHeart value);
5334 QDebug operator<<(QDebug debug, const DisplayPower value);
5335 QDebug operator<<(QDebug debug, const DisplayPosition value);
5336 QDebug operator<<(QDebug debug, const Switch value);
5337 QDebug operator<<(QDebug debug, const Sport value);
5338 QDebug operator<<(QDebug debug, const SportBits0 value);
5339 QDebug operator<<(QDebug debug, const SportBits1 value);
5340 QDebug operator<<(QDebug debug, const SportBits2 value);
5341 QDebug operator<<(QDebug debug, const SportBits3 value);
5342 QDebug operator<<(QDebug debug, const SportBits4 value);
5343 QDebug operator<<(QDebug debug, const SportBits5 value);
5344 QDebug operator<<(QDebug debug, const SportBits6 value);
5345 QDebug operator<<(QDebug debug, const SubSport value);
5346 QDebug operator<<(QDebug debug, const SportEvent value);
5347 QDebug operator<<(QDebug debug, const Activity value);
5348 QDebug operator<<(QDebug debug, const Intensity value);
5349 QDebug operator<<(QDebug debug, const SessionTrigger value);
5350 QDebug operator<<(QDebug debug, const AutolapTrigger value);
5351 QDebug operator<<(QDebug debug, const LapTrigger value);
5352 QDebug operator<<(QDebug debug, const TimeMode value);
5353 QDebug operator<<(QDebug debug, const BacklightMode value);
5354 QDebug operator<<(QDebug debug, const DateMode value);
5355 QDebug operator<<(QDebug debug, const BacklightTimeout value);
5356 QDebug operator<<(QDebug debug, const Event value);
5357 QDebug operator<<(QDebug debug, const EventType value);
5358 QDebug operator<<(QDebug debug, const TimerTrigger value);
5359 QDebug operator<<(QDebug debug, const FitnessEquipmentState value);
5360 QDebug operator<<(QDebug debug, const Tone value);
5361 QDebug operator<<(QDebug debug, const Autoscroll value);
5362 QDebug operator<<(QDebug debug, const ActivityClass value);
5363 QDebug operator<<(QDebug debug, const HrZoneCalc value);
5364 QDebug operator<<(QDebug debug, const PwrZoneCalc value);
5365 QDebug operator<<(QDebug debug, const WktStepDuration value);
5366 QDebug operator<<(QDebug debug, const WktStepTarget value);
5367 QDebug operator<<(QDebug debug, const Goal value);
5368 QDebug operator<<(QDebug debug, const GoalRecurrence value);
5369 QDebug operator<<(QDebug debug, const GoalSource value);
5370 QDebug operator<<(QDebug debug, const Schedule value);
5371 QDebug operator<<(QDebug debug, const CoursePoint value);
5372 QDebug operator<<(QDebug debug, const Manufacturer value);
5373 QDebug operator<<(QDebug debug, const GarminProduct value);
5374 QDebug operator<<(QDebug debug, const AntplusDeviceType value);
5375 QDebug operator<<(QDebug debug, const AntNetwork value);
5376 QDebug operator<<(QDebug debug, const WorkoutCapabilities value);
5377 QDebug operator<<(QDebug debug, const BatteryStatus value);
5378 QDebug operator<<(QDebug debug, const HrType value);
5379 QDebug operator<<(QDebug debug, const CourseCapabilities value);
5380 QDebug operator<<(QDebug debug, const Weight value);
5381 QDebug operator<<(QDebug debug, const WorkoutHr value);
5382 QDebug operator<<(QDebug debug, const WorkoutPower value);
5383 QDebug operator<<(QDebug debug, const BpStatus value);
5384 QDebug operator<<(QDebug debug, const UserLocalId value);
5385 QDebug operator<<(QDebug debug, const SwimStroke value);
5386 QDebug operator<<(QDebug debug, const ActivityType value);
5387 QDebug operator<<(QDebug debug, const ActivitySubtype value);
5388 QDebug operator<<(QDebug debug, const ActivityLevel value);
5389 QDebug operator<<(QDebug debug, const Side value);
5390 QDebug operator<<(QDebug debug, const LeftRightBalance value);
5391 QDebug operator<<(QDebug debug, const LeftRightBalance100 value);
5392 QDebug operator<<(QDebug debug, const LengthType value);
5393 QDebug operator<<(QDebug debug, const DayOfWeek value);
5394 QDebug operator<<(QDebug debug, const ConnectivityCapabilities value);
5395 QDebug operator<<(QDebug debug, const WeatherReport value);
5396 QDebug operator<<(QDebug debug, const WeatherStatus value);
5397 QDebug operator<<(QDebug debug, const WeatherSeverity value);
5398 QDebug operator<<(QDebug debug, const WeatherSevereType value);
5399 QDebug operator<<(QDebug debug, const StrokeType value);
5400 QDebug operator<<(QDebug debug, const BodyLocation value);
5401 QDebug operator<<(QDebug debug, const SegmentLapStatus value);
5402 QDebug operator<<(QDebug debug, const SegmentLeaderboardType value);
5403 QDebug operator<<(QDebug debug, const SegmentDeleteStatus value);
5404 QDebug operator<<(QDebug debug, const SegmentSelectionType value);
5405 QDebug operator<<(QDebug debug, const SourceType value);
5406 QDebug operator<<(QDebug debug, const DisplayOrientation value);
5407 QDebug operator<<(QDebug debug, const WorkoutEquipment value);
5408 QDebug operator<<(QDebug debug, const WatchfaceMode value);
5409 QDebug operator<<(QDebug debug, const DigitalWatchfaceLayout value);
5410 QDebug operator<<(QDebug debug, const AnalogWatchfaceLayout value);
5411 QDebug operator<<(QDebug debug, const RiderPositionType value);
5412 QDebug operator<<(QDebug debug, const PowerPhaseType value);
5413 QDebug operator<<(QDebug debug, const CameraEventType value);
5414 QDebug operator<<(QDebug debug, const SensorType value);
5415 QDebug operator<<(QDebug debug, const BikeLightNetworkConfigType value);
5416 QDebug operator<<(QDebug debug, const CommTimeoutType value);
5417 QDebug operator<<(QDebug debug, const CameraOrientationType value);
5418 QDebug operator<<(QDebug debug, const AttitudeStage value);
5419 QDebug operator<<(QDebug debug, const AttitudeValidity value);
5420 QDebug operator<<(QDebug debug, const AutoSyncFrequency value);
5421 QDebug operator<<(QDebug debug, const ExdLayout value);
5422 QDebug operator<<(QDebug debug, const ExdDisplayType value);
5423 QDebug operator<<(QDebug debug, const ExdDataUnits value);
5424 QDebug operator<<(QDebug debug, const ExdQualifiers value);
5425 QDebug operator<<(QDebug debug, const ExdDescriptors value);
5426 QDebug operator<<(QDebug debug, const AutoActivityDetect value);
5427 QDebug operator<<(QDebug debug, const SupportedExdScreenLayouts value);
5428 QDebug operator<<(QDebug debug, const FitBaseType value);
5429 QDebug operator<<(QDebug debug, const TurnType value);
5430 QDebug operator<<(QDebug debug, const BikeLightBeamAngleMode value);
5431 QDebug operator<<(QDebug debug, const FitBaseUnit value);
5432 QDebug operator<<(QDebug debug, const SetType value);
5433 QDebug operator<<(QDebug debug, const ExerciseCategory value);
5434 QDebug operator<<(QDebug debug, const BenchPressExerciseName value);
5435 QDebug operator<<(QDebug debug, const CalfRaiseExerciseName value);
5436 QDebug operator<<(QDebug debug, const CardioExerciseName value);
5437 QDebug operator<<(QDebug debug, const CarryExerciseName value);
5438 QDebug operator<<(QDebug debug, const ChopExerciseName value);
5439 QDebug operator<<(QDebug debug, const CoreExerciseName value);
5440 QDebug operator<<(QDebug debug, const CrunchExerciseName value);
5441 QDebug operator<<(QDebug debug, const CurlExerciseName value);
5442 QDebug operator<<(QDebug debug, const DeadliftExerciseName value);
5443 QDebug operator<<(QDebug debug, const FlyeExerciseName value);
5444 QDebug operator<<(QDebug debug, const HipRaiseExerciseName value);
5445 QDebug operator<<(QDebug debug, const HipStabilityExerciseName value);
5446 QDebug operator<<(QDebug debug, const HipSwingExerciseName value);
5447 QDebug operator<<(QDebug debug, const HyperextensionExerciseName value);
5448 QDebug operator<<(QDebug debug, const LateralRaiseExerciseName value);
5449 QDebug operator<<(QDebug debug, const LegCurlExerciseName value);
5450 QDebug operator<<(QDebug debug, const LegRaiseExerciseName value);
5451 QDebug operator<<(QDebug debug, const LungeExerciseName value);
5452 QDebug operator<<(QDebug debug, const OlympicLiftExerciseName value);
5453 QDebug operator<<(QDebug debug, const PlankExerciseName value);
5454 QDebug operator<<(QDebug debug, const PlyoExerciseName value);
5455 QDebug operator<<(QDebug debug, const PullUpExerciseName value);
5456 QDebug operator<<(QDebug debug, const PushUpExerciseName value);
5457 QDebug operator<<(QDebug debug, const RowExerciseName value);
5458 QDebug operator<<(QDebug debug, const ShoulderPressExerciseName value);
5459 QDebug operator<<(QDebug debug, const ShoulderStabilityExerciseName value);
5460 QDebug operator<<(QDebug debug, const ShrugExerciseName value);
5461 QDebug operator<<(QDebug debug, const SitUpExerciseName value);
5462 QDebug operator<<(QDebug debug, const SquatExerciseName value);
5463 QDebug operator<<(QDebug debug, const TotalBodyExerciseName value);
5464 QDebug operator<<(QDebug debug, const TricepsExtensionExerciseName value);
5465 QDebug operator<<(QDebug debug, const WarmUpExerciseName value);
5466 QDebug operator<<(QDebug debug, const RunExerciseName value);
5467 QDebug operator<<(QDebug debug, const WaterType value);
5468 QDebug operator<<(QDebug debug, const TissueModelType value);
5469 QDebug operator<<(QDebug debug, const DiveGasStatus value);
5470 QDebug operator<<(QDebug debug, const DiveAlarmType value);
5471 QDebug operator<<(QDebug debug, const DiveBacklightMode value);
5472 QDebug operator<<(QDebug debug, const FaveroProduct value);
5473 QDebug operator<<(QDebug debug, const ClimbProEvent value);
5474 QDebug operator<<(QDebug debug, const TapSensitivity value);
5475 QDebug operator<<(QDebug debug, const RadarThreatLevelType value);
5476 
5478 
5479 #endif // QTFIT_TYPES_H
Global QtFit library macros.
#define QTFIT_END_NAMESPACE
Macro for ending the QtFit library's top-most namespace (if one is defined).
Definition: QtFit_global.h:78
#define QTFIT_BEGIN_NAMESPACE
Macro for starting the QtFit library's top-most namespace (if one is defined).
Definition: QtFit_global.h:77
WeatherStatus
Garmin FIT WeatherStatus type.
Definition: types.h:2484
GarminProduct
Garmin FIT GarminProduct type.
Definition: types.h:1687
@ DescentMk2Asia
Mk2 and Mk2i.
@ HrmDual
HRM-Dual.
@ Fr310xt
Forerunner 310.
@ Axs01
AXS01 HRM Bike Chipset model for ANT+ messaging.
@ Connect
Garmin Connect website.
@ Sdm4
SDM4 footpod.
@ Bcm
BCM model for ANT+ messaging.
@ HrmTri
Also HRM-Swim.
@ Gen3Bcm
gen3 bike cadence sensor
@ HrmTriSingleByteProductId
hrm_tri model for HRM ANT+ messaging
@ Gen3Bsm
gen3 bike speed sensor
@ HrmRunSingleByteProductId
hrm_run model for HRM ANT+ messaging
@ HrmPro
HRM-Pro.
@ Hrm4RunSingleByteProductId
hrm4 run model for HRM ANT+ messaging
@ VariaUt800
Varia UT 800 SW.
@ Fr60
Forerunner 60.
@ Gen3BcmSingleByteProductId
gen3_bcm model for Bike Cadence ANT+ messaging
@ Gen3BsmSingleByteProductId
gen3_bsm model for Bike Speed ANT+ messaging
@ Axh01
AXH01 HRM chipset.
@ Bsm
BSM model for ANT+ messaging.
@ Rally200
Rally 100/200 Power Meter Series.
@ Fr110
Forerunner 110.
@ Fr225SingleByteProductId
fr225 model for HRM ANT+ messaging
@ Fr50
Forerunner 50.
@ EdgeTouring
Also Edge Touring Plus.
@ Fr405
Forerunner 405.
SwimStroke
Garmin FIT SwimStroke type.
Definition: types.h:2262
@ Im
IM is a mixed interval containing the same number of lengths for each of: Butterfly,...
LocalDateTime
Seconds since 00:00 Dec 31 1989 in local time zone.
Definition: types.h:250
WatchfaceMode
Garmin FIT WatchfaceMode type.
Definition: types.h:2853
ConnectivityCapabilities
Garmin FIT ConnectivityCapabilities type.
Definition: types.h:2424
@ InstantInput
Device supports instant input feature.
@ ConnectIqAppManagment
Device supports delete and reorder of apps via GCM.
@ FindMyWatch
Device supports Find My Watch.
@ WifiVerification
Device supports reporting wifi verification via GCM.
@ IncidentDetection
Device supports incident detection.
@ LiveTrackMessaging
Device supports LiveTrack Messaging.
@ LiveTrackAutoStart
Device supports LiveTrack auto start.
@ TrueUp
Device supports True Up.
@ DeviceInitiatesSync
Indicates device is in control of initiating all syncs.
SportBits4
Bit field corresponding to sport enum type (1 << (sport-32)).
Definition: types.h:828
QDebug operator<<(QDebug debug, const File value)
Writes the File value to the debug stream and returns a reference to the stream.
Definition: types.cpp:48
LegCurlExerciseName
Garmin FIT LegCurlExerciseName type.
Definition: types.h:4226
HipSwingExerciseName
Garmin FIT HipSwingExerciseName type.
Definition: types.h:4113
PlankExerciseName
Garmin FIT PlankExerciseName type.
Definition: types.h:4410
UserLocalId
Garmin FIT UserLocalId type.
Definition: types.h:2244
Weight
Garmin FIT Weight type.
Definition: types.h:2188
AutoActivityDetect
Garmin FIT AutoActivityDetect type.
Definition: types.h:3349
SensorType
Garmin FIT SensorType type.
Definition: types.h:2956
@ Compass
Magnetometer.
BenchPressExerciseName
Garmin FIT BenchPressExerciseName type.
Definition: types.h:3556
Goal
Garmin FIT Goal type.
Definition: types.h:1380
EventType
Garmin FIT EventType type.
Definition: types.h:1182
BikeLightBeamAngleMode
Garmin FIT BikeLightBeamAngleMode type.
Definition: types.h:3467
WarmUpExerciseName
Garmin FIT WarmUpExerciseName type.
Definition: types.h:5132
@ Scorpion
Deprecated do not use.
quint32 TimeIntoDay
Number of seconds into the day since 00:00:00 UTC.
Definition: types.h:2631
TimeMode
Garmin FIT TimeMode type.
Definition: types.h:1069
@ Military
Uses a leading zero and does not have a colon.
@ Hour24
Does not use a leading zero and has a colon.
DisplayHeart
Garmin FIT DisplayHeart type.
Definition: types.h:587
RadarThreatLevelType
Garmin FIT RadarThreatLevelType type.
Definition: types.h:5307
Language
Garmin FIT Language type.
Definition: types.h:305
SupportedExdScreenLayouts
Garmin FIT SupportedExdScreenLayouts type.
Definition: types.h:3368
SquatExerciseName
Garmin FIT SquatExerciseName type.
Definition: types.h:4950
@ KbsOverhead
Deprecated do not use.
AttitudeValidity
Garmin FIT AttitudeValidity type.
Definition: types.h:3036
HrType
Garmin FIT HrType type.
Definition: types.h:2151
Gender
Garmin FIT Gender type.
Definition: types.h:291
WeatherReport
Garmin FIT WeatherReport type.
Definition: types.h:2468
@ Forecast
Deprecated use hourly_forecast instead.
LeftRightBalance
Garmin FIT LeftRightBalance type.
Definition: types.h:2363
AutolapTrigger
Garmin FIT AutolapTrigger type.
Definition: types.h:1029
DisplayOrientation
Garmin FIT DisplayOrientation type.
Definition: types.h:2818
@ PortraitFlipped
portrait mode but rotated 180 degrees
@ LandscapeFlipped
landscape mode but rotated 180 degrees
ActivityType
Garmin FIT ActivityType type.
Definition: types.h:2281
SourceType
Garmin FIT SourceType type.
Definition: types.h:2789
@ BluetoothLowEnergy
External device connected with BLE.
@ Local
Onboard device.
@ Wifi
External device connected with Wifi.
CalfRaiseExerciseName
Garmin FIT CalfRaiseExerciseName type.
Definition: types.h:3595
ExdQualifiers
Garmin FIT ExdQualifiers type.
Definition: types.h:3184
ExdDescriptors
Garmin FIT ExdDescriptors type.
Definition: types.h:3240
@ Gears
Combined gear information.
LanguageBits3
Garmin FIT LanguageBits3 type.
Definition: types.h:416
CrunchExerciseName
Garmin FIT CrunchExerciseName type.
Definition: types.h:3799
LapTrigger
Garmin FIT LapTrigger type.
Definition: types.h:1048
RowExerciseName
Garmin FIT RowExerciseName type.
Definition: types.h:4744
ClimbProEvent
Garmin FIT ClimbProEvent type.
Definition: types.h:5277
CameraEventType
Garmin FIT CameraEventType type.
Definition: types.h:2931
@ VideoSplitStart
Mark of video file split start.
@ VideoStart
Start of video recording.
@ VideoPause
Mark when a video recording has been paused.
@ VideoEnd
End of video recording.
@ PhotoTaken
Still photo taken.
@ VideoSplit
Mark of video file split (end of one file, beginning of the other)
@ VideoResume
Mark when a video recording has been resumed.
ExdLayout
Garmin FIT ExdLayout type.
Definition: types.h:3078
@ Dynamic
The EXD may display the configured concepts in any layout it sees fit.
WeatherSevereType
Garmin FIT WeatherSevereType type.
Definition: types.h:2534
DeviceIndex
Garmin FIT DeviceIndex type.
Definition: types.h:278
@ Creator
Creator of the file is always device index 0.
AttitudeStage
Garmin FIT AttitudeStage type.
Definition: types.h:3020
WeatherSeverity
Garmin FIT WeatherSeverity type.
Definition: types.h:2517
SegmentDeleteStatus
Garmin FIT SegmentDeleteStatus type.
Definition: types.h:2760
BodyLocation
Garmin FIT BodyLocation type.
Definition: types.h:2671
@ LeftForearmExtensors
Left posterior forearm.
@ RightBrachioradialis
Right anterior forearm.
@ RightForearmExtensors
Right posterior forearm.
@ LeftBrachioradialis
Left anterior forearm.
DiveGasStatus
Garmin FIT DiveGasStatus type.
Definition: types.h:5220
Event
Garmin FIT Event type.
Definition: types.h:1133
@ HrLowAlert
Group 0. Start / stop when in alert condition.
@ VirtualPartnerPace
Group 1. Start at beginning of activity if VP enabled, when VP pace is changed during activity or VP ...
@ DistanceDurationAlert
Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is rea...
@ CadLowAlert
Group 0. Start / stop when in alert condition.
@ UserMarker
marker
@ TimeDurationAlert
Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is rea...
@ SpeedHighAlert
Group 0. Start / stop when in alert condition.
@ PowerUp
stop_all group 0
@ RecoveryHr
marker
@ BatteryLow
marker
@ OffCourse
start / stop group 0
@ HrHighAlert
Group 0. Start / stop when in alert condition.
@ SpeedLowAlert
Group 0. Start / stop when in alert condition.
@ PowerDown
stop_all group 0
@ CalorieDurationAlert
Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is rea...
@ RadarThreatAlert
start/stop/marker
@ PowerHighAlert
Group 0. Start / stop when in alert condition.
@ RearGearChange
marker
@ ElevLowAlert
Group 0. Start / stop when in alert condition.
@ ElevHighAlert
Group 0. Start / stop when in alert condition.
@ CadHighAlert
Group 0. Start / stop when in alert condition.
@ PowerLowAlert
Group 0. Start / stop when in alert condition.
@ RiderPositionChange
marker
@ FrontGearChange
marker
@ Battery
marker
@ CommTimeout
marker
@ SportPoint
marker
@ Timer
Group 0. Start / stop_all.
@ Calibration
start/stop/marker
AutoSyncFrequency
Garmin FIT AutoSyncFrequency type.
Definition: types.h:3061
Tone
Garmin FIT Tone type.
Definition: types.h:1235
DeadliftExerciseName
Garmin FIT DeadliftExerciseName type.
Definition: types.h:3952
Intensity
Garmin FIT Intensity type.
Definition: types.h:994
SportBits1
Bit field corresponding to sport enum type (1 << (sport-8)).
Definition: types.h:768
PushUpExerciseName
Garmin FIT PushUpExerciseName type.
Definition: types.h:4653
WorkoutEquipment
Garmin FIT WorkoutEquipment type.
Definition: types.h:2835
HipStabilityExerciseName
Garmin FIT HipStabilityExerciseName type.
Definition: types.h:4067
PowerPhaseType
Garmin FIT PowerPhaseType type.
Definition: types.h:2915
Autoscroll
Garmin FIT Autoscroll type.
Definition: types.h:1251
CardioExerciseName
Garmin FIT CardioExerciseName type.
Definition: types.h:3628
LungeExerciseName
Garmin FIT LungeExerciseName type.
Definition: types.h:4284
WorkoutHr
0 - 100 indicates% of max hr; >100 indicates bpm (255 max) plus 100
Definition: types.h:2201
DiveBacklightMode
Garmin FIT DiveBacklightMode type.
Definition: types.h:5249
RunExerciseName
Garmin FIT RunExerciseName type.
Definition: types.h:5175
MesgCount
Garmin FIT MesgCount type.
Definition: types.h:222
CoreExerciseName
Garmin FIT CoreExerciseName type.
Definition: types.h:3714
@ SnakeTwist1And2
Deprecated do not use.
@ AbdominalLegRotations
Deprecated do not use.
@ CrissCrossWithBall
Deprecated do not use.
SetType
Garmin FIT SetType type.
Definition: types.h:3496
DiveAlarmType
Garmin FIT DiveAlarmType type.
Definition: types.h:5235
TissueModelType
Garmin FIT TissueModelType type.
Definition: types.h:5207
@ Zhl16c
Buhlmann's decompression algorithm, version C.
FitBaseType
Garmin FIT FitBaseType type.
Definition: types.h:3388
SportEvent
Garmin FIT SportEvent type.
Definition: types.h:959
TotalBodyExerciseName
Garmin FIT TotalBodyExerciseName type.
Definition: types.h:5054
CommTimeoutType
Garmin FIT CommTimeoutType type.
Definition: types.h:2988
@ ConnectionTimeout
Connection closed due to extended bad communications.
@ PairingTimeout
Timeout pairing to previously paired device.
@ WildcardPairingTimeout
Timeout pairing to any device.
@ ConnectionLost
Temporary loss of communications.
ActivityLevel
Garmin FIT ActivityLevel type.
Definition: types.h:2334
DateMode
Garmin FIT DateMode type.
Definition: types.h:1106
SportBits3
Bit field corresponding to sport enum type (1 << (sport-24)).
Definition: types.h:808
GoalRecurrence
Garmin FIT GoalRecurrence type.
Definition: types.h:1399
SportBits0
Bit field corresponding to sport enum type (1 << sport).
Definition: types.h:748
LeftRightBalance100
Garmin FIT LeftRightBalance100 type.
Definition: types.h:2377
DigitalWatchfaceLayout
Garmin FIT DigitalWatchfaceLayout type.
Definition: types.h:2869
TurnType
Garmin FIT TurnType type.
Definition: types.h:3417
Side
Garmin FIT Side type.
Definition: types.h:2349
Sport
Garmin FIT Sport type.
Definition: types.h:685
@ Transition
Mulitsport transition.
@ All
All is for goals only to include all sports.
Activity
Garmin FIT Activity type.
Definition: types.h:980
StrokeType
Garmin FIT StrokeType type.
Definition: types.h:2653
LegRaiseExerciseName
Garmin FIT LegRaiseExerciseName type.
Definition: types.h:4250
CoursePoint
Garmin FIT CoursePoint type.
Definition: types.h:1446
BikeLightNetworkConfigType
Garmin FIT BikeLightNetworkConfigType type.
Definition: types.h:2972
TapSensitivity
Garmin FIT TapSensitivity type.
Definition: types.h:5292
ChopExerciseName
Garmin FIT ChopExerciseName type.
Definition: types.h:3679
AntNetwork
Garmin FIT AntNetwork type.
Definition: types.h:2090
CarryExerciseName
Garmin FIT CarryExerciseName type.
Definition: types.h:3662
ExerciseCategory
Garmin FIT ExerciseCategory type.
Definition: types.h:3510
PwrZoneCalc
Garmin FIT PwrZoneCalc type.
Definition: types.h:1297
RiderPositionType
Garmin FIT RiderPositionType type.
Definition: types.h:2899
HipRaiseExerciseName
Garmin FIT HipRaiseExerciseName type.
Definition: types.h:4005
@ InnerThighSideLift
Deprecated do not use.
@ InnerThighCircles
Deprecated do not use.
WorkoutPower
0 - 1000 indicates % of functional threshold power; >1000 indicates watts plus 1000.
Definition: types.h:2214
Switch
Garmin FIT Switch type.
Definition: types.h:670
PlyoExerciseName
Garmin FIT PlyoExerciseName type.
Definition: types.h:4557
CourseCapabilities
Garmin FIT CourseCapabilities type.
Definition: types.h:2165
LanguageBits2
Garmin FIT LanguageBits2 type.
Definition: types.h:396
SegmentLapStatus
Garmin FIT SegmentLapStatus type.
Definition: types.h:2723
FlyeExerciseName
Garmin FIT FlyeExerciseName type.
Definition: types.h:3983
BacklightTimeout
Timeout in seconds.
Definition: types.h:1120
@ Infinite
Backlight stays on forever.
TricepsExtensionExerciseName
Garmin FIT TricepsExtensionExerciseName type.
Definition: types.h:5079
GoalSource
Garmin FIT GoalSource type.
Definition: types.h:1417
@ Community
Social network sourced goal.
@ User
Manually generated.
Schedule
Garmin FIT Schedule type.
Definition: types.h:1432
LanguageBits0
Bit field corresponding to language enum type (1 << language).
Definition: types.h:356
FitBaseUnit
Garmin FIT FitBaseUnit type.
Definition: types.h:3481
ActivityClass
Garmin FIT ActivityClass type.
Definition: types.h:1267
@ Level
0 to 100
MesgNum
Garmin FIT MesgNum type.
Definition: types.h:91
quint64 quint64z
64-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:48
SportBits5
Bit field corresponding to sport enum type (1 << (sport-40)).
Definition: types.h:848
quint16 quint16z
16-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:46
LanguageBits4
Garmin FIT LanguageBits4 type.
Definition: types.h:436
AntplusDeviceType
Garmin FIT AntplusDeviceType type.
Definition: types.h:2053
LateralRaiseExerciseName
Garmin FIT LateralRaiseExerciseName type.
Definition: types.h:4180
SessionTrigger
Garmin FIT SessionTrigger type.
Definition: types.h:1013
DayOfWeek
Garmin FIT DayOfWeek type.
Definition: types.h:2405
SitUpExerciseName
Garmin FIT SitUpExerciseName type.
Definition: types.h:4900
SegmentLeaderboardType
Garmin FIT SegmentLeaderboardType type.
Definition: types.h:2737
DisplayMeasure
Garmin FIT DisplayMeasure type.
Definition: types.h:572
Checksum
Garmin FIT Checksum type.
Definition: types.h:193
@ Ok
Set to mark checksum as valid if computes to invalid values 0 or 0xFF. Checksum can also be set to ok...
@ Clear
Allows clear of checksum for flash memory where can only write 1 to 0 without erasing sector.
ShrugExerciseName
Garmin FIT ShrugExerciseName type.
Definition: types.h:4871
ShoulderPressExerciseName
Garmin FIT ShoulderPressExerciseName type.
Definition: types.h:4790
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
@ Selected
message is selected if set
@ Reserved
reserved (default 0)
Manufacturer
Garmin FIT Manufacturer type.
Definition: types.h:1484
@ FalcoEMotors
Falco eMotors Inc.
@ Icg
Indoorcycling Group.
@ TopactionTechnology
TopAction Technology Inc.
@ Precor
Amer Sports.
@ LimitsTechnology
Limits Technology Ltd.
@ Navman
MiTAC Global Corporation (Mio Technology)
@ Cobi
COBI GmbH.
@ Tigrasport
Tigrasport.
@ GarminFr405Antfs
Do not use. Used by FR405 for ANTFS man id.
CurlExerciseName
Garmin FIT CurlExerciseName type.
Definition: types.h:3896
SegmentSelectionType
Garmin FIT SegmentSelectionType type.
Definition: types.h:2775
ShoulderStabilityExerciseName
Garmin FIT ShoulderStabilityExerciseName type.
Definition: types.h:4826
ExdDisplayType
Garmin FIT ExdDisplayType type.
Definition: types.h:3099
DisplayPosition
Garmin FIT DisplayPosition type.
Definition: types.h:616
@ IndiaZoneIia
India zone IIA.
@ UtmUpsGrid
UTM/UPS grid system.
@ DegreeMinute
dddmm.mmm
@ WestMalayan
West Malayan RSO.
@ HungarianGrid
Hungarian grid system.
@ SwissGrid
Swiss CH-1903 grid.
@ UnitedStatesGrid
United States National Grid.
@ BritishGrid
British National Grid.
@ DegreeMinuteSecond
dddmmss
@ Loran
Loran TD.
@ EstonianGrid
Estonian grid system.
@ IndiaZoneIb
India zone IB.
@ DutchGrid
Dutch grid system.
@ IndiaZoneIvb
India zone IVB.
@ IndiaZoneIib
India zone IIB.
@ Degree
dd.dddddd
@ SwedishGrid
RT-90 (Sweden)
@ GermanGrid
Gausss Krueger (German)
@ QatarGrid
Qatar National Grid.
@ IcelandicGrid
Icelandic Grid.
@ IndiaZoneIva
India zone IVA.
@ IrishTransverse
Irish Transverse Mercator.
@ MgrsGrid
MGRS grid system.
@ AustrianGrid
Austrian Grid (BMN)
@ MaidenheadGrid
Maidenhead grid system.
@ BorneoRso
Borneo RSO.
@ NewZealandTransverse
New Zealand Transverse Mercator.
@ ModifiedSwedishGrid
Modified RT-90 (Sweden)
@ IndiaZoneIiia
India zone IIIA.
@ SouthAfricanGrid
South African Grid.
@ NewZealandGrid
New Zealand grid system.
@ IndonesianEquatorial
Indonesian Equatorial LCO.
@ IndonesianIrian
Indonesian Irian LCO.
@ TaiwanGrid
Taiwan Grid.
@ IndonesianSouthern
Indonesian Southern LCO.
@ IndiaZoneIa
India zone IA.
@ IndiaZoneIiib
India zone IIIB.
@ IrishGrid
Irish Grid.
@ LatvianGrid
Latvian Transverse Mercator.
@ SwedishRef99Grid
Reference Grid 99 TM (Swedish)
@ IndiaZone0
India zone 0.
@ FinnishGrid
Finnish grid system Zone3 KKJ27.
WorkoutCapabilities
Garmin FIT WorkoutCapabilities type.
Definition: types.h:2106
@ Tcx
For backwards compatibility. Watch should add missing id fields then clear flag.
HyperextensionExerciseName
Garmin FIT HyperextensionExerciseName type.
Definition: types.h:4128
@ SupineFloorBarre
Deprecated do not use.
TimeZone
Garmin FIT TimeZone type.
Definition: types.h:454
ActivitySubtype
Garmin FIT ActivitySubtype type.
Definition: types.h:2302
OlympicLiftExerciseName
Garmin FIT OlympicLiftExerciseName type.
Definition: types.h:4377
ExdDataUnits
Garmin FIT ExdDataUnits type.
Definition: types.h:3122
QTFIT_BEGIN_NAMESPACE typedef quint8 quint8z
8-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:45
LengthType
Garmin FIT LengthType type.
Definition: types.h:2391
@ Idle
Rest period. Length with no strokes.
TimerTrigger
Timer event data.
Definition: types.h:1204
BatteryStatus
Garmin FIT BatteryStatus type.
Definition: types.h:2132
DisplayPower
Garmin FIT DisplayPower type.
Definition: types.h:602
WktStepTarget
Garmin FIT WktStepTarget type.
Definition: types.h:1354
quint32 LocaltimeIntoDay
Number of seconds into the day since local 00:00:00.
Definition: types.h:2642
SportBits6
Bit field corresponding to sport enum type (1 << (sport-48)).
Definition: types.h:868
SportBits2
Bit field corresponding to sport enum type (1 << (sport-16)).
Definition: types.h:788
FileFlags
Garmin FIT FileFlags type.
Definition: types.h:207
WktStepDuration
Garmin FIT WktStepDuration type.
Definition: types.h:1311
HrZoneCalc
Garmin FIT HrZoneCalc type.
Definition: types.h:1282
quint8 LocalDeviceType
Garmin FIT LocalDeviceType type.
Definition: types.h:2807
SubSport
Garmin FIT SubSport type.
Definition: types.h:881
@ StairClimbing
Fitness Equipment.
@ EBikeFitness
E-Biking.
@ LapSwimming
Swimming.
@ FlexibilityTraining
Training.
@ TrackCycling
Cycling.
@ Motocross
Motorcycling.
@ MultiGasDiving
Diving.
@ SailRace
Sailing.
@ BikeToRunTransition
Transition.
@ IndoorCycling
Cycling/Fitness Equipment.
@ EBikeMountain
Cycling.
@ GaugeDiving
Diving.
@ RunToBikeTransition
Transition.
@ CasualWalking
Walking.
@ Treadmill
Run/Fitness Equipment.
@ ApneaHunting
Diving.
@ CardioTraining
Training.
@ Atv
Motorcycling.
@ IndoorRunning
Run.
@ ApneaDiving
Diving.
@ Match
Tennis.
@ Downhill
Cycling.
@ SwimToBikeTransition
Transition.
@ Pilates
Fitness Equipment.
@ Ultra
Ultramarathon.
@ SkateSkiing
Cross Country Skiing.
@ Wingsuit
Flying.
@ IndoorClimbing
Climbing.
@ IndoorSkiing
Fitness Equipment.
@ Yoga
Training.
@ Track
Run.
@ Recumbent
Cycling.
@ Cyclocross
Cycling.
@ StrengthTraining
Training.
@ IndoorRowing
Fitness Equipment.
@ SingleGasDiving
Diving.
@ Resort
Alpine Skiing/Snowboarding.
@ GravelCycling
Cycling.
@ Whitewater
Kayaking/Rafting.
@ MixedSurface
Cycling.
@ Elliptical
Fitness Equipment.
@ Road
Cycling.
@ WarmUp
Tennis.
@ HandCycling
Cycling.
@ Trail
Run.
@ Street
Run.
@ Bmx
Cycling.
@ IndoorWalking
Walking/Fitness Equipment.
@ Commuting
Cycling.
@ OpenWater
Swimming.
@ SpeedWalking
Walking.
@ Bouldering
Climbing.
@ Mountain
Cycling.
@ Exercise
Tennis.
@ Spin
Cycling.
@ Backcountry
Alpine Skiing/Snowboarding.
@ RcDrone
Flying.
@ Obstacle
Used for events where participants run, crawl through mud, climb over walls, etc.
FitnessEquipmentState
Fitness equipment event data.
Definition: types.h:1219
@ Unknown
lost connection to fitness equipment
File
Garmin FIT File type.
Definition: types.h:59
@ Workout
Read/write/erase, multiple files. Directory=Workouts.
@ BloodPressure
Read only. Directory=Blood Pressure.
@ Course
Read/write/erase, multiple files. Directory=Courses.
@ MonitoringB
Read only. Directory=Monitoring. File number=identifier.
@ Segment
Read/write/erase. Multiple Files. Directory=Segments.
@ SegmentList
Read/write/erase. Single File. Directory=Segments.
@ MonitoringA
Read only. Directory=Monitoring. File number=sub type.
@ ActivitySummary
Read/erase, multiple files. Directory=Activities.
@ MfgRangeMin
0xF7 - 0xFE reserved for manufacturer specific file types
@ MfgRangeMax
0xF7 - 0xFE reserved for manufacturer specific file types
@ Schedules
Read/write, single file. Directory=Schedules.
@ Goals
Read/write, single file. Directory=Goals.
@ Device
Read only, single file. Must be in root directory.
@ Totals
Read only, single file. Directory=Totals.
@ ExdConfiguration
Read/write/erase. Single File. Directory=Settings.
@ Settings
Read/write, single file. Directory=Settings.
WaterType
Garmin FIT WaterType type.
Definition: types.h:5191
FaveroProduct
Garmin FIT FaveroProduct type.
Definition: types.h:5263
BacklightMode
Garmin FIT BacklightMode type.
Definition: types.h:1087
LanguageBits1
Garmin FIT LanguageBits1 type.
Definition: types.h:376
PullUpExerciseName
Garmin FIT PullUpExerciseName type.
Definition: types.h:4602
quint32 quint32z
32-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:47
CameraOrientationType
Garmin FIT CameraOrientationType type.
Definition: types.h:3004
AnalogWatchfaceLayout
Garmin FIT AnalogWatchfaceLayout type.
Definition: types.h:2884
BpStatus
Garmin FIT BpStatus type.
Definition: types.h:2227
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237
@ Min
if date_time is < 0x10000000 then it is system time (seconds from device power on)