rubyfit 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 64141f50e66fea97d5e3c78fbb7389f88b1276ef
4
- data.tar.gz: 5b5fe0f8426a89efb7c386eb1a4a357f152108ac
3
+ metadata.gz: 5b7e58e246809936ef8b652f8d7bf6a522cb3022
4
+ data.tar.gz: 3e81273865fffc740a8c1decf1fa21613d787ce9
5
5
  SHA512:
6
- metadata.gz: 8f519440065cf79423762fa2779b01e5a09b477370a8810e453461e5b4799a2e75a1ffbe295ec5e637bd2e3c7332d4b2c32f31be40a8ca3e8d9a29a2eb3e1750
7
- data.tar.gz: 62f07c53fd8a423e316d2e23f3a26577e085fee98921bf421327d400abe2518ef1b318446742e093219490896b940ce514488ae361f5ee2f329488ae04075084
6
+ metadata.gz: 1f6e7095ecc182971e7f6efc4b2f6dd18957b9103206f7c599be3d42607af4160c868199c7b5ace644f3e893d49e4f8480693fd0cda1dfa9983a82db2ad79321
7
+ data.tar.gz: cd8998f093db89a10d4b56bf56df15ed42839ceff3e987b11fc56774064300b3382126fecc5033b94abdfa4674177b82eea9b3c5c6d538c22683e773163be4d0
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -49,8 +49,8 @@
49
49
  #define FIT_PROTOCOL_VERSION_MINOR_MASK ((FIT_UINT8) 0x0F)
50
50
  #define FIT_PROTOCOL_VERSION ((FIT_UINT8) (FIT_PROTOCOL_VERSION_MAJOR << FIT_PROTOCOL_VERSION_MAJOR_SHIFT) | FIT_PROTOCOL_VERSION_MINOR)
51
51
 
52
- #define FIT_PROFILE_VERSION_MAJOR 8
53
- #define FIT_PROFILE_VERSION_MINOR 10
52
+ #define FIT_PROFILE_VERSION_MAJOR 11
53
+ #define FIT_PROFILE_VERSION_MINOR 0
54
54
  #define FIT_PROFILE_VERSION_SCALE 100
55
55
  #define FIT_PROFILE_VERSION ((FIT_UINT16) (FIT_PROFILE_VERSION_MAJOR * 100 + FIT_PROFILE_VERSION_MINOR))
56
56
 
@@ -7,7 +7,7 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
 
13
13
 
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -93,10 +93,11 @@ const static FIT_CAPABILITIES_MESG_DEF capabilities_mesg_def =
93
93
  0, // reserved_1
94
94
  FIT_ARCH_ENDIAN, // arch
95
95
  FIT_MESG_NUM_CAPABILITIES, // global_mesg_num
96
- 3, // num_fields
96
+ 4, // num_fields
97
97
  { // field_def_num, size, base_type
98
98
  FIT_CAPABILITIES_FIELD_NUM_LANGUAGES, (sizeof(FIT_UINT8Z)*4), FIT_BASE_TYPE_UINT8Z,
99
99
  FIT_CAPABILITIES_FIELD_NUM_WORKOUTS_SUPPORTED, (sizeof(FIT_WORKOUT_CAPABILITIES)*1), FIT_BASE_TYPE_UINT32Z,
100
+ FIT_CAPABILITIES_FIELD_NUM_CONNECTIVITY_SUPPORTED, (sizeof(FIT_CONNECTIVITY_CAPABILITIES)*1), FIT_BASE_TYPE_UINT32Z,
100
101
  FIT_CAPABILITIES_FIELD_NUM_SPORTS, (sizeof(FIT_SPORT_BITS_0)*1), FIT_BASE_TYPE_UINT8Z,
101
102
  }
102
103
  };
@@ -163,7 +164,7 @@ const static FIT_USER_PROFILE_MESG_DEF user_profile_mesg_def =
163
164
  0, // reserved_1
164
165
  FIT_ARCH_ENDIAN, // arch
165
166
  FIT_MESG_NUM_USER_PROFILE, // global_mesg_num
166
- 22, // num_fields
167
+ 23, // num_fields
167
168
  { // field_def_num, size, base_type
168
169
  FIT_USER_PROFILE_FIELD_NUM_FRIENDLY_NAME, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
169
170
  FIT_USER_PROFILE_FIELD_NUM_MESSAGE_INDEX, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
@@ -187,6 +188,7 @@ const static FIT_USER_PROFILE_MESG_DEF user_profile_mesg_def =
187
188
  FIT_USER_PROFILE_FIELD_NUM_POSITION_SETTING, (sizeof(FIT_DISPLAY_POSITION)*1), FIT_BASE_TYPE_ENUM,
188
189
  FIT_USER_PROFILE_FIELD_NUM_TEMPERATURE_SETTING, (sizeof(FIT_DISPLAY_MEASURE)*1), FIT_BASE_TYPE_ENUM,
189
190
  FIT_USER_PROFILE_FIELD_NUM_GLOBAL_ID, (sizeof(FIT_BYTE)*6), FIT_BASE_TYPE_BYTE,
191
+ FIT_USER_PROFILE_FIELD_NUM_HEIGHT_SETTING, (sizeof(FIT_DISPLAY_MEASURE)*1), FIT_BASE_TYPE_ENUM,
190
192
  }
191
193
  };
192
194
 
@@ -228,7 +230,7 @@ const static FIT_BIKE_PROFILE_MESG_DEF bike_profile_mesg_def =
228
230
  0, // reserved_1
229
231
  FIT_ARCH_ENDIAN, // arch
230
232
  FIT_MESG_NUM_BIKE_PROFILE, // global_mesg_num
231
- 27, // num_fields
233
+ 31, // num_fields
232
234
  { // field_def_num, size, base_type
233
235
  FIT_BIKE_PROFILE_FIELD_NUM_NAME, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
234
236
  FIT_BIKE_PROFILE_FIELD_NUM_ODOMETER, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
@@ -257,6 +259,10 @@ const static FIT_BIKE_PROFILE_MESG_DEF bike_profile_mesg_def =
257
259
  FIT_BIKE_PROFILE_FIELD_NUM_BIKE_SPDCAD_ANT_ID_TRANS_TYPE, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
258
260
  FIT_BIKE_PROFILE_FIELD_NUM_BIKE_POWER_ANT_ID_TRANS_TYPE, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
259
261
  FIT_BIKE_PROFILE_FIELD_NUM_ODOMETER_ROLLOVER, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
262
+ FIT_BIKE_PROFILE_FIELD_NUM_FRONT_GEAR_NUM, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
263
+ FIT_BIKE_PROFILE_FIELD_NUM_FRONT_GEAR, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
264
+ FIT_BIKE_PROFILE_FIELD_NUM_REAR_GEAR_NUM, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
265
+ FIT_BIKE_PROFILE_FIELD_NUM_REAR_GEAR, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
260
266
  }
261
267
  };
262
268
 
@@ -399,7 +405,7 @@ const static FIT_SESSION_MESG_DEF session_mesg_def =
399
405
  0, // reserved_1
400
406
  FIT_ARCH_ENDIAN, // arch
401
407
  FIT_MESG_NUM_SESSION, // global_mesg_num
402
- 75, // num_fields
408
+ 81, // num_fields
403
409
  { // field_def_num, size, base_type
404
410
  FIT_SESSION_FIELD_NUM_TIMESTAMP, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
405
411
  FIT_SESSION_FIELD_NUM_START_TIME, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
@@ -458,6 +464,9 @@ const static FIT_SESSION_MESG_DEF session_mesg_def =
458
464
  FIT_SESSION_FIELD_NUM_ZONE_COUNT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
459
465
  FIT_SESSION_FIELD_NUM_MAX_BALL_SPEED, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
460
466
  FIT_SESSION_FIELD_NUM_AVG_BALL_SPEED, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
467
+ FIT_SESSION_FIELD_NUM_AVG_VERTICAL_OSCILLATION, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
468
+ FIT_SESSION_FIELD_NUM_AVG_STANCE_TIME_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
469
+ FIT_SESSION_FIELD_NUM_AVG_STANCE_TIME, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
461
470
  FIT_SESSION_FIELD_NUM_EVENT, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
462
471
  FIT_SESSION_FIELD_NUM_EVENT_TYPE, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
463
472
  FIT_SESSION_FIELD_NUM_SPORT, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
@@ -476,6 +485,9 @@ const static FIT_SESSION_MESG_DEF session_mesg_def =
476
485
  FIT_SESSION_FIELD_NUM_MAX_TEMPERATURE, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8,
477
486
  FIT_SESSION_FIELD_NUM_MIN_HEART_RATE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
478
487
  FIT_SESSION_FIELD_NUM_OPPONENT_NAME, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING,
488
+ FIT_SESSION_FIELD_NUM_AVG_FRACTIONAL_CADENCE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
489
+ FIT_SESSION_FIELD_NUM_MAX_FRACTIONAL_CADENCE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
490
+ FIT_SESSION_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
479
491
  }
480
492
  };
481
493
 
@@ -484,7 +496,7 @@ const static FIT_LAP_MESG_DEF lap_mesg_def =
484
496
  0, // reserved_1
485
497
  FIT_ARCH_ENDIAN, // arch
486
498
  FIT_MESG_NUM_LAP, // global_mesg_num
487
- 65, // num_fields
499
+ 77, // num_fields
488
500
  { // field_def_num, size, base_type
489
501
  FIT_LAP_FIELD_NUM_TIMESTAMP, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
490
502
  FIT_LAP_FIELD_NUM_START_TIME, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
@@ -534,7 +546,16 @@ const static FIT_LAP_MESG_DEF lap_mesg_def =
534
546
  FIT_LAP_FIELD_NUM_OPPONENT_SCORE, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
535
547
  FIT_LAP_FIELD_NUM_STROKE_COUNT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
536
548
  FIT_LAP_FIELD_NUM_ZONE_COUNT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
549
+ FIT_LAP_FIELD_NUM_AVG_VERTICAL_OSCILLATION, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
550
+ FIT_LAP_FIELD_NUM_AVG_STANCE_TIME_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
551
+ FIT_LAP_FIELD_NUM_AVG_STANCE_TIME, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
537
552
  FIT_LAP_FIELD_NUM_PLAYER_SCORE, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
553
+ FIT_LAP_FIELD_NUM_AVG_TOTAL_HEMOGLOBIN_CONC, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
554
+ FIT_LAP_FIELD_NUM_MIN_TOTAL_HEMOGLOBIN_CONC, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
555
+ FIT_LAP_FIELD_NUM_MAX_TOTAL_HEMOGLOBIN_CONC, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
556
+ FIT_LAP_FIELD_NUM_AVG_SATURATED_HEMOGLOBIN_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
557
+ FIT_LAP_FIELD_NUM_MIN_SATURATED_HEMOGLOBIN_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
558
+ FIT_LAP_FIELD_NUM_MAX_SATURATED_HEMOGLOBIN_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
538
559
  FIT_LAP_FIELD_NUM_EVENT, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
539
560
  FIT_LAP_FIELD_NUM_EVENT_TYPE, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
540
561
  FIT_LAP_FIELD_NUM_AVG_HEART_RATE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
@@ -551,6 +572,9 @@ const static FIT_LAP_MESG_DEF lap_mesg_def =
551
572
  FIT_LAP_FIELD_NUM_AVG_TEMPERATURE, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8,
552
573
  FIT_LAP_FIELD_NUM_MAX_TEMPERATURE, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8,
553
574
  FIT_LAP_FIELD_NUM_MIN_HEART_RATE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
575
+ FIT_LAP_FIELD_NUM_AVG_FRACTIONAL_CADENCE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
576
+ FIT_LAP_FIELD_NUM_MAX_FRACTIONAL_CADENCE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
577
+ FIT_LAP_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
554
578
  }
555
579
  };
556
580
 
@@ -587,7 +611,7 @@ const static FIT_RECORD_MESG_DEF record_mesg_def =
587
611
  0, // reserved_1
588
612
  FIT_ARCH_ENDIAN, // arch
589
613
  FIT_MESG_NUM_RECORD, // global_mesg_num
590
- 34, // num_fields
614
+ 45, // num_fields
591
615
  { // field_def_num, size, base_type
592
616
  FIT_RECORD_FIELD_NUM_TIMESTAMP, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
593
617
  FIT_RECORD_FIELD_NUM_POSITION_LAT, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
@@ -603,8 +627,17 @@ const static FIT_RECORD_MESG_DEF record_mesg_def =
603
627
  FIT_RECORD_FIELD_NUM_COMPRESSED_ACCUMULATED_POWER, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
604
628
  FIT_RECORD_FIELD_NUM_VERTICAL_SPEED, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16,
605
629
  FIT_RECORD_FIELD_NUM_CALORIES, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
630
+ FIT_RECORD_FIELD_NUM_VERTICAL_OSCILLATION, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
631
+ FIT_RECORD_FIELD_NUM_STANCE_TIME_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
632
+ FIT_RECORD_FIELD_NUM_STANCE_TIME, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
606
633
  FIT_RECORD_FIELD_NUM_BALL_SPEED, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
607
634
  FIT_RECORD_FIELD_NUM_CADENCE256, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
635
+ FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
636
+ FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC_MIN, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
637
+ FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC_MAX, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
638
+ FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
639
+ FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT_MIN, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
640
+ FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT_MAX, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
608
641
  FIT_RECORD_FIELD_NUM_HEART_RATE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
609
642
  FIT_RECORD_FIELD_NUM_CADENCE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
610
643
  FIT_RECORD_FIELD_NUM_COMPRESSED_SPEED_DISTANCE, (sizeof(FIT_BYTE)*3), FIT_BASE_TYPE_BYTE,
@@ -615,6 +648,7 @@ const static FIT_RECORD_MESG_DEF record_mesg_def =
615
648
  FIT_RECORD_FIELD_NUM_CYCLES, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
616
649
  FIT_RECORD_FIELD_NUM_LEFT_RIGHT_BALANCE, (sizeof(FIT_LEFT_RIGHT_BALANCE)*1), FIT_BASE_TYPE_UINT8,
617
650
  FIT_RECORD_FIELD_NUM_GPS_ACCURACY, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
651
+ FIT_RECORD_FIELD_NUM_ACTIVITY_TYPE, (sizeof(FIT_ACTIVITY_TYPE)*1), FIT_BASE_TYPE_ENUM,
618
652
  FIT_RECORD_FIELD_NUM_LEFT_TORQUE_EFFECTIVENESS, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
619
653
  FIT_RECORD_FIELD_NUM_RIGHT_TORQUE_EFFECTIVENESS, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
620
654
  FIT_RECORD_FIELD_NUM_LEFT_PEDAL_SMOOTHNESS, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
@@ -623,6 +657,7 @@ const static FIT_RECORD_MESG_DEF record_mesg_def =
623
657
  FIT_RECORD_FIELD_NUM_TIME128, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
624
658
  FIT_RECORD_FIELD_NUM_STROKE_TYPE, (sizeof(FIT_STROKE_TYPE)*1), FIT_BASE_TYPE_ENUM,
625
659
  FIT_RECORD_FIELD_NUM_ZONE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
660
+ FIT_RECORD_FIELD_NUM_DEVICE_INDEX, (sizeof(FIT_DEVICE_INDEX)*1), FIT_BASE_TYPE_UINT8,
626
661
  }
