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