fitreader 0.2.4 → 0.3.0

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.
@@ -1,31 +1,30 @@
1
- module Fitreader
2
- class RecordHeader
3
- attr_accessor :header_type, :local_num,
4
- :timestamp_offset, :developer
1
+ class RecordHeader < FitObject
2
+ attr_accessor :header_type, :message_type, :message_type_specific, :local_message_type, :time_offset
5
3
 
6
- def initialize(byte)
7
- timstamp_header = byte & TIMESTAMP_RECORD > 0
8
- unless timstamp_header
9
- @header_type = byte & DEFINITION_MESSAGE > 0 ? :definition : :data
10
- @local_num = byte & NORMAL_TYPE
11
- if byte & DEVELOPER_DATA == DEVELOPER_DATA
12
- @developer = true
13
- puts "developer"
14
- end
15
- else
16
- @header_type = :timestamp
17
- @local_num = byte & TIMESTAMP_TYPE
18
- @timestamp_offset = byte & TIMESTAMP_OFFSET
19
- puts "timestamp header: #{@local_msg_num} :: #{@timestamp_offset}"
20
- end
4
+ def initialize(io)
5
+ byte = io.readbyte
6
+
7
+ @header_type = read_bit(byte, 7) # 0 = normal, 1 = timestamp
8
+ if @header_type.zero?
9
+ @message_type = read_bit(byte, 6) # 1 = definition, 0 = data
10
+ @message_type_specific = read_bit(byte, 5) # 1 = developer fields
11
+ @reserved = read_bit(byte, 4)
12
+ @local_message_type = read_bits(byte, 3..0)
13
+ else
14
+ @local_message_type = read_bits(byte, 6..5)
15
+ @time_offset = read_bits(byte, 4..0)
21
16
  end
17
+ end
18
+
19
+ def definition?
20
+ @header_type.zero? && @message_type == 1
21
+ end
22
+
23
+ def data?
24
+ @header_type.zero? && @message_type.zero?
25
+ end
22
26
 
23
- private
24
- TIMESTAMP_RECORD = 0b10000000
25
- DEFINITION_MESSAGE = 0b01000000
26
- DEVELOPER_DATA = 0b00100000
27
- NORMAL_TYPE = 0b00001111
28
- TIMESTAMP_TYPE = 0b01100000
29
- TIMESTAMP_OFFSET = 0b00011111
27
+ def timestamp?
28
+ @header_type == 1
30
29
  end
31
30
  end
@@ -286,87 +286,6 @@
286
286
  65532: :android_antplus_plugin
287
287
  65534: :connect
288
288
 
289
- :enum_mesg_num:
290
- 0: :file_id
291
- 1: :capabilities
292
- 2: :device_settings
293
- 3: :user_profile
294
- 4: :hrm_profile
295
- 5: :sdm_profile
296
- 6: :bike_profile
297
- 7: :zones_target
298
- 8: :hr_zone
299
- 9: :power_zone
300
- 10: :met_zone
301
- 12: :sport
302
- 15: :goal
303
- 18: :session
304
- 19: :lap
305
- 20: :record
306
- 21: :event
307
- 22: :source
308
- 23: :device_info
309
- 26: :workout
310
- 27: :workout_step
311
- 28: :schedule
312
- 29: :location
313
- 30: :weight_scale
314
- 31: :course
315
- 32: :course_point
316
- 33: :totals
317
- 34: :activity
318
- 35: :software
319
- 37: :file_capabilities
320
- 38: :mesg_capabilities
321
- 39: :field_capabilities
322
- 49: :file_creator
323
- 51: :blood_pressure
324
- 53: :speed_zone
325
- 55: :monitoring
326
- 72: :training_file
327
- 78: :hrv
328
- 80: :ant_rx
329
- 81: :ant_tx
330
- 82: :ant_channel_id
331
- 101: :length
332
- 103: :monitoring_info
333
- 104: :battery_info
334
- 105: :pad
335
- 106: :slave_device
336
- 127: :connectivity
337
- 128: :weather_conditions
338
- 129: :weather_alert
339
- 131: :cadence_zone
340
- 132: :hr
341
- 142: :segment_lap
342
- 145: :memo_glob
343
- 147: :sensor_info
344
- 148: :segment_id
345
- 149: :segment_leaderboard_entry
346
- 150: :segment_point
347
- 151: :segment_file
348
- 160: :gps_metadata
349
- 161: :camera_event
350
- 162: :timestamp_correlation
351
- 164: :gyroscope_data
352
- 165: :accelerometer_data
353
- 167: :three_d_sensor_calibration
354
- 169: :video_frame
355
- 174: :obdii_data
356
- 177: :nmea_sentence
357
- 178: :aviation_attitude
358
- 184: :video
359
- 185: :video_title
360
- 186: :video_description
361
- 187: :video_clip
362
- 200: :exd_screen_configuration
363
- 201: :exd_data_field_configuration
364
- 202: :exd_data_concept_configuration
365
- 206: :field_description
366
- 207: :developer_data_id
367
- 0xFF00: :mfg_range_min
368
- 0xFFFE: :mfg_range_max
369
-
370
289
  :enum_event:
371
290
  0: :timer
372
291
  3: :workout