627
662
  };
628
663
 
@@ -631,7 +666,7 @@ const static FIT_EVENT_MESG_DEF event_mesg_def =
631
666
  0, // reserved_1
632
667
  FIT_ARCH_ENDIAN, // arch
633
668
  FIT_MESG_NUM_EVENT, // global_mesg_num
634
- 8, // num_fields
669
+ 12, // num_fields
635
670
  { // field_def_num, size, base_type
636
671
  FIT_EVENT_FIELD_NUM_TIMESTAMP, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
637
672
  FIT_EVENT_FIELD_NUM_DATA, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
@@ -641,6 +676,10 @@ const static FIT_EVENT_MESG_DEF event_mesg_def =
641
676
  FIT_EVENT_FIELD_NUM_EVENT, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
642
677
  FIT_EVENT_FIELD_NUM_EVENT_TYPE, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
643
678
  FIT_EVENT_FIELD_NUM_EVENT_GROUP, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
679
+ FIT_EVENT_FIELD_NUM_FRONT_GEAR_NUM, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
680
+ FIT_EVENT_FIELD_NUM_FRONT_GEAR, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
681
+ FIT_EVENT_FIELD_NUM_REAR_GEAR_NUM, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
682
+ FIT_EVENT_FIELD_NUM_REAR_GEAR, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
644
683
  }
645
684
  };
646
685
 
@@ -649,7 +688,7 @@ const static FIT_DEVICE_INFO_MESG_DEF device_info_mesg_def =
649
688
  0, // reserved_1
650
689
  FIT_ARCH_ENDIAN, // arch
651
690
  FIT_MESG_NUM_DEVICE_INFO, // global_mesg_num
652
- 11, // num_fields
691
+ 17, // num_fields
653
692
  { // field_def_num, size, base_type
654
693
  FIT_DEVICE_INFO_FIELD_NUM_TIMESTAMP, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
655
694
  FIT_DEVICE_INFO_FIELD_NUM_SERIAL_NUMBER, (sizeof(FIT_UINT32Z)*1), FIT_BASE_TYPE_UINT32Z,
@@ -658,10 +697,16 @@ const static FIT_DEVICE_INFO_MESG_DEF device_info_mesg_def =
658
697
  FIT_DEVICE_INFO_FIELD_NUM_PRODUCT, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
659
698
  FIT_DEVICE_INFO_FIELD_NUM_SOFTWARE_VERSION, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
660
699
  FIT_DEVICE_INFO_FIELD_NUM_BATTERY_VOLTAGE, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
700
+ FIT_DEVICE_INFO_FIELD_NUM_ANT_DEVICE_NUMBER, (sizeof(FIT_UINT16Z)*1), FIT_BASE_TYPE_UINT16Z,
661
701
  FIT_DEVICE_INFO_FIELD_NUM_DEVICE_INDEX, (sizeof(FIT_DEVICE_INDEX)*1), FIT_BASE_TYPE_UINT8,
662
- FIT_DEVICE_INFO_FIELD_NUM_DEVICE_TYPE, (sizeof(FIT_DEVICE_TYPE)*1), FIT_BASE_TYPE_UINT8,
702
+ FIT_DEVICE_INFO_FIELD_NUM_DEVICE_TYPE, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
663
703
  FIT_DEVICE_INFO_FIELD_NUM_HARDWARE_VERSION, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
664
704
  FIT_DEVICE_INFO_FIELD_NUM_BATTERY_STATUS, (sizeof(FIT_BATTERY_STATUS)*1), FIT_BASE_TYPE_UINT8,
705
+ FIT_DEVICE_INFO_FIELD_NUM_SENSOR_POSITION, (sizeof(FIT_BODY_LOCATION)*1), FIT_BASE_TYPE_ENUM,
706
+ FIT_DEVICE_INFO_FIELD_NUM_DESCRIPTOR, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING,
707
+ FIT_DEVICE_INFO_FIELD_NUM_ANT_TRANSMISSION_TYPE, (sizeof(FIT_UINT8Z)*1), FIT_BASE_TYPE_UINT8Z,
708
+ FIT_DEVICE_INFO_FIELD_NUM_ANT_NETWORK, (sizeof(FIT_ANT_NETWORK)*1), FIT_BASE_TYPE_ENUM,
709
+ FIT_DEVICE_INFO_FIELD_NUM_SOURCE_TYPE, (sizeof(FIT_SOURCE_TYPE)*1), FIT_BASE_TYPE_ENUM,
665
710
  }
666
711
  };
667
712
 
@@ -844,9 +889,9 @@ const static FIT_MONITORING_MESG_DEF monitoring_mesg_def =
844
889
  FIT_MONITORING_FIELD_NUM_ACTIVE_TIME, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
