rubyfit 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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,