@@ -0,0 +1,2476 @@
1
+ 0:
2
+ 0:
3
+ :name: :filetype
4
+ :type: :enum_file
5
+ :scale: 0
6
+ :offset: 0
7
+ 1:
8
+ :name: :manufacturer
9
+ :type: :enum_manufacturer
10
+ :scale: 0
11
+ :offset: 0
12
+ 2:
13
+ :name: :garmin_product
14
+ :type: :raw
15
+ :scale: 0
16
+ :offset: 0
17
+ 3:
18
+ :name: :serial_number
19
+ :type: :raw
20
+ :scale: 0
21
+ :offset: 0
22
+ 4:
23
+ :name: :time_created
24
+ :type: :date_time
25
+ :scale: 0
26
+ :offset: 0
27
+ 5:
28
+ :name: :number
29
+ :type: :raw
30
+ :scale: 0
31
+ :offset: 0
32
+ 8:
33
+ :name: :product_name
34
+ :type: :raw
35
+ :scale: 0
36
+ :offset: 0
37
+ 3:
38
+ 254:
39
+ :name: :message_index
40
+ :type: :message_index
41
+ :scale: 0
42
+ :offset: 0
43
+ 0:
44
+ :name: :friendly_name
45
+ :type: :string
46
+ :scale: 0
47
+ :offset: 0
48
+ 1:
49
+ :name: :gender
50
+ :type: :enum_gender
51
+ :scale: 0
52
+ :offset: 0
53
+ 2:
54
+ :name: :age
55
+ :type: :raw
56
+ :scale: 0
57
+ :offset: 0
58
+ 3:
59
+ :name: :height
60
+ :type: :uint8
61
+ :scale: 100
62
+ :offset: 0
63
+ 4:
64
+ :name: :weight
65
+ :type: :uint16
66
+ :scale: 10
67
+ :offset: 0
68
+ 5:
69
+ :name: :language
70
+ :type: :enum_language
71
+ :scale: 0
72
+ :offset: 0
73
+ 6:
74
+ :name: :elev_setting
75
+ :type: :enum_display_measure
76
+ :scale: 0
77
+ :offset: 0
78
+ 7:
79
+ :name: :weight_setting
80
+ :type: :enum_display_measure
81
+ :scale: 0
82
+ :offset: 0
83
+ 8:
84
+ :name: :resting_heart_rate
85
+ :type: :uint8
86
+ :scale: 0
87
+ :offset: 0
88
+ 9:
89
+ :name: :default_max_running_heart_rate
90
+ :type: :uint8
91
+ :scale: 0
92
+ :offset: 0
93
+ 10:
94
+ :name: :default_max_biking_heart_rate
95
+ :type: :uint8
96
+ :scale: 0
97
+ :offset: 0
98
+ 11:
99
+ :name: :default_max_heart_rate
100
+ :type: :uint8
101
+ :scale: 0
102
+ :offset: 0
103
+ 12:
104
+ :name: :hr_setting
105
+ :type: :enum_display_heart
106
+ :scale: 0
107
+ :offset: 0
108
+ 13:
109
+ :name: :speed_setting
110
+ :type: :enum_display_measure
111
+ :scale: 0
112
+ :offset: 0
113
+ 14:
114
+ :name: :dist_setting
115
+ :type: :enum_display_measure
116
+ :scale: 0
117
+ :offset: 0
118
+ 16:
119
+ :name: :power_setting
120
+ :type: :enum_display_power
121
+ :scale: 0
122
+ :offset: 0
123
+ 17:
124
+ :name: :activity_class
125
+ :type: :enum_activity_class
126
+ :scale: 0
127
+ :offset: 0
128
+ 18:
129
+ :name: :position_setting
130
+ :type: :enum_display_position
131
+ :scale: 0
132
+ :offset: 0
133
+ 21:
134
+ :name: :temperature_setting
135
+ :type: :enum_display_measure
136
+ :scale: 0
137
+ :offset: 0
138
+ 22:
139
+ :name: :local_id
140
+ :type: :user_local_id
141
+ :scale: 0
142
+ :offset: 0
143
+ 23:
144
+ :name: :global_id
145
+ :type: :byte
146
+ :scale: 0
147
+ :offset: 0
148
+ 30:
149
+ :name: :height_setting
150
+ :type: :enum_display_measure
151
+ :scale: 0
152
+ :offset: 0
153
+ 6:
154
+ 254:
155
+ :name: :message_index
156
+ :type: :message_index
157
+ :scale: 0
158
+ :offset: 0
159
+ 0:
160
+ :name: :name
161
+ :type: :string
162
+ :scale: 0
163
+ :offset: 0
164
+ 1:
165
+ :name: :sport
166
+ :type: :enum_sport
167
+ :scale: 0
168
+ :offset: 0
169
+ 2:
170
+ :name: :sub_sport
171
+ :type: :enum_sub_sport
172
+ :scale: 0
173
+ :offset: 0
174
+ 3:
175
+ :name: :odometer
176
+ :type: :uint32
177
+ :scale: 100
178
+ :offset: 0
179
+ 4:
180
+ :name: :bike_spd_ant_id
181
+ :type: :uint16z
182
+ :scale: 0
183
+ :offset: 0
184
+ 5:
185
+ :name: :bike_cad_ant_id
186
+ :type: :uint16z
187
+ :scale: 0
188
+ :offset: 0
189
+ 6:
190
+ :name: :bike_spdcad_ant_id
191
+ :type: :uint16z
192
+ :scale: 0
193
+ :offset: 0
194
+ 7:
195
+ :name: :bike_power_ant_id
196
+ :type: :uint16z
197
+ :scale: 0
198
+ :offset: 0
199
+ 8:
200
+ :name: :custom_wheelsize
201
+ :type: :uint16
202
+ :scale: 1000
203
+ :offset: 0
204
+ 9:
205
+ :name: :auto_wheelsize
206
+ :type: :uint16
207
+ :scale: 1000
208
+ :offset: 0
209
+ 10:
210
+ :name: :bike_weight
211
+ :type: :uint16
212
+ :scale: 10
213
+ :offset: 0
214
+ 11:
215
+ :name: :power_cal_factor
216
+ :type: :uint16
217
+ :scale: 10
218
+ :offset: 0
219
+ 12:
220
+ :name: :auto_wheel_cal
221
+ :type: :bool
222
+ :scale: 0
223
+ :offset: 0
224
+ 13:
225
+ :name: :auto_power_zero
226
+ :type: :bool
227
+ :scale: 0
228
+ :offset: 0
229
+ 14:
230
+ :name: :id
231
+ :type: :uint8
232
+ :scale: 0
233
+ :offset: 0
234
+ 15:
235
+ :name: :spd_enabled
236
+ :type: :bool
237
+ :scale: 0
238
+ :offset: 0
239
+ 16:
240
+ :name: :cad_enabled
241
+ :type: :bool
242
+ :scale: 0
243
+ :offset: 0
244
+ 17:
245
+ :name: :spdcad_enabled
246
+ :type: :bool
247
+ :scale: 0
248
+ :offset: 0
249
+ 18:
250
+ :name: :power_enabled
251
+ :type: :bool
252
+ :scale: 0
253
+ :offset: 0
254
+ 19:
255
+ :name: :crank_length
256
+ :type: :uint8
257
+ :scale: 2
258
+ :offset: 0
259
+ 20:
260
+ :name: :enabled
261
+ :type: :bool
262
+ :scale: 0
263
+ :offset: 0
264
+ 21:
265
+ :name: :bike_spd_ant_id_trans_type
266
+ :type: :uint8z
267
+ :scale: 0
268
+ :offset: 0
269
+ 22:
270
+ :name: :bike_cad_ant_id_trans_type
271
+ :type: :uint8z
272
+ :scale: 0
273
+ :offset: 0
274
+ 23:
275
+ :name: :bike_spdcad_ant_id_trans_type
276
+ :type: :uint8z
277
+ :scale: 0
278
+ :offset: 0
279
+ 24:
280
+ :name: :bike_power_ant_id_trans_type
281
+ :type: :uint8z
282
+ :scale: 0
283
+ :offset: 0
284
+ 7:
285
+ 1:
286
+ :name: :max_heart_rate
287
+ :type: :uint8
288
+ :scale: 0
289
+ :offset: 0
290
+ 2:
291
+ :name: :threshold_heart_rate
292
+ :type: :uint8
293
+ :scale: 0
294
+ :offset: 0
295
+ 3:
296
+ :name: :functional_threshold_power
297
+ :type: :uint16
298
+ :scale: 0
299
+ :offset: 0
300
+ 5:
301
+ :name: :hr_calc_type
302
+ :type: :hr_zone_calc
303
+ :scale: 0
304
+ :offset: 0
305
+ 7:
306
+ :name: :pwr_calc_type
307
+ :type: :pwr_zone_calc
308
+ :scale: 0
309
+ :offset: 0
310
+ 18:
311
+ 254:
312
+ :name: :message_index
313
+ :type: :message_index
314
+ :scale: 0
315
+ :offset: 0
316
+ 253:
317
+ :name: :timestamp
318
+ :type: :date_time
319
+ :scale: 0
320
+ :offset: 0
321
+ 0:
322
+ :name: :event
323
+ :type: :enum_event
324
+ :scale: 0
325
+ :offset: 0
326
+ 1:
327
+ :name: :event_type
328
+ :type: :enum_event_type
329
+ :scale: 0
330
+ :offset: 0
331
+ 2:
332
+ :name: :start_time
333
+ :type: :date_time
334
+ :scale: 0
335
+ :offset: 0
336
+ 3:
337
+ :name: :start_position_lat
338
+ :type: :coordinates
339
+ :scale: 0
340
+ :offset: 0
341
+ 4:
342
+ :name: :start_position_long
343
+ :type: :coordinates
344
+ :scale: 0
345
+ :offset: 0
346
+ 5:
347
+ :name: :sport
348
+ :type: :enum_sport
349
+ :scale: 0
350
+ :offset: 0
351
+ 6:
352
+ :name: :sub_sport
353
+ :type: :enum_sub_sport
354
+ :scale: 0
355
+ :offset: 0
356
+ 7:
357
+ :name: :total_elapsed_time
358
+ :type: :uint32
359
+ :scale: 1000
360
+ :offset: 0
361
+ 8:
362
+ :name: :total_timer_time
363
+ :type: :uint32
364
+ :scale: 1000
365
+ :offset: 0
366
+ 9:
367
+ :name: :total_distance
368
+ :type: :uint32
369
+ :scale: 100
370
+ :offset: 0
371
+ 10:
372
+ :name: :total_cycles
373
+ :type: :uint32
374
+ :scale: 0
375
+ :offset: 0
376
+ 11:
377
+ :name: :total_calories
378
+ :type: :uint16
379
+ :scale: 0
380
+ :offset: 0
381
+ 13:
382
+ :name: :total_fat_calories
383
+ :type: :uint16
384
+ :scale: 0
385
+ :offset: 0
386
+ 14:
387
+ :name: :avg_speed
388
+ :type: :uint16
389
+ :scale: 1000
390
+ :offset: 0
391
+ 15:
392
+ :name: :max_speed
393
+ :type: :uint16
394
+ :scale: 1000
395
+ :offset: 0
396
+ 16:
397
+ :name: :avg_heart_rate
398
+ :type: :uint8
399
+ :scale: 0
400
+ :offset: 0
401
+ 17:
402
+ :name: :max_heart_rate
403
+ :type: :uint8
404
+ :scale: 0
405
+ :offset: 0
406
+ 18:
407
+ :name: :avg_cadence
408
+ :type: :uint8
409
+ :scale: 0
410
+ :offset: 0
411
+ 19:
412
+ :name: :max_cadence
413
+ :type: :uint8
414
+ :scale: 0
415
+ :offset: 0
416
+ 20:
417
+ :name: :avg_power
418
+ :type: :uint16
419
+ :scale: 0
420
+ :offset: 0
421
+ 21:
422
+ :name: :max_power
423
+ :type: :uint16
424
+ :scale: 0
425
+ :offset: 0
426
+ 22:
427
+ :name: :total_ascent
428
+ :type: :uint16
429
+ :scale: 0
430
+ :offset: 0
431
+ 23:
432
+ :name: :total_descent
433
+ :type: :uint16
434
+ :scale: 0
435
+ :offset: 0
436
+ 24:
437
+ :name: :total_training_effect
438
+ :type: :uint8
439
+ :scale: 10
440
+ :offset: 0
441
+ 25:
442
+ :name: :first_lap_index
443
+ :type: :uint16
444
+ :scale: 0
445
+ :offset: 0
446
+ 26:
447
+ :name: :num_laps
448
+ :type: :uint16
449
+ :scale: 0
450
+ :offset: 0
451
+ 27:
452
+ :name: :event_group
453
+ :type: :uint8
454
+ :scale: 0
455
+ :offset: 0
456
+ 28:
457
+ :name: :trigger
458
+ :type: :enum_session_trigger
459
+ :scale: 0
460
+ :offset: 0
461
+ 29:
462
+ :name: :nec_lat
463
+ :type: :coordinates
464
+ :scale: 0
465
+ :offset: 0
466
+ 30:
467
+ :name: :nec_long
468
+ :type: :coordinates
469
+ :scale: 0
470
+ :offset: 0
471
+ 31:
472
+ :name: :swc_lat
473
+ :type: :coordinates
474
+ :scale: 0
475
+ :offset: 0
476
+ 32:
477
+ :name: :swc_long
478
+ :type: :coordinates
479
+ :scale: 0
480
+ :offset: 0
481
+ 34:
482
+ :name: :normalized_power
483
+ :type: :uint16
484
+ :scale: 0
485
+ :offset: 0
486
+ 35:
487
+ :name: :training_stress_score
488
+ :type: :uint16
489
+ :scale: 10
490
+ :offset: 0
491
+ 36:
492
+ :name: :intensity_factor
493
+ :type: :uint16
494
+ :scale: 1000
495
+ :offset: 0
496
+ 37:
497
+ :name: :left_right_balance
498
+ :type: :left_right_balance_100
499
+ :scale: 0
500
+ :offset: 0
501
+ 41:
502
+ :name: :avg_stroke_count
503
+ :type: :uint32
504
+ :scale: 10
505
+ :offset: 0
506
+ 42:
507
+ :name: :avg_stroke_distance
508
+ :type: :uint16
509
+ :scale: 100
510
+ :offset: 0
511
+ 44:
512
+ :name: :pool_length
513
+ :type: :uint16
514
+ :scale: 100
515
+ :offset: 0
516
+ 45:
517
+ :name: :threshold_power
518
+ :type: :uint16
519
+ :scale: 0
520
+ :offset: 0
521
+ 46:
522
+ :name: :pool_length_unit
523
+ :type: :enum_display_measure
524
+ :scale: 0
525
+ :offset: 0
526
+ 47:
527
+ :name: :num_active_lengths
528
+ :type: :uint16
529
+ :scale: 0
530
+ :offset: 0
531
+ 48:
532
+ :name: :total_work
533
+ :type: :uint32
534
+ :scale: 0
535
+ :offset: 0
536
+ 49:
537
+ :name: :avg_altitude
538
+ :type: :uint16
539
+ :scale: 5
540
+ :offset: 0
541
+ 50:
542
+ :name: :max_altitude
543
+ :type: :uint16
544
+ :scale: 5
545
+ :offset: 0
546
+ 51:
547
+ :name: :gps_accuracy
548
+ :type: :uint8
549
+ :scale: 0
550
+ :offset: 0
551
+ 52:
552
+ :name: :avg_grade
553
+ :type: :sint16
554
+ :scale: 100
555
+ :offset: 0
556
+ 53:
557
+ :name: :avg_pos_grade
558
+ :type: :sint16
559
+ :scale: 100
560
+ :offset: 0
561
+ 54:
562
+ :name: :avg_neg_grade
563
+ :type: :sint16
564
+ :scale: 100
565
+ :offset: 0
566
+ 55:
567
+ :name: :max_pos_grade
568
+ :type: :sint16
569
+ :scale: 100
570
+ :offset: 0
571
+ 56:
572
+ :name: :max_neg_grade
573
+ :type: :sint16
574
+ :scale: 100
575
+ :offset: 0
576
+ 57:
577
+ :name: :avg_temperature
578
+ :type: :sint8
579
+ :scale: 0
580
+ :offset: 0
581
+ 58:
582
+ :name: :max_temperature
583
+ :type: :sint8
584
+ :scale: 0
585
+ :offset: 0
586
+ 59:
587
+ :name: :total_moving_time
588
+ :type: :uint32
589
+ :scale: 1000
590
+ :offset: 0
591
+ 60:
592
+ :name: :avg_pos_vertical_speed
593
+ :type: :sint16
594
+ :scale: 1000
595
+ :offset: 0
596
+ 61:
597
+ :name: :avg_neg_vertical_speed
598
+ :type: :sint16
599
+ :scale: 1000
600
+ :offset: 0
601
+ 62:
602
+ :name: :max_pos_vertical_speed
603
+ :type: :sint16
604
+ :scale: 1000
605
+ :offset: 0
606
+ 63:
607
+ :name: :max_neg_vertical_speed
608
+ :type: :sint16
609
+ :scale: 1000
610
+ :offset: 0
611
+ 64:
612
+ :name: :min_heart_rate
613
+ :type: :uint8
614
+ :scale: 0
615
+ :offset: 0
616
+ 65:
617
+ :name: :time_in_hr_zone
618
+ :type: :uint32
619
+ :scale: 1000
620
+ :offset: 0
621
+ 66:
622
+ :name: :time_in_speed_zone
623
+ :type: :uint32
624
+ :scale: 1000
625
+ :offset: 0
626
+ 67:
627
+ :name: :time_in_cadence_zone
628
+ :type: :uint32
629
+ :scale: 1000
630
+ :offset: 0
631
+ 68:
632
+ :name: :time_in_power_zone
633
+ :type: :uint32
634
+ :scale: 1000
635
+ :offset: 0
636
+ 69:
637
+ :name: :avg_lap_time
638
+ :type: :uint32
639
+ :scale: 1000
640
+ :offset: 0
641
+ 70:
642
+ :name: :best_lap_index
643
+ :type: :uint16
644
+ :scale: 0
645
+ :offset: 0
646
+ 71:
647
+ :name: :min_altitude
648
+ :type: :uint16
649
+ :scale: 5
650
+ :offset: 500
651
+ 82:
652
+ :name: :player_score
653
+ :type: :uint16
654
+ :scale: 0
655
+ :offset: 0
656
+ 83:
657
+ :name: :opponent_score
658
+ :type: :uint16
659
+ :scale: 0
660
+ :offset: 0
661
+ 84:
662
+ :name: :opponent_name
663
+ :type: :string
664
+ :scale: 0
665
+ :offset: 0
666
+ 85:
667
+ :name: :stroke_count
668
+ :type: :uint16
669
+ :scale: 0
670
+ :offset: 0
671
+ 86:
672
+ :name: :zone_count
673
+ :type: :uint16
674
+ :scale: 0
675
+ :offset: 0
676
+ 87:
677
+ :name: :max_ball_speed
678
+ :type: :uint16
679
+ :scale: 100
680
+ :offset: 0
681
+ 88:
682
+ :name: :avg_ball_speed
683
+ :type: :uint16
684
+ :scale: 100
685
+ :offset: 0
686
+ 89:
687
+ :name: :avg_vertical_oscillation
688
+ :type: :uint16
689
+ :scale: 10
690
+ :offset: 0
691
+ 90:
692
+ :name: :avg_stance_time_percent
693
+ :type: :uint16
694
+ :scale: 100
695
+ :offset: 0
696
+ 91:
697
+ :name: :avg_stance_time
698
+ :type: :uint16
699
+ :scale: 10
700
+ :offset: 0
701
+ 92:
702
+ :name: :avg_fractional_cadence
703
+ :type: :uint8
704
+ :scale: 128
705
+ :offset: 0
706
+ 93:
707
+ :name: :max_fractional_cadence
708
+ :type: :uint8
709
+ :scale: 128
710
+ :offset: 0
711
+ 94:
712
+ :name: :total_fractional_cycles
713
+ :type: :uint8
714
+ :scale: 128
715
+ :offset: 0
716
+ 95:
717
+ :name: :avg_total_hemoglobin_conc
718
+ :type: :uint16
719
+ :scale: 100
720
+ :offset: 0
721
+ 96:
722
+ :name: :min_total_hemoglobin_conc
723
+ :type: :uint16
724
+ :scale: 100
725
+ :offset: 0
726
+ 97:
727
+ :name: :max_total_hemoglobin_conc
728
+ :type: :uint16
729
+ :scale: 100
730
+ :offset: 0
731
+ 98:
732
+ :name: :avg_saturated_hemoglobin_percent
733
+ :type: :uint16
734
+ :scale: 10
735
+ :offset: 0
736
+ 99:
737
+ :name: :min_saturated_hemoglobin_percent
738
+ :type: :uint16
739
+ :scale: 10
740
+ :offset: 0
741
+ 100:
742
+ :name: :max_saturated_hemoglobin_percent
743
+ :type: :uint16
744
+ :scale: 10
745
+ :offset: 0
746
+ 101:
747
+ :name: :avg_left_torque_effectiveness
748
+ :type: :uint8
749
+ :scale: 2
750
+ :offset: 0
751
+ 102:
752
+ :name: :avg_right_torque_effectiveness
753
+ :type: :uint8
754
+ :scale: 2
755
+ :offset: 0
756
+ 103:
757
+ :name: :avg_left_pedal_smoothness
758
+ :type: :uint8
759
+ :scale: 2
760
+ :offset: 0
761
+ 104:
762
+ :name: :avg_right_pedal_smoothness
763
+ :type: :uint8
764
+ :scale: 2
765
+ :offset: 0
766
+ 105:
767
+ :name: :avg_combined_pedal_smoothness
768
+ :type: :uint8
769
+ :scale: 2
770
+ :offset: 0
771
+ 107:
772
+ :name: :num_front_gear_changes
773
+ :type: :uint16
774
+ :scale: 0
775
+ :offset: 0
776
+ 108:
777
+ :name: :num_rear_gear_changes
778
+ :type: :uint16
779
+ :scale: 0
780
+ :offset: 0
781
+ 111:
782
+ :name: :sport_index
783
+ :type: :uint8
784
+ :scale: 0
785
+ :offset: 0
786
+ 112:
787
+ :name: :time_standing
788
+ :type: :uint32
789
+ :scale: 1000
790
+ :offset: 0
791
+ 113:
792
+ :name: :stand_count
793
+ :type: :uint16
794
+ :scale: 0
795
+ :offset: 0
796
+ 114:
797
+ :name: :avg_left_pco
798
+ :type: :sint8
799
+ :scale: 0
800
+ :offset: 0
801
+ 115:
802
+ :name: :avg_right_pco
803
+ :type: :sint8
804
+ :scale: 0
805
+ :offset: 0
806
+ 116:
807
+ :name: :avg_left_power_phase
808
+ :type: :uint8
809
+ :scale: 0.7111111
810
+ :offset: 0
811
+ 117:
812
+ :name: :avg_left_power_phase_peak
813
+ :type: :uint8
814
+ :scale: 0.7111111
815
+ :offset: 0
816
+ 118:
817
+ :name: :avg_right_power_phase
818
+ :type: :uint8
819
+ :scale: 0.7111111
820
+ :offset: 0
821
+ 119:
822
+ :name: :avg_right_power_phase_peak
823
+ :type: :uint8
824
+ :scale: 0.7111111
825
+ :offset: 0
826
+ 120:
827
+ :name: :avg_power_position
828
+ :type: :uint16
829
+ :scale: 0
830
+ :offset: 0
831
+ 121:
832
+ :name: :max_power_position
833
+ :type: :uint16
834
+ :scale: 0
835
+ :offset: 0
836
+ 122:
837
+ :name: :avg_cadence_position
838
+ :type: :uint8
839
+ :scale: 0
840
+ :offset: 0
841
+ 123:
842
+ :name: :max_cadence_position
843
+ :type: :uint8
844
+ :scale: 0
845
+ :offset: 0
846
+ 124:
847
+ :name: :enhanced_avg_speed
848
+ :type: :uint32
849
+ :scale: 1000
850
+ :offset: 0
851
+ 125:
852
+ :name: :enhanced_max_speed
853
+ :type: :uint32
854
+ :scale: 1000
855
+ :offset: 0
856
+ 126:
857
+ :name: :enhanced_avg_altitude
858
+ :type: :uint32
859
+ :scale: 5
860
+ :offset: 500
861
+ 127:
862
+ :name: :enhanced_min_altitude
863
+ :type: :uint32
864
+ :scale: 5
865
+ :offset: 500
866
+ 128:
867
+ :name: :enhanced_max_altitude
868
+ :type: :uint32
869
+ :scale: 5
870
+ :offset: 500
871
+ 129:
872
+ :name: :avg_lev_motor_power
873
+ :type: :uint16
874
+ :scale: 0
875
+ :offset: 0
876
+ 130:
877
+ :name: :max_lev_motor_power
878
+ :type: :uint16
879
+ :scale: 0
880
+ :offset: 0
881
+ 131:
882
+ :name: :lev_battery_consumption
883
+ :type: :uint8
884
+ :scale: 2
885
+ :offset: 0
886
+ 19:
887
+ 254:
888
+ :name: :message_index
889
+ :type: :message_index
890
+ :scale: 0
891
+ :offset: 0
892
+ 253:
893
+ :name: :timestamp
894
+ :type: :date_time
895
+ :scale: 0
896
+ :offset: 0
897
+ 0:
898
+ :name: :event
899
+ :type: :enum_event
900
+ :scale: 0
901
+ :offset: 0
902
+ 1:
903
+ :name: :event_type
904
+ :type: :enum_event_type
905
+ :scale: 0
906
+ :offset: 0
907
+ 2:
908
+ :name: :start_time
909
+ :type: :date_time
910
+ :scale: 0
911
+ :offset: 0
912
+ 3:
913
+ :name: :start_position_lat
914
+ :type: :coordinates
915
+ :scale: 0
916
+ :offset: 0
917
+ 4:
918
+ :name: :start_position_long
919
+ :type: :coordinates
920
+ :scale: 0
921
+ :offset: 0
922
+ 5:
923
+ :name: :end_position_lat
924
+ :type: :coordinates
925
+ :scale: 0
926
+ :offset: 0
927
+ 6:
928
+ :name: :end_position_long
929
+ :type: :coordinates
930
+ :scale: 0
931
+ :offset: 0
932
+ 7:
933
+ :name: :total_elapsed_time
934
+ :type: :uint32
935
+ :scale: 1000
936
+ :offset: 0
937
+ 8:
938
+ :name: :total_timer_time
939
+ :type: :uint32
940
+ :scale: 1000
941
+ :offset: 0
942
+ 9:
943
+ :name: :total_distance
944
+ :type: :uint32
945
+ :scale: 100
946
+ :offset: 0
947
+ 10:
948
+ :name: :total_cycles
949
+ :type: :uint32
950
+ :scale: 0
951
+ :offset: 0
952
+ 11:
953
+ :name: :total_calories
954
+ :type: :uint16
955
+ :scale: 0
956
+ :offset: 0
957
+ 12:
958
+ :name: :total_fat_calories
959
+ :type: :uint16
960
+ :scale: 0
961
+ :offset: 0
962
+ 13:
963
+ :name: :avg_speed
964
+ :type: :uint16
965
+ :scale: 1000
966
+ :offset: 0
967
+ 14:
968
+ :name: :max_speed
969
+ :type: :uint16
970
+ :scale: 1000
971
+ :offset: 0
972
+ 15:
973
+ :name: :avg_heart_rate
974
+ :type: :uint8
975
+ :scale: 0
976
+ :offset: 0
977
+ 16:
978
+ :name: :max_heart_rate
979
+ :type: :uint8
980
+ :scale: 0
981
+ :offset: 0
982
+ 17:
983
+ :name: :avg_cadence
984
+ :type: :uint8
985
+ :scale: 0
986
+ :offset: 0
987
+ 18:
988
+ :name: :max_cadence
989
+ :type: :uint8
990
+ :scale: 0
991
+ :offset: 0
992
+ 19:
993
+ :name: :avg_power
994
+ :type: :uint16
995
+ :scale: 0
996
+ :offset: 0
997
+ 20:
998
+ :name: :max_power
999
+ :type: :uint16
1000
+ :scale: 0
1001
+ :offset: 0
1002
+ 21:
1003
+ :name: :total_ascent
1004
+ :type: :uint16
1005
+ :scale: 0
1006
+ :offset: 0
1007
+ 22:
1008
+ :name: :total_descent
1009
+ :type: :uint16
1010
+ :scale: 0
1011
+ :offset: 0
1012
+ 23:
1013
+ :name: :intensity
1014
+ :type: :enum_intensity
1015
+ :scale: 0
1016
+ :offset: 0
1017
+ 24:
1018
+ :name: :lap_trigger
1019
+ :type: :enum_lap_trigger
1020
+ :scale: 0
1021
+ :offset: 0
1022
+ 25:
1023
+ :name: :sport
1024
+ :type: :enum_sport
1025
+ :scale: 0
1026
+ :offset: 0
1027
+ 26:
1028
+ :name: :event_group
1029
+ :type: :uint8
1030
+ :scale: 0
1031
+ :offset: 0
1032
+ 27:
1033
+ :name: :nec_lat
1034
+ :type: :coordinates
1035
+ :scale: 0
1036
+ :offset: 0
1037
+ 28:
1038
+ :name: :nec_long
1039
+ :type: :coordinates
1040
+ :scale: 0
1041
+ :offset: 0
1042
+ 29:
1043
+ :name: :swc_lat
1044
+ :type: :coordinates
1045
+ :scale: 0
1046
+ :offset: 0
1047
+ 30:
1048
+ :name: :swc_long
1049
+ :type: :coordinates
1050
+ :scale: 0
1051
+ :offset: 0
1052
+ 32:
1053
+ :name: :num_lengths
1054
+ :type: :uint16
1055
+ :scale: 0
1056
+ :offset: 0
1057
+ 33:
1058
+ :name: :normalized_power
1059
+ :type: :uint16
1060
+ :scale: 0
1061
+ :offset: 0
1062
+ 34:
1063
+ :name: :left_right_balance
1064
+ :type: :left_right_balance_100
1065
+ :scale: 0
1066
+ :offset: 0
1067
+ 35:
1068
+ :name: :first_length_index
1069
+ :type: :uint16
1070
+ :scale: 0
1071
+ :offset: 0
1072
+ 37:
1073
+ :name: :avg_stroke_distance
1074
+ :type: :uint16
1075
+ :scale: 100
1076
+ :offset: 0
1077
+ 38:
1078
+ :name: :swim_stroke
1079
+ :type: :enum_swim_stroke
1080
+ :scale: 0
1081
+ :offset: 0
1082
+ 39:
1083
+ :name: :sub_sport
1084
+ :type: :enum_sub_sport
1085
+ :scale: 0
1086
+ :offset: 0
1087
+ 40:
1088
+ :name: :num_active_lengths
1089
+ :type: :uint16
1090
+ :scale: 0
1091
+ :offset: 0
1092
+ 41:
1093
+ :name: :total_work
1094
+ :type: :uint32
1095
+ :scale: 0
1096
+ :offset: 0
1097
+ 42:
1098
+ :name: :avg_altitude
1099
+ :type: :uint16
1100
+ :scale: 5
1101
+ :offset: 500
1102
+ 43:
1103
+ :name: :max_altitude
1104
+ :type: :uint16
1105
+ :scale: 5
1106
+ :offset: 500
1107
+ 44:
1108
+ :name: :gps_accuracy
1109
+ :type: :uint8
1110
+ :scale: 0
1111
+ :offset: 0
1112
+ 45:
1113
+ :name: :avg_grade
1114
+ :type: :sint16
1115
+ :scale: 100
1116
+ :offset: 0
1117
+ 46:
1118
+ :name: :avg_pos_grade
1119
+ :type: :sint16
1120
+ :scale: 100
1121
+ :offset: 0
1122
+ 47:
1123
+ :name: :avg_neg_grade
1124
+ :type: :sint16
1125
+ :scale: 100
1126
+ :offset: 0
1127
+ 48:
1128
+ :name: :max_pos_grade
1129
+ :type: :sint16
1130
+ :scale: 100
1131
+ :offset: 0
1132
+ 49:
1133
+ :name: :max_neg_grade
1134
+ :type: :sint16
1135
+ :scale: 100
1136
+ :offset: 0
1137
+ 50:
1138
+ :name: :avg_temperature
1139
+ :type: :sint8
1140
+ :scale: 0
1141
+ :offset: 0
1142
+ 51:
1143
+ :name: :max_temperature
1144
+ :type: :sint8
1145
+ :scale: 0
1146
+ :offset: 0
1147
+ 52:
1148
+ :name: :total_moving_time
1149
+ :type: :uint32
1150
+ :scale: 1000
1151
+ :offset: 0
1152
+ 53:
1153
+ :name: :avg_pos_vertical_speed
1154
+ :type: :sint16
1155
+ :scale: 1000
1156
+ :offset: 0
1157
+ 54:
1158
+ :name: :avg_neg_vertical_speed
1159
+ :type: :sint16
1160
+ :scale: 1000
1161
+ :offset: 0
1162
+ 55:
1163
+ :name: :max_pos_vertical_speed
1164
+ :type: :sint16
1165
+ :scale: 1000
1166
+ :offset: 0
1167
+ 56:
1168
+ :name: :max_neg_vertical_speed
1169
+ :type: :sint16
1170
+ :scale: 1000
1171
+ :offset: 0
1172
+ 57:
1173
+ :name: :time_in_hr_zone
1174
+ :type: :uint32
1175
+ :scale: 1000
1176
+ :offset: 0
1177
+ 58:
1178
+ :name: :time_in_speed_zone
1179
+ :type: :uint32
1180
+ :scale: 1000
1181
+ :offset: 0
1182
+ 59:
1183
+ :name: :time_in_cadence_zone
1184
+ :type: :uint32
1185
+ :scale: 1000
1186
+ :offset: 0
1187
+ 60:
1188
+ :name: :time_in_power_zone
1189
+ :type: :uint32
1190
+ :scale: 1000
1191
+ :offset: 0
1192
+ 61:
1193
+ :name: :repetition_num
1194
+ :type: :uint16
1195
+ :scale: 0
1196
+ :offset: 0
1197
+ 62:
1198
+ :name: :min_altitude
1199
+ :type: :uint16
1200
+ :scale: 5
1201
+ :offset: 500
1202
+ 63:
1203
+ :name: :min_heart_rate
1204
+ :type: :uint8
1205
+ :scale: 0
1206
+ :offset: 0
1207
+ 71:
1208
+ :name: :wkt_step_index
1209
+ :type: :message_index
1210
+ :scale: 0
1211
+ :offset: 0
1212
+ 74:
1213
+ :name: :opponent_score
1214
+ :type: :uint16
1215
+ :scale: 0
1216
+ :offset: 0
1217
+ 75:
1218
+ :name: :stroke_count
1219
+ :type: :uint16
1220
+ :scale: 0
1221
+ :offset: 0
1222
+ 76:
1223
+ :name: :zone_count
1224
+ :type: :uint16
1225
+ :scale: 0
1226
+ :offset: 0
1227
+ 77:
1228
+ :name: :avg_vertical_oscillation
1229
+ :type: :uint16
1230
+ :scale: 10
1231
+ :offset: 0
1232
+ 78:
1233
+ :name: :avg_stance_time_percent
1234
+ :type: :uint16
1235
+ :scale: 100
1236
+ :offset: 0
1237
+ 79:
1238
+ :name: :avg_stance_time
1239
+ :type: :uint16
1240
+ :scale: 10
1241
+ :offset: 0
1242
+ 80:
1243
+ :name: :avg_fractional_cadence
1244
+ :type: :uint8
1245
+ :scale: 128
1246
+ :offset: 0
1247
+ 81:
1248
+ :name: :max_fractional_cadence
1249
+ :type: :uint8
1250
+ :scale: 128
1251
+ :offset: 0
1252
+ 82:
1253
+ :name: :total_fractional_cycles
1254
+ :type: :uint8
1255
+ :scale: 128
1256
+ :offset: 0
1257
+ 83:
1258
+ :name: :player_score
1259
+ :type: :uint16
1260
+ :scale: 0
1261
+ :offset: 0
1262
+ 84:
1263
+ :name: :avg_total_hemoglobin_conc
1264
+ :type: :uint16
1265
+ :scale: 100
1266
+ :offset: 0
1267
+ 85:
1268
+ :name: :min_total_hemoglobin_conc
1269
+ :type: :uint16
1270
+ :scale: 100
1271
+ :offset: 0
1272
+ 86:
1273
+ :name: :max_total_hemoglobin_conc
1274
+ :type: :uint16
1275
+ :scale: 100
1276
+ :offset: 0
1277
+ 87:
1278
+ :name: :avg_saturated_hemoglobin_percent
1279
+ :type: :uint16
1280
+ :scale: 10
1281
+ :offset: 0
1282
+ 88:
1283
+ :name: :min_saturated_hemoglobin_percent
1284
+ :type: :uint16
1285
+ :scale: 10
1286
+ :offset: 0
1287
+ 89:
1288
+ :name: :max_saturated_hemoglobin_percent
1289
+ :type: :uint16
1290
+ :scale: 10
1291
+ :offset: 0
1292
+ 91:
1293
+ :name: :avg_left_torque_effectiveness
1294
+ :type: :uint8
1295
+ :scale: 2
1296
+ :offset: 0
1297
+ 92:
1298
+ :name: :avg_right_torque_effectiveness
1299
+ :type: :uint8
1300
+ :scale: 2
1301
+ :offset: 0
1302
+ 93:
1303
+ :name: :avg_left_pedal_smoothness
1304
+ :type: :uint8
1305
+ :scale: 2
1306
+ :offset: 0
1307
+ 94:
1308
+ :name: :avg_right_pedal_smoothness
1309
+ :type: :uint8
1310
+ :scale: 2
1311
+ :offset: 0
1312
+ 95:
1313
+ :name: :avg_combined_pedal_smoothness
1314
+ :type: :uint8
1315
+ :scale: 2
1316
+ :offset: 0
1317
+ 96:
1318
+ :name: :num_front_gear_changes
1319
+ :type: :uint16
1320
+ :scale: 0
1321
+ :offset: 0
1322
+ 97:
1323
+ :name: :num_rear_gear_changes
1324
+ :type: :uint16
1325
+ :scale: 0
1326
+ :offset: 0
1327
+ 98:
1328
+ :name: :time_standing
1329
+ :type: :uint32
1330
+ :scale: 1000
1331
+ :offset: 0
1332
+ 99:
1333
+ :name: :stand_count
1334
+ :type: :uint16
1335
+ :scale: 0
1336
+ :offset: 0
1337
+ 100:
1338
+ :name: :avg_left_pco
1339
+ :type: :sint8
1340
+ :scale: 0
1341
+ :offset: 0
1342
+ 101:
1343
+ :name: :avg_right_pco
1344
+ :type: :sint8
1345
+ :scale: 0
1346
+ :offset: 0
1347
+ 102:
1348
+ :name: :avg_left_power_phase
1349
+ :type: :uint8
1350
+ :scale: 0.7111111
1351
+ :offset: 0
1352
+ 103:
1353
+ :name: :avg_left_power_phase_peak
1354
+ :type: :uint8
1355
+ :scale: 0.7111111
1356
+ :offset: 0
1357
+ 104:
1358
+ :name: :avg_right_power_phase
1359
+ :type: :uint8
1360
+ :scale: 0.7111111
1361
+ :offset: 0
1362
+ 105:
1363
+ :name: :avg_right_power_phase_peak
1364
+ :type: :uint8
1365
+ :scale: 0.7111111
1366
+ :offset: 0
1367
+ 106:
1368
+ :name: :avg_power_position
1369
+ :type: :uint16
1370
+ :scale: 0
1371
+ :offset: 0
1372
+ 107:
1373
+ :name: :max_power_position
1374
+ :type: :uint16
1375
+ :scale: 0
1376
+ :offset: 0
1377
+ 108:
1378
+ :name: :avg_cadence_position
1379
+ :type: :uint8
1380
+ :scale: 0
1381
+ :offset: 0
1382
+ 109:
1383
+ :name: :max_cadence_position
1384
+ :type: :uint8
1385
+ :scale: 0
1386
+ :offset: 0
1387
+ 110:
1388
+ :name: :enhanced_avg_speed
1389
+ :type: :uint32
1390
+ :scale: 1000
1391
+ :offset: 0
1392
+ 111:
1393
+ :name: :enhanced_max_speed
1394
+ :type: :uint32
1395
+ :scale: 1000
1396
+ :offset: 0
1397
+ 112:
1398
+ :name: :enhanced_avg_altitude
1399
+ :type: :uint32
1400
+ :scale: 5
1401
+ :offset: 500
1402
+ 113:
1403
+ :name: :enhanced_min_altitude
1404
+ :type: :uint32
1405
+ :scale: 5
1406
+ :offset: 500
1407
+ 114:
1408
+ :name: :enhanced_max_altitude
1409
+ :type: :uint32
1410
+ :scale: 5
1411
+ :offset: 500
1412
+ 115:
1413
+ :name: :avg_lev_motor_power
1414
+ :type: :uint16
1415
+ :scale: 0
1416
+ :offset: 0
1417
+ 116:
1418
+ :name: :max_lev_motor_power
1419
+ :type: :uint16
1420
+ :scale: 0
1421
+ :offset: 0
1422
+ 117:
1423
+ :name: :lev_battery_consumption
1424
+ :type: :uint8
1425
+ :scale: 2
1426
+ :offset: 0
1427
+ 20:
1428
+ 253:
1429
+ :name: :timestamp
1430
+ :type: :date_time
1431
+ :scale: 0
1432
+ :offset: 0
1433
+ 0:
1434
+ :name: :position_lat
1435
+ :type: :coordinates
1436
+ :scale: 0
1437
+ :offset: 0
1438
+ 1:
1439
+ :name: :position_long
1440
+ :type: :coordinates
1441
+ :scale: 0
1442
+ :offset: 0
1443
+ 2:
1444
+ :name: :altitude
1445
+ :type: :uint16
1446
+ :scale: 5
1447
+ :offset: 500
1448
+ 3:
1449
+ :name: :heart_rate
1450
+ :type: :uint8
1451
+ :scale: 0
1452
+ :offset: 0
1453
+ 4:
1454
+ :name: :cadence
1455
+ :type: :uint8
1456
+ :scale: 0
1457
+ :offset: 0
1458
+ 5:
1459
+ :name: :distance
1460
+ :type: :uint32
1461
+ :scale: 100
1462
+ :offset: 0
1463
+ 6:
1464
+ :name: :speed
1465
+ :type: :uint16
1466
+ :scale: 1000
1467
+ :offset: 0
1468
+ 7:
1469
+ :name: :power
1470
+ :type: :uint16
1471
+ :scale: 0
1472
+ :offset: 0
1473
+ 8:
1474
+ :name: :compressed_speed_distance
1475
+ :type: :byte
1476
+ :scale: 100
1477
+ :offset: 0
1478
+ 9:
1479
+ :name: :grade
1480
+ :type: :sint16
1481
+ :scale: 100
1482
+ :offset: 0
1483
+ 10:
1484
+ :name: :resistance
1485
+ :type: :uint8
1486
+ :scale: 0
1487
+ :offset: 0
1488
+ 11:
1489
+ :name: :time_from_course
1490
+ :type: :sint32
1491
+ :scale: 1000
1492
+ :offset: 0
1493
+ 12:
1494
+ :name: :cycle_length
1495
+ :type: :uint8
1496
+ :scale: 100
1497
+ :offset: 0
1498
+ 13:
1499
+ :name: :temperature
1500
+ :type: :sint8
1501
+ :scale: 0
1502
+ :offset: 0
1503
+ 17:
1504
+ :name: :speed_1s
1505
+ :type: :uint8
1506
+ :scale: 16
1507
+ :offset: 0
1508
+ 18:
1509
+ :name: :cycles
1510
+ :type: :uint8
1511
+ :scale: 0
1512
+ :offset: 0
1513
+ 19:
1514
+ :name: :total_cycles
1515
+ :type: :uint32
1516
+ :scale: 0
1517
+ :offset: 0
1518
+ 28:
1519
+ :name: :compressed_accumulated_power
1520
+ :type: :uint16
1521
+ :scale: 0
1522
+ :offset: 0
1523
+ 29:
1524
+ :name: :accumulated_power
1525
+ :type: :uint32
1526
+ :scale: 0
1527
+ :offset: 0
1528
+ 30:
1529
+ :name: :left_right_balance
1530
+ :type: :left_right_balance
1531
+ :scale: 0
1532
+ :offset: 0
1533
+ 31:
1534
+ :name: :gps_accuracy
1535
+ :type: :uint8
1536
+ :scale: 0
1537
+ :offset: 0
1538
+ 32:
1539
+ :name: :vertical_speed
1540
+ :type: :sint16
1541
+ :scale: 1000
1542
+ :offset: 0
1543
+ 33:
1544
+ :name: :calories
1545
+ :type: :uint16
1546
+ :scale: 0
1547
+ :offset: 0
1548
+ 39:
1549
+ :name: :vertical_oscillation
1550
+ :type: :uint16
1551
+ :scale: 10
1552
+ :offset: 0
1553
+ 40:
1554
+ :name: :stance_time_percent
1555
+ :type: :uint16
1556
+ :scale: 100
1557
+ :offset: 0
1558
+ 41:
1559
+ :name: :stance_time
1560
+ :type: :uint16
1561
+ :scale: 10
1562
+ :offset: 0
1563
+ 42:
1564
+ :name: :activity_type
1565
+ :type: :activity_type
1566
+ :scale: 0
1567
+ :offset: 0
1568
+ 43:
1569
+ :name: :left_torque_effectiveness
1570
+ :type: :uint8
1571
+ :scale: 2
1572
+ :offset: 0
1573
+ 44:
1574
+ :name: :right_torque_effectiveness
1575
+ :type: :uint8
1576
+ :scale: 2
1577
+ :offset: 0
1578
+ 45:
1579
+ :name: :left_pedal_smoothness
1580
+ :type: :uint8
1581
+ :scale: 2
1582
+ :offset: 0
1583
+ 46:
1584
+ :name: :right_pedal_smoothness
1585
+ :type: :uint8
1586
+ :scale: 2
1587
+ :offset: 0
1588
+ 47:
1589
+ :name: :combined_pedal_smoothness
1590
+ :type: :uint8
1591
+ :scale: 2
1592
+ :offset: 0
1593
+ 48:
1594
+ :name: :time128
1595
+ :type: :uint8
1596
+ :scale: 128
1597
+ :offset: 0
1598
+ 49:
1599
+ :name: :stroke_type
1600
+ :type: :stroke_type
1601
+ :scale: 0
1602
+ :offset: 0
1603
+ 50:
1604
+ :name: :zone
1605
+ :type: :uint8
1606
+ :scale: 0
1607
+ :offset: 0
1608
+ 51:
1609
+ :name: :ball_speed
1610
+ :type: :uint16
1611
+ :scale: 100
1612
+ :offset: 0
1613
+ 52:
1614
+ :name: :cadence256
1615
+ :type: :uint16
1616
+ :scale: 256
1617
+ :offset: 0
1618
+ 53:
1619
+ :name: :fractional_cadence
1620
+ :type: :uint8
1621
+ :scale: 128
1622
+ :offset: 0
1623
+ 54:
1624
+ :name: :total_hemoglobin_conc
1625
+ :type: :uint16
1626
+ :scale: 100
1627
+ :offset: 0
1628
+ 55:
1629
+ :name: :total_hemoglobin_conc_min
1630
+ :type: :uint16
1631
+ :scale: 100
1632
+ :offset: 0
1633
+ 56:
1634
+ :name: :total_hemoglobin_conc_max
1635
+ :type: :uint16
1636
+ :scale: 100
1637
+ :offset: 0
1638
+ 57:
1639
+ :name: :saturated_hemoglobin_percent
1640
+ :type: :uint16
1641
+ :scale: 10
1642
+ :offset: 0
1643
+ 58:
1644
+ :name: :saturated_hemoglobin_percent_min
1645
+ :type: :uint16
1646
+ :scale: 10
1647
+ :offset: 0
1648
+ 59:
1649
+ :name: :saturated_hemoglobin_percent_max
1650
+ :type: :uint16
1651
+ :scale: 10
1652
+ :offset: 0
1653
+ 62:
1654
+ :name: :device_index
1655
+ :type: :device_index
1656
+ :scale: 0
1657
+ :offset: 0
1658
+ 67:
1659
+ :name: :left_pco
1660
+ :type: :sint8
1661
+ :scale: 0
1662
+ :offset: 0
1663
+ 68:
1664
+ :name: :right_pco
1665
+ :type: :sint8
1666
+ :scale: 0
1667
+ :offset: 0
1668
+ 69:
1669
+ :name: :left_power_phase
1670
+ :type: :uint8
1671
+ :scale: 0.7111111
1672
+ :offset: 0
1673
+ 70:
1674
+ :name: :left_power_phase_peak
1675
+ :type: :uint8
1676
+ :scale: 0.7111111
1677
+ :offset: 0
1678
+ 71:
1679
+ :name: :right_power_phase
1680
+ :type: :uint8
1681
+ :scale: 0.7111111
1682
+ :offset: 0
1683
+ 72:
1684
+ :name: :right_power_phase_peak
1685
+ :type: :uint8
1686
+ :scale: 0.7111111
1687
+ :offset: 0
1688
+ 73:
1689
+ :name: :enhanced_speed
1690
+ :type: :uint32
1691
+ :scale: 1000
1692
+ :offset: 0
1693
+ 78:
1694
+ :name: :enhanced_altitude
1695
+ :type: :uint32
1696
+ :scale: 5
1697
+ :offset: 500
1698
+ 81:
1699
+ :name: :battery_soc
1700
+ :type: :uint8
1701
+ :scale: 2
1702
+ :offset: 0
1703
+ 82:
1704
+ :name: :motor_power
1705
+ :type: :uint16
1706
+ :scale: 0
1707
+ :offset: 0
1708
+ 21:
1709
+ 253:
1710
+ :name: :timestamp
1711
+ :type: :date_time
1712
+ :scale: 0
1713
+ :offset: 0
1714
+ 0:
1715
+ :name: :event
1716
+ :type: :enum_event
1717
+ :scale: 0
1718
+ :offset: 0
1719
+ 1:
1720
+ :name: :event_type
1721
+ :type: :enum_event_type
1722
+ :scale: 0
1723
+ :offset: 0
1724
+ 2:
1725
+ :name: :data16
1726
+ :type: :uint16
1727
+ :scale: 0
1728
+ :offset: 0
1729
+ 3:
1730
+ :name: :data
1731
+ :type: :uint32
1732
+ :scale: 0
1733
+ :offset: 0
1734
+ 4:
1735
+ :name: :event_group
1736
+ :type: :uint8
1737
+ :scale: 0
1738
+ :offset: 0
1739
+ 7:
1740
+ :name: :score
1741
+ :type: :uint16
1742
+ :scale: 0
1743
+ :offset: 0
1744
+ 8:
1745
+ :name: :opponent_score
1746
+ :type: :uint16
1747
+ :scale: 0
1748
+ :offset: 0
1749
+ 9:
1750
+ :name: :front_gear_num
1751
+ :type: :uint8z
1752
+ :scale: 0
1753
+ :offset: 0
1754
+ 10:
1755
+ :name: :front_gear
1756
+ :type: :uint8z
1757
+ :scale: 0
1758
+ :offset: 0
1759
+ 11:
1760
+ :name: :rear_gear_num
1761
+ :type: :uint8z
1762
+ :scale: 0
1763
+ :offset: 0
1764
+ 12:
1765
+ :name: :rear_gear
1766
+ :type: :uint8z
1767
+ :scale: 0
1768
+ :offset: 0
1769
+ 13:
1770
+ :name: :device_index
1771
+ :type: :raw
1772
+ :scale: 0
1773
+ :offset: 0
1774
+ 22:
1775
+ 253:
1776
+ :name: :timestamp
1777
+ :type: :date_time
1778
+ :scale: 0
1779
+ :offset: 0
1780
+ 0:
1781
+ :name: :speed
1782
+ :type: :device_index
1783
+ :scale: 0
1784
+ :offset: 0
1785
+ 1:
1786
+ :name: :distance
1787
+ :type: :device_index
1788
+ :scale: 0
1789
+ :offset: 0
1790
+ 2:
1791
+ :name: :cadence
1792
+ :type: :device_index
1793
+ :scale: 0
1794
+ :offset: 0
1795
+ 3:
1796
+ :name: :altitude
1797
+ :type: :device_index
1798
+ :scale: 0
1799
+ :offset: 0
1800
+ 4:
1801
+ :name: :heart
1802
+ :type: :device_index
1803
+ :scale: 0
1804
+ :offset: 0
1805
+ 23:
1806
+ 253:
1807
+ :name: :timestamp
1808
+ :type: :date_time
1809
+ :scale: 0
1810
+ :offset: 0
1811
+ 0:
1812
+ :name: :device_index
1813
+ :type: :device_index
1814
+ :scale: 0
1815
+ :offset: 0
1816
+ 1:
1817
+ :name: :device_type
1818
+ :type: :uint8
1819
+ :scale: 0
1820
+ :offset: 0
1821
+ 2:
1822
+ :name: :manufacturer
1823
+ :type: :enum_manufacturer
1824
+ :scale: 0
1825
+ :offset: 0
1826
+ 3:
1827
+ :name: :serial_number
1828
+ :type: :uint32z
1829
+ :scale: 0
1830
+ :offset: 0
1831
+ 4:
1832
+ :name: :product
1833
+ :type: :uint16
1834
+ :scale: 0
1835
+ :offset: 0
1836
+ 5:
1837
+ :name: :software_version
1838
+ :type: :uint16
1839
+ :scale: 100
1840
+ :offset: 0
1841
+ 6:
1842
+ :name: :hardware_version
1843
+ :type: :uint8
1844
+ :scale: 0
1845
+ :offset: 0
1846
+ 7:
1847
+ :name: :cum_operating_time
1848
+ :type: :uint32
1849
+ :scale: 0
1850
+ :offset: 0
1851
+ 10:
1852
+ :name: :battery_voltage
1853
+ :type: :uint16
1854
+ :scale: 256
1855
+ :offset: 0
1856
+ 11:
1857
+ :name: :battery_status
1858
+ :type: :enum_battery_status
1859
+ :scale: 0
1860
+ :offset: 0
1861
+ 18:
1862
+ :name: :sensor_position
1863
+ :type: :enum_body_location
1864
+ :scale: 0
1865
+ :offset: 0
1866
+ 19:
1867
+ :name: :descriptor
1868
+ :type: :string
1869
+ :scale: 0
1870
+ :offset: 0
1871
+ 20:
1872
+ :name: :ant_transmission_type
1873
+ :type: :uint8z
1874
+ :scale: 0
1875
+ :offset: 0
1876
+ 21:
1877
+ :name: :ant_device_number
1878
+ :type: :uint16z
1879
+ :scale: 0
1880
+ :offset: 0
1881
+ 22:
1882
+ :name: :ant_network
1883
+ :type: :enum_ant_network
1884
+ :scale: 0
1885
+ :offset: 0
1886
+ 23:
1887
+ :name: :serial_number
1888
+ :type: :raw
1889
+ :scale: 0
1890
+ :offset: 0
1891
+ 24:
1892
+ :name: :sensor_serial_number
1893
+ :type: :raw
1894
+ :scale: 0
1895
+ :offset: 0
1896
+ 25:
1897
+ :name: :source_type
1898
+ :type: :enum_source_type
1899
+ :scale: 0
1900
+ :offset: 0
1901
+ 27:
1902
+ :name: :product_name
1903
+ :type: :string
1904
+ :scale: 0
1905
+ :offset: 0
1906
+ 34:
1907
+ 253:
1908
+ :name: :timestamp
1909
+ :type: :date_time
1910
+ :scale: 0
1911
+ :offset: 0
1912
+ 0:
1913
+ :name: :total_timer_time
1914
+ :type: :uint32
1915
+ :scale: 0
1916
+ :offset: 0
1917
+ 1:
1918
+ :name: :num_sessions
1919
+ :type: :uint16
1920
+ :scale: 0
1921
+ :offset: 0
1922
+ 2:
1923
+ :name: :type
1924
+ :type: :enum_activity
1925
+ :scale: 0
1926
+ :offset: 0
1927
+ 3:
1928
+ :name: :event
1929
+ :type: :enum_event
1930
+ :scale: 0
1931
+ :offset: 0
1932
+ 4:
1933
+ :name: :event_type
1934
+ :type: :enum_event_type
1935
+ :scale: 0
1936
+ :offset: 0
1937
+ 5:
1938
+ :name: :local_timestamp
1939
+ :type: :local_date_time
1940
+ :scale: 0
1941
+ :offset: 0
1942
+ 6:
1943
+ :name: :event_group
1944
+ :type: :uint8
1945
+ :scale: 0
1946
+ :offset: 0
1947
+ 49:
1948
+ 0:
1949
+ :name: :software_version
1950
+ :type: :uint16
1951
+ :scale: 0
1952
+ :offset: 0
1953
+ 1:
1954
+ :name: :hardware_version
1955
+ :type: :uint8
1956
+ :scale: 0
1957
+ :offset: 0
1958
+ 72:
1959
+ 253:
1960
+ :name: :timestamp
1961
+ :type: :date_time
1962
+ :scale: 0
1963
+ :offset: 0
1964
+ 0:
1965
+ :name: :type
1966
+ :type: :enum_file
1967
+ :scale: 0
1968
+ :offset: 0
1969
+ 1:
1970
+ :name: :manufacturer
1971
+ :type: :enum_manufacturer
1972
+ :scale: 0
1973
+ :offset: 0
1974
+ 2:
1975
+ :name: :product
1976
+ :type: :uint16
1977
+ :scale: 0
1978
+ :offset: 0
1979
+ 3:
1980
+ :name: :serial_number
1981
+ :type: :uint32z
1982
+ :scale: 0
1983
+ :offset: 0
1984
+ 4:
1985
+ :name: :time_created
1986
+ :type: :date_time
1987
+ :scale: 0
1988
+ :offset: 0
1989
+ 104:
1990
+ 253:
1991
+ :name: :timestamp
1992
+ :type: :date_time
1993
+ :scale: 0
1994
+ :offset: 0
1995
+ 0:
1996
+ :name: :charge
1997
+ :type: :raw
1998
+ :scale: 0
1999
+ :offset: 0
2000
+ 2:
2001
+ :name: :percent
2002
+ :type: :raw
2003
+ :scale: 0
2004
+ :offset: 0
2005
+ 142:
2006
+ 254:
2007
+ :name: :message_index
2008
+ :type: :message_index
2009
+ :scale: 0
2010
+ :offset: 0
2011
+ 253:
2012
+ :name: :timestamp
2013
+ :type: :date_time
2014
+ :scale: 0
2015
+ :offset: 0
2016
+ 0:
2017
+ :name: :event
2018
+ :type: :event
2019
+ :scale: 0
2020
+ :offset: 0
2021
+ 1:
2022
+ :name: :event_type
2023
+ :type: :event_type
2024
+ :scale: 0
2025
+ :offset: 0
2026
+ 2:
2027
+ :name: :start_time
2028
+ :type: :date_time
2029
+ :scale: 0
2030
+ :offset: 0
2031
+ 3:
2032
+ :name: :start_position_lat
2033
+ :type: :coordinates
2034
+ :scale: 0
2035
+ :offset: 0
2036
+ 4:
2037
+ :name: :start_position_long
2038
+ :type: :coordinates
2039
+ :scale: 0
2040
+ :offset: 0
2041
+ 5:
2042
+ :name: :end_position_lat
2043
+ :type: :coordinates
2044
+ :scale: 0
2045
+ :offset: 0
2046
+ 6:
2047
+ :name: :end_position_long
2048
+ :type: :coordinates
2049
+ :scale: 0
2050
+ :offset: 0
2051
+ 7:
2052
+ :name: :total_elapsed_time
2053
+ :type: :uint32
2054
+ :scale: 1000
2055
+ :offset: 0
2056
+ 8:
2057
+ :name: :total_timer_time
2058
+ :type: :uint32
2059
+ :scale: 1000
2060
+ :offset: 0
2061
+ 9:
2062
+ :name: :total_distance
2063
+ :type: :uint32
2064
+ :scale: 100
2065
+ :offset: 0
2066
+ 10:
2067
+ :name: :total_cycles
2068
+ :type: :uint32
2069
+ :scale: 0
2070
+ :offset: 0
2071
+ 11:
2072
+ :name: :total_calories
2073
+ :type: :uint16
2074
+ :scale: 0
2075
+ :offset: 0
2076
+ 12:
2077
+ :name: :total_fat_calories
2078
+ :type: :uint16
2079
+ :scale: 0
2080
+ :offset: 0
2081
+ 13:
2082
+ :name: :avg_speed
2083
+ :type: :uint16
2084
+ :scale: 1000
2085
+ :offset: 0
2086
+ 14:
2087
+ :name: :max_speed
2088
+ :type: :uint16
2089
+ :scale: 1000
2090
+ :offset: 0
2091
+ 15:
2092
+ :name: :avg_heart_rate
2093
+ :type: :uint8
2094
+ :scale: 0
2095
+ :offset: 0
2096
+ 16:
2097
+ :name: :max_heart_rate
2098
+ :type: :uint8
2099
+ :scale: 0
2100
+ :offset: 0
2101
+ 17:
2102
+ :name: :avg_cadence
2103
+ :type: :uint8
2104
+ :scale: 0
2105
+ :offset: 0
2106
+ 18:
2107
+ :name: :max_cadence
2108
+ :type: :uint8
2109
+ :scale: 0
2110
+ :offset: 0
2111
+ 19:
2112
+ :name: :avg_power
2113
+ :type: :uint16
2114
+ :scale: 0
2115
+ :offset: 0
2116
+ 20:
2117
+ :name: :max_power
2118
+ :type: :uint16
2119
+ :scale: 0
2120
+ :offset: 0
2121
+ 21:
2122
+ :name: :total_ascent
2123
+ :type: :uint16
2124
+ :scale: 0
2125
+ :offset: 0
2126
+ 22:
2127
+ :name: :total_descent
2128
+ :type: :uint16
2129
+ :scale: 0
2130
+ :offset: 0
2131
+ 23:
2132
+ :name: :sport
2133
+ :type: :sport
2134
+ :scale: 0
2135
+ :offset: 0
2136
+ 24:
2137
+ :name: :event_group
2138
+ :type: :uint8
2139
+ :scale: 0
2140
+ :offset: 0
2141
+ 25:
2142
+ :name: :nec_lat
2143
+ :type: :coordinates
2144
+ :scale: 0
2145
+ :offset: 0
2146
+ 26:
2147
+ :name: :nec_long
2148
+ :type: :coordinates
2149
+ :scale: 0
2150
+ :offset: 0
2151
+ 27:
2152
+ :name: :swc_lat
2153
+ :type: :coordinates
2154
+ :scale: 0
2155
+ :offset: 0
2156
+ 28:
2157
+ :name: :swc_long
2158
+ :type: :coordinates
2159
+ :scale: 0
2160
+ :offset: 0
2161
+ 29:
2162
+ :name: :name
2163
+ :type: :string
2164
+ :scale: 0
2165
+ :offset: 0
2166
+ 30:
2167
+ :name: :normalized_power
2168
+ :type: :uint16
2169
+ :scale: 0
2170
+ :offset: 0
2171
+ 31:
2172
+ :name: :left_right_balance
2173
+ :type: :left_right_balance_100
2174
+ :scale: 0
2175
+ :offset: 0
2176
+ 32:
2177
+ :name: :sub_sport
2178
+ :type: :sub_sport
2179
+ :scale: 0
2180
+ :offset: 0
2181
+ 33:
2182
+ :name: :total_work
2183
+ :type: :uint32
2184
+ :scale: 0
2185
+ :offset: 0
2186
+ 34:
2187
+ :name: :avg_altitude
2188
+ :type: :uint16
2189
+ :scale: 5
2190
+ :offset: 500
2191
+ 35:
2192
+ :name: :max_altitude
2193
+ :type: :uint16
2194
+ :scale: 5
2195
+ :offset: 500
2196
+ 36:
2197
+ :name: :gps_accuracy
2198
+ :type: :uint8
2199
+ :scale: 0
2200
+ :offset: 0
2201
+ 37:
2202
+ :name: :avg_grade
2203
+ :type: :sint16
2204
+ :scale: 100
2205
+ :offset: 0
2206
+ 38:
2207
+ :name: :avg_pos_grade
2208
+ :type: :sint16
2209
+ :scale: 100
2210
+ :offset: 0
2211
+ 39:
2212
+ :name: :avg_neg_grade
2213
+ :type: :sint16
2214
+ :scale: 100
2215
+ :offset: 0
2216
+ 40:
2217
+ :name: :max_pos_grade
2218
+ :type: :sint16
2219
+ :scale: 100
2220
+ :offset: 0
2221
+ 41:
2222
+ :name: :max_neg_grade
2223
+ :type: :sint16
2224
+ :scale: 100
2225
+ :offset: 0
2226
+ 42:
2227
+ :name: :avg_temperature
2228
+ :type: :sint8
2229
+ :scale: 0
2230
+ :offset: 0
2231
+ 43:
2232
+ :name: :max_temperature
2233
+ :type: :sint8
2234
+ :scale: 0
2235
+ :offset: 0
2236
+ 44:
2237
+ :name: :total_moving_time
2238
+ :type: :uint32
2239
+ :scale: 1000
2240
+ :offset: 0
2241
+ 45:
2242
+ :name: :avg_pos_vertical_speed
2243
+ :type: :sint16
2244
+ :scale: 1000
2245
+ :offset: 0
2246
+ 46:
2247
+ :name: :avg_neg_vertical_speed
2248
+ :type: :sint16
2249
+ :scale: 1000
2250
+ :offset: 0
2251
+ 47:
2252
+ :name: :max_pos_vertical_speed
2253
+ :type: :sint16
2254
+ :scale: 1000
2255
+ :offset: 0
2256
+ 48:
2257
+ :name: :max_neg_vertical_speed
2258
+ :type: :sint16
2259
+ :scale: 1000
2260
+ :offset: 0
2261
+ 49:
2262
+ :name: :time_in_hr_zone
2263
+ :type: :uint32
2264
+ :scale: 1000
2265
+ :offset: 0
2266
+ 50:
2267
+ :name: :time_in_speed_zone
2268
+ :type: :uint32
2269
+ :scale: 1000
2270
+ :offset: 0
2271
+ 51:
2272
+ :name: :time_in_cadence_zone
2273
+ :type: :uint32
2274
+ :scale: 1000
2275
+ :offset: 0
2276
+ 52:
2277
+ :name: :time_in_power_zone
2278
+ :type: :uint32
2279
+ :scale: 1000
2280
+ :offset: 0
2281
+ 53:
2282
+ :name: :repetition_num
2283
+ :type: :uint16
2284
+ :scale: 0
2285
+ :offset: 0
2286
+ 54:
2287
+ :name: :min_altitude
2288
+ :type: :uint16
2289
+ :scale: 5
2290
+ :offset: 500
2291
+ 55:
2292
+ :name: :min_heart_rate
2293
+ :type: :uint8
2294
+ :scale: 0
2295
+ :offset: 0
2296
+ 56:
2297
+ :name: :active_time
2298
+ :type: :uint32
2299
+ :scale: 1000
2300
+ :offset: 0
2301
+ 57:
2302
+ :name: :wkt_step_index
2303
+ :type: :message_index
2304
+ :scale: 0
2305
+ :offset: 0
2306
+ 58:
2307
+ :name: :sport_event
2308
+ :type: :sport_event
2309
+ :scale: 0
2310
+ :offset: 0
2311
+ 59:
2312
+ :name: :avg_left_torque_effectiveness
2313
+ :type: :uint8
2314
+ :scale: 2
2315
+ :offset: 0
2316
+ 60:
2317
+ :name: :avg_right_torque_effectiveness
2318
+ :type: :uint8
2319
+ :scale: 2
2320
+ :offset: 0
2321
+ 61:
2322
+ :name: :avg_left_pedal_smoothness
2323
+ :type: :uint8
2324
+ :scale: 2
2325
+ :offset: 0
2326
+ 62:
2327
+ :name: :avg_right_pedal_smoothness
2328
+ :type: :uint8
2329
+ :scale: 2
2330
+ :offset: 0
2331
+ 63:
2332
+ :name: :avg_combined_pedal_smoothness
2333
+ :type: :uint8
2334
+ :scale: 2
2335
+ :offset: 0
2336
+ 64:
2337
+ :name: :status
2338
+ :type: :segment_lap_status
2339
+ :scale: 0
2340
+ :offset: 0
2341
+ 65:
2342
+ :name: :uuid
2343
+ :type: :string
2344
+ :scale: 0
2345
+ :offset: 0
2346
+ 66:
2347
+ :name: :avg_fractional_cadence
2348
+ :type: :uint8
2349
+ :scale: 128
2350
+ :offset: 0
2351
+ 67:
2352
+ :name: :max_fractional_cadence
2353
+ :type: :uint8
2354
+ :scale: 128
2355
+ :offset: 0
2356
+ 68:
2357
+ :name: :total_fractional_cycles
2358
+ :type: :uint8
2359
+ :scale: 128
2360
+ :offset: 0
2361
+ 69:
2362
+ :name: :front_gear_shift_count
2363
+ :type: :uint16
2364
+ :scale: 0
2365
+ :offset: 0
2366
+ 70:
2367
+ :name: :rear_gear_shift_count
2368
+ :type: :uint16
2369
+ :scale: 0
2370
+ :offset: 0
2371
+ 71:
2372
+ :name: :time_standing
2373
+ :type: :uint32
2374
+ :scale: 1000
2375
+ :offset: 0
2376
+ 72:
2377
+ :name: :stand_count
2378
+ :type: :uint16
2379
+ :scale: 0
2380
+ :offset: 0
2381
+ 73:
2382
+ :name: :avg_left_pco
2383
+ :type: :sint8
2384
+ :scale: 0
2385
+ :offset: 0
2386
+ 74:
2387
+ :name: :avg_right_pco
2388
+ :type: :sint8
2389
+ :scale: 0
2390
+ :offset: 0
2391
+ 75:
2392
+ :name: :avg_left_power_phase
2393
+ :type: :uint8
2394
+ :scale: 0.7111111
2395
+ :offset: 0
2396
+ 76:
2397
+ :name: :avg_left_power_phase_peak
2398
+ :type: :uint8
2399
+ :scale: 0.7111111
2400
+ :offset: 0
2401
+ 77:
2402
+ :name: :avg_right_power_phase
2403
+ :type: :uint8
2404
+ :scale: 0.7111111
2405
+ :offset: 0
2406
+ 78:
2407
+ :name: :avg_right_power_phase_peak
2408
+ :type: :uint8
2409
+ :scale: 0.7111111
2410
+ :offset: 0
2411
+ 79:
2412
+ :name: :avg_power_position
2413
+ :type: :uint16
2414
+ :scale: 0
2415
+ :offset: 0
2416
+ 80:
2417
+ :name: :max_power_position
2418
+ :type: :uint16
2419
+ :scale: 0
2420
+ :offset: 0
2421
+ 81:
2422
+ :name: :avg_cadence_position
2423
+ :type: :uint8
2424
+ :scale: 0
2425
+ :offset: 0
2426
+ 82:
2427
+ :name: :max_cadence_position
2428
+ :type: :uint8
2429
+ :scale: 0
2430
+ :offset: 0
2431
+ 147:
2432
+ 0:
2433
+ :name: :serial_number
2434
+ :type: :raw
2435
+ :scale: 0
2436
+ :offset: 0
2437
+ 2:
2438
+ :name: :name
2439
+ :type: :raw
2440
+ :scale: 0
2441
+ :offset: 0
2442
+ 17:
2443
+ :name: :num_front_gears
2444
+ :type: :raw
2445
+ :scale: 0
2446
+ :offset: 0
2447
+ 18:
2448
+ :name: :front_gears
2449
+ :type: :raw
2450
+ :scale: 0
2451
+ :offset: 0
2452
+ 19:
2453
+ :name: :num_back_gears
2454
+ :type: :raw
2455
+ :scale: 0
2456
+ :offset: 0
2457
+ 20:
2458
+ :name: :back_gears
2459
+ :type: :raw
2460
+ :scale: 0
2461
+ :offset: 0
2462
+ 32:
2463
+ :name: :product
2464
+ :type: :raw
2465
+ :scale: 0
2466
+ :offset: 0
2467
+ 34:
2468
+ :name: :software_version
2469
+ :type: :raw
2470
+ :scale: 0
2471
+ :offset: 0
2472
+ 254:
2473
+ :name: :message_index
2474
+ :type: :message_index
2475
+ :scale: 0
2476
+ :offset: 0