845
890
  FIT_MONITORING_FIELD_NUM_LOCAL_TIMESTAMP, (sizeof(FIT_LOCAL_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
846
891
  FIT_MONITORING_FIELD_NUM_CALORIES, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
847
- FIT_MONITORING_FIELD_NUM_COMPRESSED_DISTANCE, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
848
- FIT_MONITORING_FIELD_NUM_COMPRESSED_CYCLES, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
849
- FIT_MONITORING_FIELD_NUM_COMPRESSED_ACTIVE_TIME, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
892
+ FIT_MONITORING_FIELD_NUM_DISTANCE_16, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
893
+ FIT_MONITORING_FIELD_NUM_CYCLES_16, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
894
+ FIT_MONITORING_FIELD_NUM_ACTIVE_TIME_16, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
850
895
  FIT_MONITORING_FIELD_NUM_DEVICE_INDEX, (sizeof(FIT_DEVICE_INDEX)*1), FIT_BASE_TYPE_UINT8,
851
896
  FIT_MONITORING_FIELD_NUM_ACTIVITY_TYPE, (sizeof(FIT_ACTIVITY_TYPE)*1), FIT_BASE_TYPE_ENUM,
852
897
  FIT_MONITORING_FIELD_NUM_ACTIVITY_SUBTYPE, (sizeof(FIT_ACTIVITY_SUBTYPE)*1), FIT_BASE_TYPE_ENUM,
@@ -7,11 +7,11 @@
7
7
  // warranties of merchantability, non-infringement, or fitness for a particular
8
8
  // purpose, are specifically disclaimed.
9
9
  //
10
- // Copyright 2013 Dynastream Innovations Inc.
10
+ // Copyright 2014 Dynastream Innovations Inc.
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  // ****WARNING**** This file is auto-generated! Do NOT edit this file.
13
- // Profile Version = 8.10Release
14
- // Tag = $Name: AKW8_100 $
13
+ // Profile Version = 11.0Release
14
+ // Tag = $Name: AKW11_000 $
15
15
  // Product = EXAMPLE
16
16
  // Alignment = 4 bytes, padding disabled.
17
17
  ////////////////////////////////////////////////////////////////////////////////
@@ -51,10 +51,11 @@ typedef FIT_ENUM FIT_FILE;
51
51
  #define FIT_FILE_TOTALS ((FIT_FILE)10) // Read only, single file. Directory=Totals
52
52
  #define FIT_FILE_GOALS ((FIT_FILE)11) // Read/write, single file. Directory=Goals
53
53
  #define FIT_FILE_BLOOD_PRESSURE ((FIT_FILE)14) // Read only. Directory=Blood Pressure
54
- #define FIT_FILE_MONITORING ((FIT_FILE)15) // Read only. Directory=Monitoring
54
+ #define FIT_FILE_MONITORING_A ((FIT_FILE)15) // Read only. Directory=Monitoring. File number=sub type.
55
55
  #define FIT_FILE_ACTIVITY_SUMMARY ((FIT_FILE)20) // Read/erase, multiple files. Directory=Activities
56
56
  #define FIT_FILE_MONITORING_DAILY ((FIT_FILE)28)
57
- #define FIT_FILE_COUNT 14
57
+ #define FIT_FILE_MONITORING_B ((FIT_FILE)32) // Read only. Directory=Monitoring. File number=identifier
58
+ #define FIT_FILE_COUNT 15
58
59
 
59
60
  typedef FIT_UINT16 FIT_MESG_NUM;
60
61
  #define FIT_MESG_NUM_INVALID FIT_UINT16_INVALID
@@ -98,9 +99,10 @@ typedef FIT_UINT16 FIT_MESG_NUM;
98
99
  #define FIT_MESG_NUM_PAD ((FIT_MESG_NUM)105)
99
100
  #define FIT_MESG_NUM_SLAVE_DEVICE ((FIT_MESG_NUM)106)
100
101
  #define FIT_MESG_NUM_CADENCE_ZONE ((FIT_MESG_NUM)131)
102
+ #define FIT_MESG_NUM_MEMO_GLOB ((FIT_MESG_NUM)145)
101
103
  #define FIT_MESG_NUM_MFG_RANGE_MIN ((FIT_MESG_NUM)0xFF00) // 0xFF00 - 0xFFFE reserved for manufacturer specific messages
102
104
  #define FIT_MESG_NUM_MFG_RANGE_MAX ((FIT_MESG_NUM)0xFFFE) // 0xFF00 - 0xFFFE reserved for manufacturer specific messages
103
- #define FIT_MESG_NUM_COUNT 42
105
+ #define FIT_MESG_NUM_COUNT 43
104
106
 
105
107
  typedef FIT_UINT8 FIT_CHECKSUM;
106
108
  #define FIT_CHECKSUM_INVALID FIT_UINT8_INVALID
@@ -129,7 +131,8 @@ typedef FIT_UINT32 FIT_DATE_TIME; // seconds since UTC 00:00 Dec 31 1989
129
131
 
130
132
  typedef FIT_UINT32 FIT_LOCAL_DATE_TIME; // seconds since 00:00 Dec 31 1989 in local time zone
131
133
  #define FIT_LOCAL_DATE_TIME_INVALID FIT_UINT32_INVALID
132
- #define FIT_LOCAL_DATE_TIME_COUNT 0
134
+ #define FIT_LOCAL_DATE_TIME_MIN ((FIT_LOCAL_DATE_TIME)0x10000000) // if date_time is < 0x10000000 then it is system time (seconds from device power on)
135
+ #define FIT_LOCAL_DATE_TIME_COUNT 1
133
136
 
134
137
  typedef FIT_UINT16 FIT_MESSAGE_INDEX;
135
138
  #define FIT_MESSAGE_INDEX_INVALID FIT_UINT16_INVALID
@@ -258,8 +261,17 @@ typedef FIT_ENUM FIT_SPORT;
258
261
  #define FIT_SPORT_TENNIS ((FIT_SPORT)8)
259
262
  #define FIT_SPORT_AMERICAN_FOOTBALL ((FIT_SPORT)9)
260
263
  #define FIT_SPORT_TRAINING ((FIT_SPORT)10)
264
+ #define FIT_SPORT_WALKING ((FIT_SPORT)11)
265
+ #define FIT_SPORT_CROSS_COUNTRY_SKIING ((FIT_SPORT)12)
266
+ #define FIT_SPORT_ALPINE_SKIING ((FIT_SPORT)13)
267
+ #define FIT_SPORT_SNOWBOARDING ((FIT_SPORT)14)
268
+ #define FIT_SPORT_ROWING ((FIT_SPORT)15)
269
+ #define FIT_SPORT_MOUNTAINEERING ((FIT_SPORT)16)
270
+ #define FIT_SPORT_HIKING ((FIT_SPORT)17)
271
+ #define FIT_SPORT_MULTISPORT ((FIT_SPORT)18)
272
+ #define FIT_SPORT_PADDLING ((FIT_SPORT)19)
261
273
  #define FIT_SPORT_ALL ((FIT_SPORT)254) // All is for goals only to include all sports.
262
- #define FIT_SPORT_COUNT 12
274
+ #define FIT_SPORT_COUNT 21
263
275
 
264
276
  typedef FIT_UINT8Z FIT_SPORT_BITS_0; // Bit field corresponding to sport enum type (1 << sport).
265
277
  #define FIT_SPORT_BITS_0_INVALID FIT_UINT8Z_INVALID
@@ -278,17 +290,30 @@ typedef FIT_UINT8Z FIT_SPORT_BITS_1; // Bit field corresponding to sport enum ty
278
290
  #define FIT_SPORT_BITS_1_TENNIS ((FIT_SPORT_BITS_1)0x01)
279
291
  #define FIT_SPORT_BITS_1_AMERICAN_FOOTBALL ((FIT_SPORT_BITS_1)0x02)
280
292
  #define FIT_SPORT_BITS_1_TRAINING ((FIT_SPORT_BITS_1)0x04)
281
- #define FIT_SPORT_BITS_1_COUNT 3
293
+ #define FIT_SPORT_BITS_1_WALKING ((FIT_SPORT_BITS_1)0x08)
294
+ #define FIT_SPORT_BITS_1_CROSS_COUNTRY_SKIING ((FIT_SPORT_BITS_1)0x10)
295
+ #define FIT_SPORT_BITS_1_ALPINE_SKIING ((FIT_SPORT_BITS_1)0x20)
296
+ #define FIT_SPORT_BITS_1_SNOWBOARDING ((FIT_SPORT_BITS_1)0x40)
297
+ #define FIT_SPORT_BITS_1_ROWING ((FIT_SPORT_BITS_1)0x80)
298
+ #define FIT_SPORT_BITS_1_COUNT 8
299
+
300
+ typedef FIT_UINT8Z FIT_SPORT_BITS_2; // Bit field corresponding to sport enum type (1 << (sport-16)).
301
+ #define FIT_SPORT_BITS_2_INVALID FIT_UINT8Z_INVALID
302
+ #define FIT_SPORT_BITS_2_MOUNTAINEERING ((FIT_SPORT_BITS_2)0x01)
303
+ #define FIT_SPORT_BITS_2_HIKING ((FIT_SPORT_BITS_2)0x02)
304
+ #define FIT_SPORT_BITS_2_MULTISPORT ((FIT_SPORT_BITS_2)0x04)
305
+ #define FIT_SPORT_BITS_2_PADDLING ((FIT_SPORT_BITS_2)0x08)
306
+ #define FIT_SPORT_BITS_2_COUNT 4
282
307
 
283
308
  typedef FIT_ENUM FIT_SUB_SPORT;
284
309
  #define FIT_SUB_SPORT_INVALID FIT_ENUM_INVALID
285
310
  #define FIT_SUB_SPORT_GENERIC ((FIT_SUB_SPORT)0)
286
- #define FIT_SUB_SPORT_TREADMILL ((FIT_SUB_SPORT)1) // Run
311
+ #define FIT_SUB_SPORT_TREADMILL ((FIT_SUB_SPORT)1) // Run/Fitness Equipment
287
312
  #define FIT_SUB_SPORT_STREET ((FIT_SUB_SPORT)2) // Run
288
313
  #define FIT_SUB_SPORT_TRAIL ((FIT_SUB_SPORT)3) // Run
289
314
  #define FIT_SUB_SPORT_TRACK ((FIT_SUB_SPORT)4) // Run
290
315
  #define FIT_SUB_SPORT_SPIN ((FIT_SUB_SPORT)5) // Cycling
291
- #define FIT_SUB_SPORT_INDOOR_CYCLING ((FIT_SUB_SPORT)6) // Cycling
316
+ #define FIT_SUB_SPORT_INDOOR_CYCLING ((FIT_SUB_SPORT)6) // Cycling/Fitness Equipment
292
317
  #define FIT_SUB_SPORT_ROAD ((FIT_SUB_SPORT)7) // Cycling
293
318
  #define FIT_SUB_SPORT_MOUNTAIN ((FIT_SUB_SPORT)8) // Cycling
294
319
  #define FIT_SUB_SPORT_DOWNHILL ((FIT_SUB_SPORT)9) // Cycling
@@ -307,8 +332,10 @@ typedef FIT_ENUM FIT_SUB_SPORT;
307
332
  #define FIT_SUB_SPORT_MATCH ((FIT_SUB_SPORT)22) // Tennis
308
333
  #define FIT_SUB_SPORT_EXERCISE ((FIT_SUB_SPORT)23) // Tennis
309
334
  #define FIT_SUB_SPORT_CHALLENGE ((FIT_SUB_SPORT)24) // Tennis
335
+ #define FIT_SUB_SPORT_INDOOR_SKIING ((FIT_SUB_SPORT)25) // Fitness Equipment
336
+ #define FIT_SUB_SPORT_CARDIO_TRAINING ((FIT_SUB_SPORT)26) // Training
310
337
  #define FIT_SUB_SPORT_ALL ((FIT_SUB_SPORT)254)
311
- #define FIT_SUB_SPORT_COUNT 26
338
+ #define FIT_SUB_SPORT_COUNT 28
312
339
 
313
340
  typedef FIT_ENUM FIT_ACTIVITY;
314
341
  #define FIT_ACTIVITY_INVALID FIT_ENUM_INVALID
@@ -388,7 +415,9 @@ typedef FIT_ENUM FIT_EVENT;
388
415
  #define FIT_EVENT_USER_MARKER ((FIT_EVENT)32) // marker
389
416
  #define FIT_EVENT_SPORT_POINT ((FIT_EVENT)33) // marker
390
417
  #define FIT_EVENT_CALIBRATION ((FIT_EVENT)36) // start/stop/marker
391
- #define FIT_EVENT_COUNT 30
418
+ #define FIT_EVENT_FRONT_GEAR_CHANGE ((FIT_EVENT)42) // marker
419
+ #define FIT_EVENT_REAR_GEAR_CHANGE ((FIT_EVENT)43) // marker
420
+ #define FIT_EVENT_COUNT 32
392
421
 
393
422
  typedef FIT_ENUM FIT_EVENT_TYPE;
394
423
  #define FIT_EVENT_TYPE_INVALID FIT_ENUM_INVALID
@@ -596,10 +625,21 @@ typedef FIT_UINT16 FIT_MANUFACTURER;
596
625
  #define FIT_MANUFACTURER_SIGMASPORT ((FIT_MANUFACTURER)70)
597
626
  #define FIT_MANUFACTURER_TOMTOM ((FIT_MANUFACTURER)71)
598
627
  #define FIT_MANUFACTURER_PERIPEDAL ((FIT_MANUFACTURER)72)
628
+ #define FIT_MANUFACTURER_WATTBIKE ((FIT_MANUFACTURER)73)
599
629
  #define FIT_MANUFACTURER_MOXY ((FIT_MANUFACTURER)76)
630
+ #define FIT_MANUFACTURER_CICLOSPORT ((FIT_MANUFACTURER)77)
631
+ #define FIT_MANUFACTURER_POWERBAHN ((FIT_MANUFACTURER)78)
632
+ #define FIT_MANUFACTURER_ACORN_PROJECTS_APS ((FIT_MANUFACTURER)79)
633
+ #define FIT_MANUFACTURER_LIFEBEAM ((FIT_MANUFACTURER)80)
634
+ #define FIT_MANUFACTURER_BONTRAGER ((FIT_MANUFACTURER)81)
635
+ #define FIT_MANUFACTURER_WELLGO ((FIT_MANUFACTURER)82)
636
+ #define FIT_MANUFACTURER_SCOSCHE ((FIT_MANUFACTURER)83)
637
+ #define FIT_MANUFACTURER_MAGURA ((FIT_MANUFACTURER)84)
638
+ #define FIT_MANUFACTURER_WOODWAY ((FIT_MANUFACTURER)85)
639
+ #define FIT_MANUFACTURER_ELITE ((FIT_MANUFACTURER)86)
600
640
  #define FIT_MANUFACTURER_DEVELOPMENT ((FIT_MANUFACTURER)255)
601
641
  #define FIT_MANUFACTURER_ACTIGRAPHCORP ((FIT_MANUFACTURER)5759)
602
- #define FIT_MANUFACTURER_COUNT 74
642
+ #define FIT_MANUFACTURER_COUNT 85
603
643
 
604
644
  typedef FIT_UINT16 FIT_GARMIN_PRODUCT;
605
645
  #define FIT_GARMIN_PRODUCT_INVALID FIT_UINT16_INVALID
@@ -609,56 +649,109 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT;
609
649
  #define FIT_GARMIN_PRODUCT_AXB02 ((FIT_GARMIN_PRODUCT)4)
610
650
  #define FIT_GARMIN_PRODUCT_HRM2SS ((FIT_GARMIN_PRODUCT)5)
611
651
  #define FIT_GARMIN_PRODUCT_DSI_ALF02 ((FIT_GARMIN_PRODUCT)6)
652
+ #define FIT_GARMIN_PRODUCT_HRM3SS ((FIT_GARMIN_PRODUCT)7)
653
+ #define FIT_GARMIN_PRODUCT_HRM_RUN_SINGLE_BYTE_PRODUCT_ID ((FIT_GARMIN_PRODUCT)8) // hrm_run model for HRM ANT+ messaging
654
+ #define FIT_GARMIN_PRODUCT_BSM ((FIT_GARMIN_PRODUCT)9) // BSM model for ANT+ messaging
655
+ #define FIT_GARMIN_PRODUCT_BCM ((FIT_GARMIN_PRODUCT)10) // BCM model for ANT+ messaging
656
+ #define FIT_GARMIN_PRODUCT_FR301_CHINA ((FIT_GARMIN_PRODUCT)473)
657
+ #define FIT_GARMIN_PRODUCT_FR301_JAPAN ((FIT_GARMIN_PRODUCT)474)
658
+ #define FIT_GARMIN_PRODUCT_FR301_KOREA ((FIT_GARMIN_PRODUCT)475)
659
+ #define FIT_GARMIN_PRODUCT_FR301_TAIWAN ((FIT_GARMIN_PRODUCT)494)
612
660
  #define FIT_GARMIN_PRODUCT_FR405 ((FIT_GARMIN_PRODUCT)717) // Forerunner 405
613
661
  #define FIT_GARMIN_PRODUCT_FR50 ((FIT_GARMIN_PRODUCT)782) // Forerunner 50
662
+ #define FIT_GARMIN_PRODUCT_FR405_JAPAN ((FIT_GARMIN_PRODUCT)987)
614
663
  #define FIT_GARMIN_PRODUCT_FR60 ((FIT_GARMIN_PRODUCT)988) // Forerunner 60
615
664
  #define FIT_GARMIN_PRODUCT_DSI_ALF01 ((FIT_GARMIN_PRODUCT)1011)
616
665
  #define FIT_GARMIN_PRODUCT_FR310XT ((FIT_GARMIN_PRODUCT)1018) // Forerunner 310
617
666
  #define FIT_GARMIN_PRODUCT_EDGE500 ((FIT_GARMIN_PRODUCT)1036)
618
667
  #define FIT_GARMIN_PRODUCT_FR110 ((FIT_GARMIN_PRODUCT)1124) // Forerunner 110
619
668
  #define FIT_GARMIN_PRODUCT_EDGE800 ((FIT_GARMIN_PRODUCT)1169)
669
+ #define FIT_GARMIN_PRODUCT_EDGE500_TAIWAN ((FIT_GARMIN_PRODUCT)1199)
670
+ #define FIT_GARMIN_PRODUCT_EDGE500_JAPAN ((FIT_GARMIN_PRODUCT)1213)
620
671
  #define FIT_GARMIN_PRODUCT_CHIRP ((FIT_GARMIN_PRODUCT)1253)
672
+ #define FIT_GARMIN_PRODUCT_FR110_JAPAN ((FIT_GARMIN_PRODUCT)1274)
621
673
  #define FIT_GARMIN_PRODUCT_EDGE200 ((FIT_GARMIN_PRODUCT)1325)
622
674
  #define FIT_GARMIN_PRODUCT_FR910XT ((FIT_GARMIN_PRODUCT)1328)
675
+ #define FIT_GARMIN_PRODUCT_EDGE800_TAIWAN ((FIT_GARMIN_PRODUCT)1333)
676
+ #define FIT_GARMIN_PRODUCT_EDGE800_JAPAN ((FIT_GARMIN_PRODUCT)1334)
623
677
  #define FIT_GARMIN_PRODUCT_ALF04 ((FIT_GARMIN_PRODUCT)1341)
624
678
  #define FIT_GARMIN_PRODUCT_FR610 ((FIT_GARMIN_PRODUCT)1345)
679
+ #define FIT_GARMIN_PRODUCT_FR210_JAPAN ((FIT_GARMIN_PRODUCT)1360)
680
+ #define FIT_GARMIN_PRODUCT_VECTOR_SS ((FIT_GARMIN_PRODUCT)1380)
681
+ #define FIT_GARMIN_PRODUCT_VECTOR_CP ((FIT_GARMIN_PRODUCT)1381)
682
+ #define FIT_GARMIN_PRODUCT_EDGE800_CHINA ((FIT_GARMIN_PRODUCT)1386)
683
+ #define FIT_GARMIN_PRODUCT_EDGE500_CHINA ((FIT_GARMIN_PRODUCT)1387)
684
+ #define FIT_GARMIN_PRODUCT_FR610_JAPAN ((FIT_GARMIN_PRODUCT)1410)
685
+ #define FIT_GARMIN_PRODUCT_EDGE500_KOREA ((FIT_GARMIN_PRODUCT)1422)
625
686
  #define FIT_GARMIN_PRODUCT_FR70 ((FIT_GARMIN_PRODUCT)1436)
626
687
  #define FIT_GARMIN_PRODUCT_FR310XT_4T ((FIT_GARMIN_PRODUCT)1446)
627
688
  #define FIT_GARMIN_PRODUCT_AMX ((FIT_GARMIN_PRODUCT)1461)
628
689
  #define FIT_GARMIN_PRODUCT_FR10 ((FIT_GARMIN_PRODUCT)1482)
690
+ #define FIT_GARMIN_PRODUCT_EDGE800_KOREA ((FIT_GARMIN_PRODUCT)1497)
629
691
  #define FIT_GARMIN_PRODUCT_SWIM ((FIT_GARMIN_PRODUCT)1499)
692
+ #define FIT_GARMIN_PRODUCT_FR910XT_CHINA ((FIT_GARMIN_PRODUCT)1537)
630
693
  #define FIT_GARMIN_PRODUCT_FENIX ((FIT_GARMIN_PRODUCT)1551)
694
+ #define FIT_GARMIN_PRODUCT_EDGE200_TAIWAN ((FIT_GARMIN_PRODUCT)1555)
631
695
  #define FIT_GARMIN_PRODUCT_EDGE510 ((FIT_GARMIN_PRODUCT)1561)
632
696
  #define FIT_GARMIN_PRODUCT_EDGE810 ((FIT_GARMIN_PRODUCT)1567)
633
697
  #define FIT_GARMIN_PRODUCT_TEMPE ((FIT_GARMIN_PRODUCT)1570)
698
+ #define FIT_GARMIN_PRODUCT_FR910XT_JAPAN ((FIT_GARMIN_PRODUCT)1600)
699
+ #define FIT_GARMIN_PRODUCT_FR620 ((FIT_GARMIN_PRODUCT)1623)
700
+ #define FIT_GARMIN_PRODUCT_FR220 ((FIT_GARMIN_PRODUCT)1632)
701
+ #define FIT_GARMIN_PRODUCT_FR910XT_KOREA ((FIT_GARMIN_PRODUCT)1664)
702
+ #define FIT_GARMIN_PRODUCT_FR10_JAPAN ((FIT_GARMIN_PRODUCT)1688)
703
+ #define FIT_GARMIN_PRODUCT_EDGE810_JAPAN ((FIT_GARMIN_PRODUCT)1721)
634
704
  #define FIT_GARMIN_PRODUCT_VIRB_ELITE ((FIT_GARMIN_PRODUCT)1735)
635
- #define FIT_GARMIN_PRODUCT_EDGE_TOURING ((FIT_GARMIN_PRODUCT)1736)
705
+ #define FIT_GARMIN_PRODUCT_EDGE_TOURING ((FIT_GARMIN_PRODUCT)1736) // Also Edge Touring Plus
706
+ #define FIT_GARMIN_PRODUCT_EDGE510_JAPAN ((FIT_GARMIN_PRODUCT)1742)
707
+ #define FIT_GARMIN_PRODUCT_HRM_RUN ((FIT_GARMIN_PRODUCT)1752)
708
+ #define FIT_GARMIN_PRODUCT_EDGE510_ASIA ((FIT_GARMIN_PRODUCT)1821)
709
+ #define FIT_GARMIN_PRODUCT_EDGE810_CHINA ((FIT_GARMIN_PRODUCT)1822)
710
+ #define FIT_GARMIN_PRODUCT_EDGE810_TAIWAN ((FIT_GARMIN_PRODUCT)1823)
711
+ #define FIT_GARMIN_PRODUCT_EDGE1000 ((FIT_GARMIN_PRODUCT)1836)
712
+ #define FIT_GARMIN_PRODUCT_VIVO_FIT ((FIT_GARMIN_PRODUCT)1837)
713
+ #define FIT_GARMIN_PRODUCT_VIRB_REMOTE ((FIT_GARMIN_PRODUCT)1853)
714
+ #define FIT_GARMIN_PRODUCT_VIVO_KI ((FIT_GARMIN_PRODUCT)1885)
715
+ #define FIT_GARMIN_PRODUCT_EDGE510_KOREA ((FIT_GARMIN_PRODUCT)1918)
716
+ #define FIT_GARMIN_PRODUCT_FR620_JAPAN ((FIT_GARMIN_PRODUCT)1928)
717
+ #define FIT_GARMIN_PRODUCT_FR620_CHINA ((FIT_GARMIN_PRODUCT)1929)
718
+ #define FIT_GARMIN_PRODUCT_FR220_JAPAN ((FIT_GARMIN_PRODUCT)1930)
719
+ #define FIT_GARMIN_PRODUCT_FR220_CHINA ((FIT_GARMIN_PRODUCT)1931)
636
720
  #define FIT_GARMIN_PRODUCT_SDM4 ((FIT_GARMIN_PRODUCT)10007) // SDM4 footpod
721
+ #define FIT_GARMIN_PRODUCT_EDGE_REMOTE ((FIT_GARMIN_PRODUCT)10014)
637
722
  #define FIT_GARMIN_PRODUCT_TRAINING_CENTER ((FIT_GARMIN_PRODUCT)20119)
638
723
  #define FIT_GARMIN_PRODUCT_ANDROID_ANTPLUS_PLUGIN ((FIT_GARMIN_PRODUCT)65532)
639
724
  #define FIT_GARMIN_PRODUCT_CONNECT ((FIT_GARMIN_PRODUCT)65534) // Garmin Connect website
640
- #define FIT_GARMIN_PRODUCT_COUNT 34
641
-
642
- typedef FIT_UINT8 FIT_DEVICE_TYPE;
643
- #define FIT_DEVICE_TYPE_INVALID FIT_UINT8_INVALID
644
- #define FIT_DEVICE_TYPE_ANTFS ((FIT_DEVICE_TYPE)1)
645
- #define FIT_DEVICE_TYPE_BIKE_POWER ((FIT_DEVICE_TYPE)11)
646
- #define FIT_DEVICE_TYPE_ENVIRONMENT_SENSOR_LEGACY ((FIT_DEVICE_TYPE)12)
647
- #define FIT_DEVICE_TYPE_MULTI_SPORT_SPEED_DISTANCE ((FIT_DEVICE_TYPE)15)
648
- #define FIT_DEVICE_TYPE_CONTROL ((FIT_DEVICE_TYPE)16)
649
- #define FIT_DEVICE_TYPE_FITNESS_EQUIPMENT ((FIT_DEVICE_TYPE)17)
650
- #define FIT_DEVICE_TYPE_BLOOD_PRESSURE ((FIT_DEVICE_TYPE)18)
651
- #define FIT_DEVICE_TYPE_GEOCACHE_NODE ((FIT_DEVICE_TYPE)19)
652
- #define FIT_DEVICE_TYPE_LIGHT_ELECTRIC_VEHICLE ((FIT_DEVICE_TYPE)20)
653
- #define FIT_DEVICE_TYPE_ENV_SENSOR ((FIT_DEVICE_TYPE)25)
654
- #define FIT_DEVICE_TYPE_RACQUET ((FIT_DEVICE_TYPE)26)
655
- #define FIT_DEVICE_TYPE_WEIGHT_SCALE ((FIT_DEVICE_TYPE)119)
656
- #define FIT_DEVICE_TYPE_HEART_RATE ((FIT_DEVICE_TYPE)120)
657
- #define FIT_DEVICE_TYPE_BIKE_SPEED_CADENCE ((FIT_DEVICE_TYPE)121)
658
- #define FIT_DEVICE_TYPE_BIKE_CADENCE ((FIT_DEVICE_TYPE)122)
659
- #define FIT_DEVICE_TYPE_BIKE_SPEED ((FIT_DEVICE_TYPE)123)
660
- #define FIT_DEVICE_TYPE_STRIDE_SPEED_DISTANCE ((FIT_DEVICE_TYPE)124)
661
- #define FIT_DEVICE_TYPE_COUNT 17
725
+ #define FIT_GARMIN_PRODUCT_COUNT 79
726
+
727
+ typedef FIT_UINT8 FIT_ANTPLUS_DEVICE_TYPE;
728
+ #define FIT_ANTPLUS_DEVICE_TYPE_INVALID FIT_UINT8_INVALID
729
+ #define FIT_ANTPLUS_DEVICE_TYPE_ANTFS ((FIT_ANTPLUS_DEVICE_TYPE)1)
730
+ #define FIT_ANTPLUS_DEVICE_TYPE_BIKE_POWER ((FIT_ANTPLUS_DEVICE_TYPE)11)
731
+ #define FIT_ANTPLUS_DEVICE_TYPE_ENVIRONMENT_SENSOR_LEGACY ((FIT_ANTPLUS_DEVICE_TYPE)12)
732
+ #define FIT_ANTPLUS_DEVICE_TYPE_MULTI_SPORT_SPEED_DISTANCE ((FIT_ANTPLUS_DEVICE_TYPE)15)
733
+ #define FIT_ANTPLUS_DEVICE_TYPE_CONTROL ((FIT_ANTPLUS_DEVICE_TYPE)16)
734
+ #define FIT_ANTPLUS_DEVICE_TYPE_FITNESS_EQUIPMENT ((FIT_ANTPLUS_DEVICE_TYPE)17)
735
+ #define FIT_ANTPLUS_DEVICE_TYPE_BLOOD_PRESSURE ((FIT_ANTPLUS_DEVICE_TYPE)18)
736
+ #define FIT_ANTPLUS_DEVICE_TYPE_GEOCACHE_NODE ((FIT_ANTPLUS_DEVICE_TYPE)19)
737
+ #define FIT_ANTPLUS_DEVICE_TYPE_LIGHT_ELECTRIC_VEHICLE ((FIT_ANTPLUS_DEVICE_TYPE)20)
738
+ #define FIT_ANTPLUS_DEVICE_TYPE_ENV_SENSOR ((FIT_ANTPLUS_DEVICE_TYPE)25)
739
+ #define FIT_ANTPLUS_DEVICE_TYPE_RACQUET ((FIT_ANTPLUS_DEVICE_TYPE)26)
740
+ #define FIT_ANTPLUS_DEVICE_TYPE_WEIGHT_SCALE ((FIT_ANTPLUS_DEVICE_TYPE)119)
741
+ #define FIT_ANTPLUS_DEVICE_TYPE_HEART_RATE ((FIT_ANTPLUS_DEVICE_TYPE)120)
742
+ #define FIT_ANTPLUS_DEVICE_TYPE_BIKE_SPEED_CADENCE ((FIT_ANTPLUS_DEVICE_TYPE)121)
743
+ #define FIT_ANTPLUS_DEVICE_TYPE_BIKE_CADENCE ((FIT_ANTPLUS_DEVICE_TYPE)122)
744
+ #define FIT_ANTPLUS_DEVICE_TYPE_BIKE_SPEED ((FIT_ANTPLUS_DEVICE_TYPE)123)
745
+ #define FIT_ANTPLUS_DEVICE_TYPE_STRIDE_SPEED_DISTANCE ((FIT_ANTPLUS_DEVICE_TYPE)124)
746
+ #define FIT_ANTPLUS_DEVICE_TYPE_COUNT 17
747
+
748
+ typedef FIT_ENUM FIT_ANT_NETWORK;
749
+ #define FIT_ANT_NETWORK_INVALID FIT_ENUM_INVALID
750
+ #define FIT_ANT_NETWORK_PUBLIC ((FIT_ANT_NETWORK)0)
751
+ #define FIT_ANT_NETWORK_ANTPLUS ((FIT_ANT_NETWORK)1)
752
+ #define FIT_ANT_NETWORK_ANTFS ((FIT_ANT_NETWORK)2)
753
+ #define FIT_ANT_NETWORK_PRIVATE ((FIT_ANT_NETWORK)3)
754
+ #define FIT_ANT_NETWORK_COUNT 4
662
755
 
663
756
  typedef FIT_UINT32Z FIT_WORKOUT_CAPABILITIES;
664
757
  #define FIT_WORKOUT_CAPABILITIES_INVALID FIT_UINT32Z_INVALID
@@ -733,7 +826,7 @@ typedef FIT_ENUM FIT_BP_STATUS;
733
826
 
734
827
  typedef FIT_UINT16 FIT_USER_LOCAL_ID;
735
828
  #define FIT_USER_LOCAL_ID_INVALID FIT_UINT16_INVALID
736
- #define FIT_USER_LOCAL_ID_LOCAL_MIN ((FIT_USER_LOCAL_ID)0x0001)
829
+ #define FIT_USER_LOCAL_ID_LOCAL_MIN ((FIT_USER_LOCAL_ID)0x0000)
737
830
  #define FIT_USER_LOCAL_ID_LOCAL_MAX ((FIT_USER_LOCAL_ID)0x000F)
738
831
  #define FIT_USER_LOCAL_ID_STATIONARY_MIN ((FIT_USER_LOCAL_ID)0x0010)
739
832
  #define FIT_USER_LOCAL_ID_STATIONARY_MAX ((FIT_USER_LOCAL_ID)0x00FF)
@@ -813,6 +906,22 @@ typedef FIT_ENUM FIT_LENGTH_TYPE;
813
906
  #define FIT_LENGTH_TYPE_ACTIVE ((FIT_LENGTH_TYPE)1) // Length with strokes.
814
907
  #define FIT_LENGTH_TYPE_COUNT 2
815
908
 
909
+ typedef FIT_UINT32Z FIT_CONNECTIVITY_CAPABILITIES;
910
+ #define FIT_CONNECTIVITY_CAPABILITIES_INVALID FIT_UINT32Z_INVALID
911
+ #define FIT_CONNECTIVITY_CAPABILITIES_BLUETOOTH ((FIT_CONNECTIVITY_CAPABILITIES)0x00000001)
912
+ #define FIT_CONNECTIVITY_CAPABILITIES_BLUETOOTH_LE ((FIT_CONNECTIVITY_CAPABILITIES)0x00000002)
913
+ #define FIT_CONNECTIVITY_CAPABILITIES_ANT ((FIT_CONNECTIVITY_CAPABILITIES)0x00000004)
914
+ #define FIT_CONNECTIVITY_CAPABILITIES_ACTIVITY_UPLOAD ((FIT_CONNECTIVITY_CAPABILITIES)0x00000008)
915
+ #define FIT_CONNECTIVITY_CAPABILITIES_COURSE_DOWNLOAD ((FIT_CONNECTIVITY_CAPABILITIES)0x00000010)
916
+ #define FIT_CONNECTIVITY_CAPABILITIES_WORKOUT_DOWNLOAD ((FIT_CONNECTIVITY_CAPABILITIES)0x00000020)
917
+ #define FIT_CONNECTIVITY_CAPABILITIES_LIVE_TRACK ((FIT_CONNECTIVITY_CAPABILITIES)0x00000040)
918
+ #define FIT_CONNECTIVITY_CAPABILITIES_WEATHER_CONDITIONS ((FIT_CONNECTIVITY_CAPABILITIES)0x00000080)
919
+ #define FIT_CONNECTIVITY_CAPABILITIES_WEATHER_ALERTS ((FIT_CONNECTIVITY_CAPABILITIES)0x00000100)
920
+ #define FIT_CONNECTIVITY_CAPABILITIES_GPS_EPHEMERIS_DOWNLOAD ((FIT_CONNECTIVITY_CAPABILITIES)0x00000200)
921
+ #define FIT_CONNECTIVITY_CAPABILITIES_EXPLICIT_ARCHIVE ((FIT_CONNECTIVITY_CAPABILITIES)0x00000400)
922
+ #define FIT_CONNECTIVITY_CAPABILITIES_SETUP_INCOMPLETE ((FIT_CONNECTIVITY_CAPABILITIES)0x00000800)
923
+ #define FIT_CONNECTIVITY_CAPABILITIES_COUNT 12
924
+
816
925
  typedef FIT_ENUM FIT_STROKE_TYPE;
817
926
  #define FIT_STROKE_TYPE_INVALID FIT_ENUM_INVALID
818
927
  #define FIT_STROKE_TYPE_NO_EVENT ((FIT_STROKE_TYPE)0)
@@ -823,6 +932,56 @@ typedef FIT_ENUM FIT_STROKE_TYPE;
823
932
  #define FIT_STROKE_TYPE_SMASH ((FIT_STROKE_TYPE)5)
824
933
  #define FIT_STROKE_TYPE_COUNT 6
825
934
 
935
+ typedef FIT_ENUM FIT_BODY_LOCATION;
936
+ #define FIT_BODY_LOCATION_INVALID FIT_ENUM_INVALID
937
+ #define FIT_BODY_LOCATION_LEFT_LEG ((FIT_BODY_LOCATION)0)
938
+ #define FIT_BODY_LOCATION_LEFT_CALF ((FIT_BODY_LOCATION)1)
939
+ #define FIT_BODY_LOCATION_LEFT_SHIN ((FIT_BODY_LOCATION)2)
940
+ #define FIT_BODY_LOCATION_LEFT_HAMSTRING ((FIT_BODY_LOCATION)3)
941
+ #define FIT_BODY_LOCATION_LEFT_QUAD ((FIT_BODY_LOCATION)4)
942
+ #define FIT_BODY_LOCATION_LEFT_GLUTE ((FIT_BODY_LOCATION)5)
943
+ #define FIT_BODY_LOCATION_RIGHT_LEG ((FIT_BODY_LOCATION)6)
944
+ #define FIT_BODY_LOCATION_RIGHT_CALF ((FIT_BODY_LOCATION)7)
945
+ #define FIT_BODY_LOCATION_RIGHT_SHIN ((FIT_BODY_LOCATION)8)
946
+ #define FIT_BODY_LOCATION_RIGHT_HAMSTRING ((FIT_BODY_LOCATION)9)
947
+ #define FIT_BODY_LOCATION_RIGHT_QUAD ((FIT_BODY_LOCATION)10)
948
+ #define FIT_BODY_LOCATION_RIGHT_GLUTE ((FIT_BODY_LOCATION)11)
949
+ #define FIT_BODY_LOCATION_TORSO_BACK ((FIT_BODY_LOCATION)12)
950
+ #define FIT_BODY_LOCATION_LEFT_LOWER_BACK ((FIT_BODY_LOCATION)13)
951
+ #define FIT_BODY_LOCATION_LEFT_UPPER_BACK ((FIT_BODY_LOCATION)14)
952
+ #define FIT_BODY_LOCATION_RIGHT_LOWER_BACK ((FIT_BODY_LOCATION)15)
953
+ #define FIT_BODY_LOCATION_RIGHT_UPPER_BACK ((FIT_BODY_LOCATION)16)
954
+ #define FIT_BODY_LOCATION_TORSO_FRONT ((FIT_BODY_LOCATION)17)
955
+ #define FIT_BODY_LOCATION_LEFT_ABDOMEN ((FIT_BODY_LOCATION)18)
956
+ #define FIT_BODY_LOCATION_LEFT_CHEST ((FIT_BODY_LOCATION)19)
957
+ #define FIT_BODY_LOCATION_RIGHT_ABDOMEN ((FIT_BODY_LOCATION)20)
958
+ #define FIT_BODY_LOCATION_RIGHT_CHEST ((FIT_BODY_LOCATION)21)
959
+ #define FIT_BODY_LOCATION_LEFT_ARM ((FIT_BODY_LOCATION)22)
960
+ #define FIT_BODY_LOCATION_LEFT_SHOULDER ((FIT_BODY_LOCATION)23)
961
+ #define FIT_BODY_LOCATION_LEFT_BICEP ((FIT_BODY_LOCATION)24)
962
+ #define FIT_BODY_LOCATION_LEFT_TRICEP ((FIT_BODY_LOCATION)25)
963
+ #define FIT_BODY_LOCATION_LEFT_BRACHIORADIALIS ((FIT_BODY_LOCATION)26) // Left anterior forearm
964
+ #define FIT_BODY_LOCATION_LEFT_FOREARM_EXTENSORS ((FIT_BODY_LOCATION)27) // Left posterior forearm
965
+ #define FIT_BODY_LOCATION_RIGHT_ARM ((FIT_BODY_LOCATION)28)
966
+ #define FIT_BODY_LOCATION_RIGHT_SHOULDER ((FIT_BODY_LOCATION)29)
967
+ #define FIT_BODY_LOCATION_RIGHT_BICEP ((FIT_BODY_LOCATION)30)
968
+ #define FIT_BODY_LOCATION_RIGHT_TRICEP ((FIT_BODY_LOCATION)31)
969
+ #define FIT_BODY_LOCATION_RIGHT_BRACHIORADIALIS ((FIT_BODY_LOCATION)32) // Right anterior forearm
970
+ #define FIT_BODY_LOCATION_RIGHT_FOREARM_EXTENSORS ((FIT_BODY_LOCATION)33) // Right posterior forearm
971
+ #define FIT_BODY_LOCATION_NECK ((FIT_BODY_LOCATION)34)
972
+ #define FIT_BODY_LOCATION_THROAT ((FIT_BODY_LOCATION)35)
973
+ #define FIT_BODY_LOCATION_COUNT 36
974
+
975
+ typedef FIT_ENUM FIT_SOURCE_TYPE;
976
+ #define FIT_SOURCE_TYPE_INVALID FIT_ENUM_INVALID
977
+ #define FIT_SOURCE_TYPE_ANT ((FIT_SOURCE_TYPE)0) // External device connected with ANT
978
+ #define FIT_SOURCE_TYPE_ANTPLUS ((FIT_SOURCE_TYPE)1) // External device connected with ANT+
979
+ #define FIT_SOURCE_TYPE_BLUETOOTH ((FIT_SOURCE_TYPE)2) // External device connected with BT
980
+ #define FIT_SOURCE_TYPE_BLUETOOTH_LOW_ENERGY ((FIT_SOURCE_TYPE)3) // External device connected with BLE
981
+ #define FIT_SOURCE_TYPE_WIFI ((FIT_SOURCE_TYPE)4) // External device connected with Wifi
982
+ #define FIT_SOURCE_TYPE_LOCAL ((FIT_SOURCE_TYPE)5) // Onboard device
983
+ #define FIT_SOURCE_TYPE_COUNT 6
984
+
826
985
 
827
986
  ///////////////////////////////////////////////////////////////////////
828
987
  // Message Conversion Structures
@@ -842,7 +1001,7 @@ typedef struct
842
1001
  FIT_UINT8 arch;
843
1002
  FIT_MESG_NUM global_mesg_num;
844
1003
  FIT_UINT8 num_fields;
845
- FIT_FIELD_CONVERT fields[75];
1004
+ FIT_FIELD_CONVERT fields[81];
846
1005
  } FIT_MESG_CONVERT;
847
1006
 
848
1007
 
@@ -850,8 +1009,8 @@ typedef struct
850
1009
  // Messages
851
1010
  ///////////////////////////////////////////////////////////////////////
852
1011
 
853
- #define FIT_MESG_SIZE 172
854
- #define FIT_MESG_DEF_SIZE 230
1012
+ #define FIT_MESG_SIZE 181
1013
+ #define FIT_MESG_DEF_SIZE 248
855
1014
 
856
1015
  // pad message
857
1016
 
@@ -1016,8 +1175,8 @@ typedef struct
1016
1175
 
1017
1176
  // capabilities message
1018
1177
 
1019
- #define FIT_CAPABILITIES_MESG_SIZE 9
1020
- #define FIT_CAPABILITIES_MESG_DEF_SIZE 14
1178
+ #define FIT_CAPABILITIES_MESG_SIZE 13
1179
+ #define FIT_CAPABILITIES_MESG_DEF_SIZE 17
1021
1180
  #define FIT_CAPABILITIES_MESG_LANGUAGES_COUNT 4
1022
1181
  #define FIT_CAPABILITIES_MESG_SPORTS_COUNT 1
1023
1182
 
@@ -1025,6 +1184,7 @@ typedef struct
1025
1184
  {
1026
1185
  FIT_UINT8Z languages[FIT_CAPABILITIES_MESG_LANGUAGES_COUNT]; // Use language_bits_x types where x is index of array.
1027
1186
  FIT_WORKOUT_CAPABILITIES workouts_supported; //
1187
+ FIT_CONNECTIVITY_CAPABILITIES connectivity_supported; //
1028
1188
  FIT_SPORT_BITS_0 sports[FIT_CAPABILITIES_MESG_SPORTS_COUNT]; // Use sport_bits_x types where x is index of array.
1029
1189
  } FIT_CAPABILITIES_MESG;
1030
1190
 
@@ -1032,6 +1192,7 @@ typedef enum
1032
1192
  {
1033
1193
  FIT_CAPABILITIES_FIELD_NUM_LANGUAGES = 0,
1034
1194
  FIT_CAPABILITIES_FIELD_NUM_WORKOUTS_SUPPORTED = 21,
1195
+ FIT_CAPABILITIES_FIELD_NUM_CONNECTIVITY_SUPPORTED = 23,
1035
1196
  FIT_CAPABILITIES_FIELD_NUM_SPORTS = 1
1036
1197
  } FIT_CAPABILITIES_FIELD_NUM;
1037
1198
 
@@ -1039,6 +1200,7 @@ typedef enum
1039
1200
  {
1040
1201
  FIT_CAPABILITIES_MESG_LANGUAGES,
1041
1202
  FIT_CAPABILITIES_MESG_WORKOUTS_SUPPORTED,
1203
+ FIT_CAPABILITIES_MESG_CONNECTIVITY_SUPPORTED,
1042
1204
  FIT_CAPABILITIES_MESG_SPORTS,
1043
1205
  FIT_CAPABILITIES_MESG_FIELDS
1044
1206
  } FIT_CAPABILITIES_MESG_FIELD;
@@ -1214,8 +1376,8 @@ typedef struct
1214
1376
 
1215
1377
  // user_profile message
1216
1378
 
1217
- #define FIT_USER_PROFILE_MESG_SIZE 45
1218
- #define FIT_USER_PROFILE_MESG_DEF_SIZE 71
1379
+ #define FIT_USER_PROFILE_MESG_SIZE 46
1380
+ #define FIT_USER_PROFILE_MESG_DEF_SIZE 74
1219
1381
  #define FIT_USER_PROFILE_MESG_FRIENDLY_NAME_COUNT 16
1220
1382
  #define FIT_USER_PROFILE_MESG_GLOBAL_ID_COUNT 6
1221
1383
 
@@ -1243,6 +1405,7 @@ typedef struct
1243
1405
  FIT_DISPLAY_POSITION position_setting; //
1244
1406
  FIT_DISPLAY_MEASURE temperature_setting; //
1245
1407
  FIT_BYTE global_id[FIT_USER_PROFILE_MESG_GLOBAL_ID_COUNT]; //
1408
+ FIT_DISPLAY_MEASURE height_setting; //
1246
1409
  } FIT_USER_PROFILE_MESG;
1247
1410
 
1248
1411
  typedef enum
@@ -1268,7 +1431,8 @@ typedef enum
1268
1431
  FIT_USER_PROFILE_FIELD_NUM_ACTIVITY_CLASS = 17,
1269
1432
  FIT_USER_PROFILE_FIELD_NUM_POSITION_SETTING = 18,
1270
1433
  FIT_USER_PROFILE_FIELD_NUM_TEMPERATURE_SETTING = 21,
1271
- FIT_USER_PROFILE_FIELD_NUM_GLOBAL_ID = 23
1434
+ FIT_USER_PROFILE_FIELD_NUM_GLOBAL_ID = 23,
1435
+ FIT_USER_PROFILE_FIELD_NUM_HEIGHT_SETTING = 30
1272
1436
  } FIT_USER_PROFILE_FIELD_NUM;
1273
1437
 
1274
1438
  typedef enum
@@ -1295,6 +1459,7 @@ typedef enum
1295
1459
  FIT_USER_PROFILE_MESG_POSITION_SETTING,
1296
1460
  FIT_USER_PROFILE_MESG_TEMPERATURE_SETTING,
1297
1461
  FIT_USER_PROFILE_MESG_GLOBAL_ID,
1462
+ FIT_USER_PROFILE_MESG_HEIGHT_SETTING,
1298
1463
  FIT_USER_PROFILE_MESG_FIELDS
1299
1464
  } FIT_USER_PROFILE_MESG_FIELD;
1300
1465
 
@@ -1402,9 +1567,11 @@ typedef struct
1402
1567
 
1403
1568
  // bike_profile message
1404
1569
 
1405
- #define FIT_BIKE_PROFILE_MESG_SIZE 54
1406
- #define FIT_BIKE_PROFILE_MESG_DEF_SIZE 86
1570
+ #define FIT_BIKE_PROFILE_MESG_SIZE 58
1571
+ #define FIT_BIKE_PROFILE_MESG_DEF_SIZE 98
1407
1572
  #define FIT_BIKE_PROFILE_MESG_NAME_COUNT 16
1573
+ #define FIT_BIKE_PROFILE_MESG_FRONT_GEAR_COUNT 1
1574
+ #define FIT_BIKE_PROFILE_MESG_REAR_GEAR_COUNT 1
1408
1575
 
1409
1576
  typedef struct
1410
1577
  {
@@ -1435,6 +1602,10 @@ typedef struct
1435
1602
  FIT_UINT8Z bike_spdcad_ant_id_trans_type; //
1436
1603
  FIT_UINT8Z bike_power_ant_id_trans_type; //
1437
1604
  FIT_UINT8 odometer_rollover; // Rollover counter that can be used to extend the odometer
1605
+ FIT_UINT8Z front_gear_num; // Number of front gears
1606
+ FIT_UINT8Z front_gear[FIT_BIKE_PROFILE_MESG_FRONT_GEAR_COUNT]; // Number of teeth on each gear 0 is innermost
1607
+ FIT_UINT8Z rear_gear_num; // Number of rear gears
1608
+ FIT_UINT8Z rear_gear[FIT_BIKE_PROFILE_MESG_REAR_GEAR_COUNT]; // Number of teeth on each gear 0 is innermost
1438
1609
  } FIT_BIKE_PROFILE_MESG;
1439
1610
 
1440
1611
  typedef enum
@@ -1465,7 +1636,11 @@ typedef enum
1465
1636
  FIT_BIKE_PROFILE_FIELD_NUM_BIKE_CAD_ANT_ID_TRANS_TYPE = 22,
1466
1637
  FIT_BIKE_PROFILE_FIELD_NUM_BIKE_SPDCAD_ANT_ID_TRANS_TYPE = 23,
1467
1638
  FIT_BIKE_PROFILE_FIELD_NUM_BIKE_POWER_ANT_ID_TRANS_TYPE = 24,
1468
- FIT_BIKE_PROFILE_FIELD_NUM_ODOMETER_ROLLOVER = 37
1639
+ FIT_BIKE_PROFILE_FIELD_NUM_ODOMETER_ROLLOVER = 37,
1640
+ FIT_BIKE_PROFILE_FIELD_NUM_FRONT_GEAR_NUM = 38,
1641
+ FIT_BIKE_PROFILE_FIELD_NUM_FRONT_GEAR = 39,
1642
+ FIT_BIKE_PROFILE_FIELD_NUM_REAR_GEAR_NUM = 40,
1643
+ FIT_BIKE_PROFILE_FIELD_NUM_REAR_GEAR = 41
1469
1644
  } FIT_BIKE_PROFILE_FIELD_NUM;
1470
1645
 
1471
1646
  typedef enum
@@ -1497,6 +1672,10 @@ typedef enum
1497
1672
  FIT_BIKE_PROFILE_MESG_BIKE_SPDCAD_ANT_ID_TRANS_TYPE,
1498
1673
  FIT_BIKE_PROFILE_MESG_BIKE_POWER_ANT_ID_TRANS_TYPE,
1499
1674
  FIT_BIKE_PROFILE_MESG_ODOMETER_ROLLOVER,
1675
+ FIT_BIKE_PROFILE_MESG_FRONT_GEAR_NUM,
1676
+ FIT_BIKE_PROFILE_MESG_FRONT_GEAR,
1677
+ FIT_BIKE_PROFILE_MESG_REAR_GEAR_NUM,
1678
+ FIT_BIKE_PROFILE_MESG_REAR_GEAR,
1500
1679
  FIT_BIKE_PROFILE_MESG_FIELDS
1501
1680
  } FIT_BIKE_PROFILE_MESG_FIELD;
1502
1681
 
@@ -1891,8 +2070,8 @@ typedef struct
1891
2070
 
1892
2071
  // session message
1893
2072
 
1894
- #define FIT_SESSION_MESG_SIZE 172
1895
- #define FIT_SESSION_MESG_DEF_SIZE 230
2073
+ #define FIT_SESSION_MESG_SIZE 181
2074
+ #define FIT_SESSION_MESG_DEF_SIZE 248
1896
2075
  #define FIT_SESSION_MESG_TIME_IN_HR_ZONE_COUNT 1
1897
2076
  #define FIT_SESSION_MESG_TIME_IN_SPEED_ZONE_COUNT 1
1898
2077
  #define FIT_SESSION_MESG_TIME_IN_CADENCE_ZONE_COUNT 1
@@ -1960,6 +2139,9 @@ typedef struct
1960
2139
  FIT_UINT16 zone_count[FIT_SESSION_MESG_ZONE_COUNT_COUNT]; // counts,zone number used as the index
1961
2140
  FIT_UINT16 max_ball_speed; // 100 * m/s,
1962
2141
  FIT_UINT16 avg_ball_speed; // 100 * m/s,
2142
+ FIT_UINT16 avg_vertical_oscillation; // 10 * mm,
2143
+ FIT_UINT16 avg_stance_time_percent; // 100 * percent,
2144
+ FIT_UINT16 avg_stance_time; // 10 * ms,
1963
2145
  FIT_EVENT event; // session
1964
2146
  FIT_EVENT_TYPE event_type; // stop
1965
2147
  FIT_SPORT sport; //
@@ -1978,6 +2160,9 @@ typedef struct
1978
2160
  FIT_SINT8 max_temperature; // C,
1979
2161
  FIT_UINT8 min_heart_rate; // bpm,
1980
2162
  FIT_STRING opponent_name[FIT_SESSION_MESG_OPPONENT_NAME_COUNT]; //
2163
+ FIT_UINT8 avg_fractional_cadence; // 128 * rpm,fractional part of the avg_cadence
2164
+ FIT_UINT8 max_fractional_cadence; // 128 * rpm,fractional part of the max_cadence
2165
+ FIT_UINT8 total_fractional_cycles; // 128 * cycles,fractional part of the total_cycles
1981
2166
  } FIT_SESSION_MESG;
1982
2167
 
1983
2168
  typedef enum
@@ -2039,6 +2224,9 @@ typedef enum
2039
2224
  FIT_SESSION_FIELD_NUM_ZONE_COUNT = 86,
2040
2225
  FIT_SESSION_FIELD_NUM_MAX_BALL_SPEED = 87,
2041
2226
  FIT_SESSION_FIELD_NUM_AVG_BALL_SPEED = 88,
2227
+ FIT_SESSION_FIELD_NUM_AVG_VERTICAL_OSCILLATION = 89,
2228
+ FIT_SESSION_FIELD_NUM_AVG_STANCE_TIME_PERCENT = 90,
2229
+ FIT_SESSION_FIELD_NUM_AVG_STANCE_TIME = 91,
2042
2230
  FIT_SESSION_FIELD_NUM_EVENT = 0,
2043
2231
  FIT_SESSION_FIELD_NUM_EVENT_TYPE = 1,
2044
2232
  FIT_SESSION_FIELD_NUM_SPORT = 5,
@@ -2056,7 +2244,10 @@ typedef enum
2056
2244
  FIT_SESSION_FIELD_NUM_AVG_TEMPERATURE = 57,
2057
2245
  FIT_SESSION_FIELD_NUM_MAX_TEMPERATURE = 58,
2058
2246
  FIT_SESSION_FIELD_NUM_MIN_HEART_RATE = 64,
2059
- FIT_SESSION_FIELD_NUM_OPPONENT_NAME = 84
2247
+ FIT_SESSION_FIELD_NUM_OPPONENT_NAME = 84,
2248
+ FIT_SESSION_FIELD_NUM_AVG_FRACTIONAL_CADENCE = 92,
2249
+ FIT_SESSION_FIELD_NUM_MAX_FRACTIONAL_CADENCE = 93,
2250
+ FIT_SESSION_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES = 94
2060
2251
  } FIT_SESSION_FIELD_NUM;
2061
2252
 
2062
2253
  typedef enum
@@ -2118,6 +2309,9 @@ typedef enum
2118
2309
  FIT_SESSION_MESG_ZONE_COUNT,
2119
2310
  FIT_SESSION_MESG_MAX_BALL_SPEED,
2120
2311
  FIT_SESSION_MESG_AVG_BALL_SPEED,
2312
+ FIT_SESSION_MESG_AVG_VERTICAL_OSCILLATION,
2313
+ FIT_SESSION_MESG_AVG_STANCE_TIME_PERCENT,
2314
+ FIT_SESSION_MESG_AVG_STANCE_TIME,
2121
2315
  FIT_SESSION_MESG_EVENT,
2122
2316
  FIT_SESSION_MESG_EVENT_TYPE,
2123
2317
  FIT_SESSION_MESG_SPORT,
@@ -2136,6 +2330,9 @@ typedef enum
2136
2330
  FIT_SESSION_MESG_MAX_TEMPERATURE,
2137
2331
  FIT_SESSION_MESG_MIN_HEART_RATE,
2138
2332
  FIT_SESSION_MESG_OPPONENT_NAME,
2333
+ FIT_SESSION_MESG_AVG_FRACTIONAL_CADENCE,
2334
+ FIT_SESSION_MESG_MAX_FRACTIONAL_CADENCE,
2335
+ FIT_SESSION_MESG_TOTAL_FRACTIONAL_CYCLES,
2139
2336
  FIT_SESSION_MESG_FIELDS
2140
2337
  } FIT_SESSION_MESG_FIELD;
2141
2338
 
@@ -2150,14 +2347,20 @@ typedef struct
2150
2347
 
2151
2348
  // lap message
2152
2349
 
2153
- #define FIT_LAP_MESG_SIZE 146
2154
- #define FIT_LAP_MESG_DEF_SIZE 200
2350
+ #define FIT_LAP_MESG_SIZE 167
2351
+ #define FIT_LAP_MESG_DEF_SIZE 236
2155
2352
  #define FIT_LAP_MESG_TIME_IN_HR_ZONE_COUNT 1
2156
2353
  #define FIT_LAP_MESG_TIME_IN_SPEED_ZONE_COUNT 1
2157
2354
  #define FIT_LAP_MESG_TIME_IN_CADENCE_ZONE_COUNT 1
2158
2355
  #define FIT_LAP_MESG_TIME_IN_POWER_ZONE_COUNT 1
2159
2356
  #define FIT_LAP_MESG_STROKE_COUNT_COUNT 1
2160
2357
  #define FIT_LAP_MESG_ZONE_COUNT_COUNT 1
2358
+ #define FIT_LAP_MESG_AVG_TOTAL_HEMOGLOBIN_CONC_COUNT 1
2359
+ #define FIT_LAP_MESG_MIN_TOTAL_HEMOGLOBIN_CONC_COUNT 1
2360
+ #define FIT_LAP_MESG_MAX_TOTAL_HEMOGLOBIN_CONC_COUNT 1
2361
+ #define FIT_LAP_MESG_AVG_SATURATED_HEMOGLOBIN_PERCENT_COUNT 1
2362
+ #define FIT_LAP_MESG_MIN_SATURATED_HEMOGLOBIN_PERCENT_COUNT 1
2363
+ #define FIT_LAP_MESG_MAX_SATURATED_HEMOGLOBIN_PERCENT_COUNT 1
2161
2364
 
2162
2365
  typedef struct
2163
2366
  {
@@ -2209,7 +2412,16 @@ typedef struct
2209
2412
  FIT_UINT16 opponent_score; //
2210
2413
  FIT_UINT16 stroke_count[FIT_LAP_MESG_STROKE_COUNT_COUNT]; // counts,stroke_type enum used as the index
2211
2414
  FIT_UINT16 zone_count[FIT_LAP_MESG_ZONE_COUNT_COUNT]; // counts,zone number used as the index
2415
+ FIT_UINT16 avg_vertical_oscillation; // 10 * mm,
2416
+ FIT_UINT16 avg_stance_time_percent; // 100 * percent,
2417
+ FIT_UINT16 avg_stance_time; // 10 * ms,
2212
2418
  FIT_UINT16 player_score; //
2419
+ FIT_UINT16 avg_total_hemoglobin_conc[FIT_LAP_MESG_AVG_TOTAL_HEMOGLOBIN_CONC_COUNT]; // 100 * g/dL,Avg saturated and unsaturated hemoglobin
2420
+ FIT_UINT16 min_total_hemoglobin_conc[FIT_LAP_MESG_MIN_TOTAL_HEMOGLOBIN_CONC_COUNT]; // 100 * g/dL,Min saturated and unsaturated hemoglobin
2421
+ FIT_UINT16 max_total_hemoglobin_conc[FIT_LAP_MESG_MAX_TOTAL_HEMOGLOBIN_CONC_COUNT]; // 100 * g/dL,Max saturated and unsaturated hemoglobin
2422
+ FIT_UINT16 avg_saturated_hemoglobin_percent[FIT_LAP_MESG_AVG_SATURATED_HEMOGLOBIN_PERCENT_COUNT]; // 10 * %,Avg percentage of hemoglobin saturated with oxygen
2423
+ FIT_UINT16 min_saturated_hemoglobin_percent[FIT_LAP_MESG_MIN_SATURATED_HEMOGLOBIN_PERCENT_COUNT]; // 10 * %,Min percentage of hemoglobin saturated with oxygen
2424
+ FIT_UINT16 max_saturated_hemoglobin_percent[FIT_LAP_MESG_MAX_SATURATED_HEMOGLOBIN_PERCENT_COUNT]; // 10 * %,Max percentage of hemoglobin saturated with oxygen
2213
2425
  FIT_EVENT event; //
2214
2426
  FIT_EVENT_TYPE event_type; //
2215
2427
  FIT_UINT8 avg_heart_rate; // bpm,
@@ -2226,6 +2438,9 @@ typedef struct
2226
2438
  FIT_SINT8 avg_temperature; // C,
2227
2439
  FIT_SINT8 max_temperature; // C,
2228
2440
  FIT_UINT8 min_heart_rate; // bpm,
2441
+ FIT_UINT8 avg_fractional_cadence; // 128 * rpm,fractional part of the avg_cadence
2442
+ FIT_UINT8 max_fractional_cadence; // 128 * rpm,fractional part of the max_cadence
2443
+ FIT_UINT8 total_fractional_cycles; // 128 * cycles,fractional part of the total_cycles
2229
2444
  } FIT_LAP_MESG;
2230
2445
 
2231
2446
  typedef enum
@@ -2278,7 +2493,16 @@ typedef enum
2278
2493
  FIT_LAP_FIELD_NUM_OPPONENT_SCORE = 74,
2279
2494
  FIT_LAP_FIELD_NUM_STROKE_COUNT = 75,
2280
2495
  FIT_LAP_FIELD_NUM_ZONE_COUNT = 76,
2496
+ FIT_LAP_FIELD_NUM_AVG_VERTICAL_OSCILLATION = 77,
2497
+ FIT_LAP_FIELD_NUM_AVG_STANCE_TIME_PERCENT = 78,
2498
+ FIT_LAP_FIELD_NUM_AVG_STANCE_TIME = 79,
2281
2499
  FIT_LAP_FIELD_NUM_PLAYER_SCORE = 83,
2500
+ FIT_LAP_FIELD_NUM_AVG_TOTAL_HEMOGLOBIN_CONC = 84,
2501
+ FIT_LAP_FIELD_NUM_MIN_TOTAL_HEMOGLOBIN_CONC = 85,
2502
+ FIT_LAP_FIELD_NUM_MAX_TOTAL_HEMOGLOBIN_CONC = 86,
2503
+ FIT_LAP_FIELD_NUM_AVG_SATURATED_HEMOGLOBIN_PERCENT = 87,
2504
+ FIT_LAP_FIELD_NUM_MIN_SATURATED_HEMOGLOBIN_PERCENT = 88,
2505
+ FIT_LAP_FIELD_NUM_MAX_SATURATED_HEMOGLOBIN_PERCENT = 89,
2282
2506
  FIT_LAP_FIELD_NUM_EVENT = 0,
2283
2507
  FIT_LAP_FIELD_NUM_EVENT_TYPE = 1,
2284
2508
  FIT_LAP_FIELD_NUM_AVG_HEART_RATE = 15,
@@ -2294,7 +2518,10 @@ typedef enum
2294
2518
  FIT_LAP_FIELD_NUM_GPS_ACCURACY = 44,
2295
2519
  FIT_LAP_FIELD_NUM_AVG_TEMPERATURE = 50,
2296
2520
  FIT_LAP_FIELD_NUM_MAX_TEMPERATURE = 51,
2297
- FIT_LAP_FIELD_NUM_MIN_HEART_RATE = 63
2521
+ FIT_LAP_FIELD_NUM_MIN_HEART_RATE = 63,
2522
+ FIT_LAP_FIELD_NUM_AVG_FRACTIONAL_CADENCE = 80,
2523
+ FIT_LAP_FIELD_NUM_MAX_FRACTIONAL_CADENCE = 81,
2524
+ FIT_LAP_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES = 82
2298
2525
  } FIT_LAP_FIELD_NUM;
2299
2526
 
2300
2527
  typedef enum
@@ -2347,7 +2574,16 @@ typedef enum
2347
2574
  FIT_LAP_MESG_OPPONENT_SCORE,
2348
2575
  FIT_LAP_MESG_STROKE_COUNT,
2349
2576
  FIT_LAP_MESG_ZONE_COUNT,
2577
+ FIT_LAP_MESG_AVG_VERTICAL_OSCILLATION,
2578
+ FIT_LAP_MESG_AVG_STANCE_TIME_PERCENT,
2579
+ FIT_LAP_MESG_AVG_STANCE_TIME,
2350
2580
  FIT_LAP_MESG_PLAYER_SCORE,
2581
+ FIT_LAP_MESG_AVG_TOTAL_HEMOGLOBIN_CONC,
2582
+ FIT_LAP_MESG_MIN_TOTAL_HEMOGLOBIN_CONC,
2583
+ FIT_LAP_MESG_MAX_TOTAL_HEMOGLOBIN_CONC,
2584
+ FIT_LAP_MESG_AVG_SATURATED_HEMOGLOBIN_PERCENT,
2585
+ FIT_LAP_MESG_MIN_SATURATED_HEMOGLOBIN_PERCENT,
2586
+ FIT_LAP_MESG_MAX_SATURATED_HEMOGLOBIN_PERCENT,
2351
2587
  FIT_LAP_MESG_EVENT,
2352
2588
  FIT_LAP_MESG_EVENT_TYPE,
2353
2589
  FIT_LAP_MESG_AVG_HEART_RATE,
@@ -2364,6 +2600,9 @@ typedef enum
2364
2600
  FIT_LAP_MESG_AVG_TEMPERATURE,
2365
2601
  FIT_LAP_MESG_MAX_TEMPERATURE,
2366
2602
  FIT_LAP_MESG_MIN_HEART_RATE,
2603
+ FIT_LAP_MESG_AVG_FRACTIONAL_CADENCE,
2604
+ FIT_LAP_MESG_MAX_FRACTIONAL_CADENCE,
2605
+ FIT_LAP_MESG_TOTAL_FRACTIONAL_CYCLES,
2367
2606
  FIT_LAP_MESG_FIELDS
2368
2607
  } FIT_LAP_MESG_FIELD;
2369
2608
 
@@ -2461,8 +2700,8 @@ typedef struct
2461
2700
 
2462
2701
  // record message
2463
2702
 
2464
- #define FIT_RECORD_MESG_SIZE 70
2465
- #define FIT_RECORD_MESG_DEF_SIZE 107
2703
+ #define FIT_RECORD_MESG_SIZE 90
2704
+ #define FIT_RECORD_MESG_DEF_SIZE 140
2466
2705
  #define FIT_RECORD_MESG_COMPRESSED_SPEED_DISTANCE_COUNT 3
2467
2706
  #define FIT_RECORD_MESG_SPEED_1S_COUNT 5
2468
2707
 
@@ -2482,8 +2721,17 @@ typedef struct
2482
2721
  FIT_UINT16 compressed_accumulated_power; //
2483
2722
  FIT_SINT16 vertical_speed; // 1000 * m/s,
2484
2723
  FIT_UINT16 calories; // kcal,
2724
+ FIT_UINT16 vertical_oscillation; // 10 * mm,
2725
+ FIT_UINT16 stance_time_percent; // 100 * percent,
2726
+ FIT_UINT16 stance_time; // 10 * ms,
2485
2727
  FIT_UINT16 ball_speed; // 100 * m/s,
2486
2728
  FIT_UINT16 cadence256; // 256 * rpm,Log cadence and fractional cadence for backwards compatability
2729
+ FIT_UINT16 total_hemoglobin_conc; // 100 * g/dL,Total saturated and unsaturated hemoglobin
2730
+ FIT_UINT16 total_hemoglobin_conc_min; // 100 * g/dL,Min saturated and unsaturated hemoglobin
2731
+ FIT_UINT16 total_hemoglobin_conc_max; // 100 * g/dL,Max saturated and unsaturated hemoglobin
2732
+ FIT_UINT16 saturated_hemoglobin_percent; // 10 * %,Percentage of hemoglobin saturated with oxygen
2733
+ FIT_UINT16 saturated_hemoglobin_percent_min; // 10 * %,Min percentage of hemoglobin saturated with oxygen
2734
+ FIT_UINT16 saturated_hemoglobin_percent_max; // 10 * %,Max percentage of hemoglobin saturated with oxygen
2487
2735
  FIT_UINT8 heart_rate; // bpm,
2488
2736
  FIT_UINT8 cadence; // rpm,
2489
2737
  FIT_BYTE compressed_speed_distance[FIT_RECORD_MESG_COMPRESSED_SPEED_DISTANCE_COUNT]; //
@@ -2494,6 +2742,7 @@ typedef struct
2494
2742
  FIT_UINT8 cycles; //
2495
2743
  FIT_LEFT_RIGHT_BALANCE left_right_balance; //
2496
2744
  FIT_UINT8 gps_accuracy; // m,
2745
+ FIT_ACTIVITY_TYPE activity_type; //
2497
2746
  FIT_UINT8 left_torque_effectiveness; // 2 * percent,
2498
2747
  FIT_UINT8 right_torque_effectiveness; // 2 * percent,
2499
2748
  FIT_UINT8 left_pedal_smoothness; // 2 * percent,
@@ -2502,6 +2751,7 @@ typedef struct
2502
2751
  FIT_UINT8 time128; // 128 * s,
2503
2752
  FIT_STROKE_TYPE stroke_type; //
2504
2753
  FIT_UINT8 zone; //
2754
+ FIT_DEVICE_INDEX device_index; //
2505
2755
  } FIT_RECORD_MESG;
2506
2756
 
2507
2757
  typedef enum
@@ -2520,8 +2770,17 @@ typedef enum
2520
2770
  FIT_RECORD_FIELD_NUM_COMPRESSED_ACCUMULATED_POWER = 28,
2521
2771
  FIT_RECORD_FIELD_NUM_VERTICAL_SPEED = 32,
2522
2772
  FIT_RECORD_FIELD_NUM_CALORIES = 33,
2773
+ FIT_RECORD_FIELD_NUM_VERTICAL_OSCILLATION = 39,
2774
+ FIT_RECORD_FIELD_NUM_STANCE_TIME_PERCENT = 40,
2775
+ FIT_RECORD_FIELD_NUM_STANCE_TIME = 41,
2523
2776
  FIT_RECORD_FIELD_NUM_BALL_SPEED = 51,
2524
2777
  FIT_RECORD_FIELD_NUM_CADENCE256 = 52,
2778
+ FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC = 54,
2779
+ FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC_MIN = 55,
2780
+ FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC_MAX = 56,
2781
+ FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT = 57,
2782
+ FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT_MIN = 58,
2783
+ FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT_MAX = 59,
2525
2784
  FIT_RECORD_FIELD_NUM_HEART_RATE = 3,
2526
2785
  FIT_RECORD_FIELD_NUM_CADENCE = 4,
2527
2786
  FIT_RECORD_FIELD_NUM_COMPRESSED_SPEED_DISTANCE = 8,
@@ -2532,6 +2791,7 @@ typedef enum
2532
2791
  FIT_RECORD_FIELD_NUM_CYCLES = 18,
2533
2792
  FIT_RECORD_FIELD_NUM_LEFT_RIGHT_BALANCE = 30,
2534
2793
  FIT_RECORD_FIELD_NUM_GPS_ACCURACY = 31,
2794
+ FIT_RECORD_FIELD_NUM_ACTIVITY_TYPE = 42,
2535
2795
  FIT_RECORD_FIELD_NUM_LEFT_TORQUE_EFFECTIVENESS = 43,
2536
2796
  FIT_RECORD_FIELD_NUM_RIGHT_TORQUE_EFFECTIVENESS = 44,
2537
2797
  FIT_RECORD_FIELD_NUM_LEFT_PEDAL_SMOOTHNESS = 45,
@@ -2539,7 +2799,8 @@ typedef enum
2539
2799
  FIT_RECORD_FIELD_NUM_COMBINED_PEDAL_SMOOTHNESS = 47,
2540
2800
  FIT_RECORD_FIELD_NUM_TIME128 = 48,
2541
2801
  FIT_RECORD_FIELD_NUM_STROKE_TYPE = 49,
2542
- FIT_RECORD_FIELD_NUM_ZONE = 50
2802
+ FIT_RECORD_FIELD_NUM_ZONE = 50,
2803
+ FIT_RECORD_FIELD_NUM_DEVICE_INDEX = 62
2543
2804
  } FIT_RECORD_FIELD_NUM;
2544
2805
 
2545
2806
  typedef enum
@@ -2558,8 +2819,17 @@ typedef enum
2558
2819
  FIT_RECORD_MESG_COMPRESSED_ACCUMULATED_POWER,
2559
2820
  FIT_RECORD_MESG_VERTICAL_SPEED,
2560
2821
  FIT_RECORD_MESG_CALORIES,
2822
+ FIT_RECORD_MESG_VERTICAL_OSCILLATION,
2823
+ FIT_RECORD_MESG_STANCE_TIME_PERCENT,
2824
+ FIT_RECORD_MESG_STANCE_TIME,
2561
2825
  FIT_RECORD_MESG_BALL_SPEED,
2562
2826
  FIT_RECORD_MESG_CADENCE256,
2827
+ FIT_RECORD_MESG_TOTAL_HEMOGLOBIN_CONC,
2828
+ FIT_RECORD_MESG_TOTAL_HEMOGLOBIN_CONC_MIN,
2829
+ FIT_RECORD_MESG_TOTAL_HEMOGLOBIN_CONC_MAX,
2830
+ FIT_RECORD_MESG_SATURATED_HEMOGLOBIN_PERCENT,
2831
+ FIT_RECORD_MESG_SATURATED_HEMOGLOBIN_PERCENT_MIN,
2832
+ FIT_RECORD_MESG_SATURATED_HEMOGLOBIN_PERCENT_MAX,
2563
2833
  FIT_RECORD_MESG_HEART_RATE,
2564
2834
  FIT_RECORD_MESG_CADENCE,
2565
2835
  FIT_RECORD_MESG_COMPRESSED_SPEED_DISTANCE,
@@ -2570,6 +2840,7 @@ typedef enum
2570
2840
  FIT_RECORD_MESG_CYCLES,
2571
2841
  FIT_RECORD_MESG_LEFT_RIGHT_BALANCE,
2572
2842
  FIT_RECORD_MESG_GPS_ACCURACY,
2843
+ FIT_RECORD_MESG_ACTIVITY_TYPE,
2573
2844
  FIT_RECORD_MESG_LEFT_TORQUE_EFFECTIVENESS,
2574
2845
  FIT_RECORD_MESG_RIGHT_TORQUE_EFFECTIVENESS,
2575
2846
  FIT_RECORD_MESG_LEFT_PEDAL_SMOOTHNESS,
@@ -2578,6 +2849,7 @@ typedef enum
2578
2849
  FIT_RECORD_MESG_TIME128,
2579
2850
  FIT_RECORD_MESG_STROKE_TYPE,
2580
2851
  FIT_RECORD_MESG_ZONE,
2852
+ FIT_RECORD_MESG_DEVICE_INDEX,
2581
2853
  FIT_RECORD_MESG_FIELDS
2582
2854
  } FIT_RECORD_MESG_FIELD;
2583
2855
 
@@ -2592,19 +2864,23 @@ typedef struct
2592
2864
 
2593
2865
  // event message
2594
2866
 
2595
- #define FIT_EVENT_MESG_SIZE 17
2596
- #define FIT_EVENT_MESG_DEF_SIZE 29
2867
+ #define FIT_EVENT_MESG_SIZE 21
2868
+ #define FIT_EVENT_MESG_DEF_SIZE 41
2597
2869
 
2598
2870
  typedef struct
2599
2871
  {
2600
2872
  FIT_DATE_TIME timestamp; // s,
2601
2873
  FIT_UINT32 data; //
2602
2874
  FIT_UINT16 data16; //
2603
- FIT_UINT16 score; // Do not use. Placeholder for sport_point subfield components
2604
- FIT_UINT16 opponent_score; // Do not use. Placeholder for sport_point subfield components
2875
+ FIT_UINT16 score; // Do not populate directly. Autogenerated by decoder for sport_point subfield components
2876
+ FIT_UINT16 opponent_score; // Do not populate directly. Autogenerated by decoder for sport_point subfield components
2605
2877
  FIT_EVENT event; //
2606
2878
  FIT_EVENT_TYPE event_type; //
2607
2879
  FIT_UINT8 event_group; //
2880
+ FIT_UINT8Z front_gear_num; // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Front gear number. 1 is innermost.
2881
+ FIT_UINT8Z front_gear; // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Number of front teeth.
2882
+ FIT_UINT8Z rear_gear_num; // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Rear gear number. 1 is innermost.
2883
+ FIT_UINT8Z rear_gear; // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Number of rear teeth.
2608
2884
  } FIT_EVENT_MESG;
2609
2885
 
2610
2886
  typedef enum
@@ -2616,7 +2892,11 @@ typedef enum
2616
2892
  FIT_EVENT_FIELD_NUM_OPPONENT_SCORE = 8,
2617
2893
  FIT_EVENT_FIELD_NUM_EVENT = 0,
2618
2894
  FIT_EVENT_FIELD_NUM_EVENT_TYPE = 1,
2619
- FIT_EVENT_FIELD_NUM_EVENT_GROUP = 4
2895
+ FIT_EVENT_FIELD_NUM_EVENT_GROUP = 4,
2896
+ FIT_EVENT_FIELD_NUM_FRONT_GEAR_NUM = 9,
2897
+ FIT_EVENT_FIELD_NUM_FRONT_GEAR = 10,
2898
+ FIT_EVENT_FIELD_NUM_REAR_GEAR_NUM = 11,
2899
+ FIT_EVENT_FIELD_NUM_REAR_GEAR = 12
2620
2900
  } FIT_EVENT_FIELD_NUM;
2621
2901
 
2622
2902
  typedef enum
@@ -2629,6 +2909,10 @@ typedef enum
2629
2909
  FIT_EVENT_MESG_EVENT,
2630
2910
  FIT_EVENT_MESG_EVENT_TYPE,
2631
2911
  FIT_EVENT_MESG_EVENT_GROUP,
2912
+ FIT_EVENT_MESG_FRONT_GEAR_NUM,
2913
+ FIT_EVENT_MESG_FRONT_GEAR,
2914
+ FIT_EVENT_MESG_REAR_GEAR_NUM,
2915
+ FIT_EVENT_MESG_REAR_GEAR,
2632
2916
  FIT_EVENT_MESG_FIELDS
2633
2917
  } FIT_EVENT_MESG_FIELD;
2634
2918
 
@@ -2643,8 +2927,9 @@ typedef struct
2643
2927
 
2644
2928
  // device_info message
2645
2929
 
2646
- #define FIT_DEVICE_INFO_MESG_SIZE 24
2647
- #define FIT_DEVICE_INFO_MESG_DEF_SIZE 38
2930
+ #define FIT_DEVICE_INFO_MESG_SIZE 31
2931
+ #define FIT_DEVICE_INFO_MESG_DEF_SIZE 56
2932
+ #define FIT_DEVICE_INFO_MESG_DESCRIPTOR_COUNT 1
2648
2933
 
2649
2934
  typedef struct
2650
2935
  {
@@ -2655,10 +2940,16 @@ typedef struct
2655
2940
  FIT_UINT16 product; //
2656
2941
  FIT_UINT16 software_version; //
2657
2942
  FIT_UINT16 battery_voltage; // 256 * V,
2943
+ FIT_UINT16Z ant_device_number; //
2658
2944
  FIT_DEVICE_INDEX device_index; //
2659
- FIT_DEVICE_TYPE device_type; //
2945
+ FIT_UINT8 device_type; //
2660
2946
  FIT_UINT8 hardware_version; //
2661
2947
  FIT_BATTERY_STATUS battery_status; //
2948
+ FIT_BODY_LOCATION sensor_position; // Indicates the location of the sensor
2949
+ FIT_STRING descriptor[FIT_DEVICE_INFO_MESG_DESCRIPTOR_COUNT]; // Used to describe the sensor or location
2950
+ FIT_UINT8Z ant_transmission_type; //
2951
+ FIT_ANT_NETWORK ant_network; //
2952
+ FIT_SOURCE_TYPE source_type; //
2662
2953
  } FIT_DEVICE_INFO_MESG;
2663
2954
 
2664
2955
  typedef enum
@@ -2670,10 +2961,16 @@ typedef enum
2670
2961
  FIT_DEVICE_INFO_FIELD_NUM_PRODUCT = 4,
2671
2962
  FIT_DEVICE_INFO_FIELD_NUM_SOFTWARE_VERSION = 5,
2672
2963
  FIT_DEVICE_INFO_FIELD_NUM_BATTERY_VOLTAGE = 10,
2964
+ FIT_DEVICE_INFO_FIELD_NUM_ANT_DEVICE_NUMBER = 21,
2673
2965
  FIT_DEVICE_INFO_FIELD_NUM_DEVICE_INDEX = 0,
2674
2966
  FIT_DEVICE_INFO_FIELD_NUM_DEVICE_TYPE = 1,
2675
2967
  FIT_DEVICE_INFO_FIELD_NUM_HARDWARE_VERSION = 6,
2676
- FIT_DEVICE_INFO_FIELD_NUM_BATTERY_STATUS = 11
2968
+ FIT_DEVICE_INFO_FIELD_NUM_BATTERY_STATUS = 11,
2969
+ FIT_DEVICE_INFO_FIELD_NUM_SENSOR_POSITION = 18,
2970
+ FIT_DEVICE_INFO_FIELD_NUM_DESCRIPTOR = 19,
2971
+ FIT_DEVICE_INFO_FIELD_NUM_ANT_TRANSMISSION_TYPE = 20,
2972
+ FIT_DEVICE_INFO_FIELD_NUM_ANT_NETWORK = 22,
2973
+ FIT_DEVICE_INFO_FIELD_NUM_SOURCE_TYPE = 25
2677
2974
  } FIT_DEVICE_INFO_FIELD_NUM;
2678
2975
 
2679
2976
  typedef enum
@@ -2685,10 +2982,16 @@ typedef enum
2685
2982
  FIT_DEVICE_INFO_MESG_PRODUCT,
2686
2983
  FIT_DEVICE_INFO_MESG_SOFTWARE_VERSION,
2687
2984
  FIT_DEVICE_INFO_MESG_BATTERY_VOLTAGE,
2985
+ FIT_DEVICE_INFO_MESG_ANT_DEVICE_NUMBER,
2688
2986
  FIT_DEVICE_INFO_MESG_DEVICE_INDEX,
2689
2987
  FIT_DEVICE_INFO_MESG_DEVICE_TYPE,
2690
2988
  FIT_DEVICE_INFO_MESG_HARDWARE_VERSION,
2691
2989
  FIT_DEVICE_INFO_MESG_BATTERY_STATUS,
2990
+ FIT_DEVICE_INFO_MESG_SENSOR_POSITION,
2991
+ FIT_DEVICE_INFO_MESG_DESCRIPTOR,
2992
+ FIT_DEVICE_INFO_MESG_ANT_TRANSMISSION_TYPE,
2993
+ FIT_DEVICE_INFO_MESG_ANT_NETWORK,
2994
+ FIT_DEVICE_INFO_MESG_SOURCE_TYPE,
2692
2995
  FIT_DEVICE_INFO_MESG_FIELDS
2693
2996
  } FIT_DEVICE_INFO_MESG_FIELD;
2694
2997
 
@@ -3182,14 +3485,14 @@ typedef struct
3182
3485
  typedef struct
3183
3486
  {
3184
3487
  FIT_DATE_TIME timestamp; // s,Must align to logging interval, for example, time must be 00:00:00 for daily log.
3185
- FIT_UINT32 distance; // 100 * m,
3186
- FIT_UINT32 cycles; // cycles,
3488
+ FIT_UINT32 distance; // 100 * m,Accumulated distance. Maintained by MonitoringReader for each activity_type. See SDK documentation.
3489
+ FIT_UINT32 cycles; // 2 * cycles,Accumulated cycles. Maintained by MonitoringReader for each activity_type. See SDK documentation.
3187
3490
  FIT_UINT32 active_time; // 1000 * s,
3188
3491
  FIT_LOCAL_DATE_TIME local_timestamp; // Must align to logging interval, for example, time must be 00:00:00 for daily log.
3189
- FIT_UINT16 calories; // kcal,total calories
3190
- FIT_UINT16 compressed_distance; //
3191
- FIT_UINT16 compressed_cycles; //
3192
- FIT_UINT16 compressed_active_time; //
3492
+ FIT_UINT16 calories; // kcal,Accumulated total calories. Maintained by MonitoringReader for each activity_type. See SDK documentation
3493
+ FIT_UINT16 distance_16; // 100 * m,
3494
+ FIT_UINT16 cycles_16; // 2 * cycles (steps),
3495
+ FIT_UINT16 active_time_16; // s,
3193
3496
  FIT_DEVICE_INDEX device_index; // Associates this data to device_info message. Not required for file with single device (sensor).
3194
3497
  FIT_ACTIVITY_TYPE activity_type; //
3195
3498
  FIT_ACTIVITY_SUBTYPE activity_subtype; //
@@ -3203,9 +3506,9 @@ typedef enum
3203
3506
  FIT_MONITORING_FIELD_NUM_ACTIVE_TIME = 4,
3204
3507
  FIT_MONITORING_FIELD_NUM_LOCAL_TIMESTAMP = 11,
3205
3508
  FIT_MONITORING_FIELD_NUM_CALORIES = 1,
3206
- FIT_MONITORING_FIELD_NUM_COMPRESSED_DISTANCE = 8,
3207
- FIT_MONITORING_FIELD_NUM_COMPRESSED_CYCLES = 9,
3208
- FIT_MONITORING_FIELD_NUM_COMPRESSED_ACTIVE_TIME = 10,
3509
+ FIT_MONITORING_FIELD_NUM_DISTANCE_16 = 8,
3510
+ FIT_MONITORING_FIELD_NUM_CYCLES_16 = 9,
3511
+ FIT_MONITORING_FIELD_NUM_ACTIVE_TIME_16 = 10,
3209
3512
  FIT_MONITORING_FIELD_NUM_DEVICE_INDEX = 0,
3210
3513
  FIT_MONITORING_FIELD_NUM_ACTIVITY_TYPE = 5,
3211
3514
  FIT_MONITORING_FIELD_NUM_ACTIVITY_SUBTYPE = 6
@@ -3219,9 +3522,9 @@ typedef enum
3219
3522
  FIT_MONITORING_MESG_ACTIVE_TIME,
3220
3523
  FIT_MONITORING_MESG_LOCAL_TIMESTAMP,
3221
3524
  FIT_MONITORING_MESG_CALORIES,
3222
- FIT_MONITORING_MESG_COMPRESSED_DISTANCE,
3223
- FIT_MONITORING_MESG_COMPRESSED_CYCLES,
3224
- FIT_MONITORING_MESG_COMPRESSED_ACTIVE_TIME,
3525
+ FIT_MONITORING_MESG_DISTANCE_16,
3526
+ FIT_MONITORING_MESG_CYCLES_16,
3527
+ FIT_MONITORING_MESG_ACTIVE_TIME_16,
3225
3528
  FIT_MONITORING_MESG_DEVICE_INDEX,
3226
3529
  FIT_MONITORING_MESG_ACTIVITY_TYPE,
3227
3530
  FIT_MONITORING_MESG_ACTIVITY_SUBTYPE,