File Coverage

blib/lib/Parser/FIT/Profile.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             # WARNING! This file is auto generated by 'build-profile.pl'! Changes will be lost by the next run!
2             package Parser::FIT::Profile;
3 12     12   98 use strict;
  12         50  
  12         669  
4 12     12   95 use warnings;
  12         27  
  12         318461  
5             our $PROFILE = {
6             'accelerometer_data' => {
7             'fields' => {
8             '0' => {
9             'id' => '0',
10             'name' => 'timestamp_ms',
11             'offset' => undef,
12             'scale' => undef,
13             'type' => 'uint16',
14             'unit' => 'ms'
15             },
16             '1' => {
17             'id' => '1',
18             'name' => 'sample_time_offset',
19             'offset' => undef,
20             'scale' => undef,
21             'type' => 'uint16',
22             'unit' => 'ms'
23             },
24             '10' => {
25             'id' => '10',
26             'name' => 'compressed_calibrated_accel_z',
27             'offset' => undef,
28             'scale' => undef,
29             'type' => 'sint16',
30             'unit' => 'mG'
31             },
32             '2' => {
33             'id' => '2',
34             'name' => 'accel_x',
35             'offset' => undef,
36             'scale' => undef,
37             'type' => 'uint16',
38             'unit' => 'counts'
39             },
40             '253' => {
41             'id' => '253',
42             'name' => 'timestamp',
43             'offset' => undef,
44             'scale' => undef,
45             'type' => 'date_time',
46             'unit' => 's'
47             },
48             '3' => {
49             'id' => '3',
50             'name' => 'accel_y',
51             'offset' => undef,
52             'scale' => undef,
53             'type' => 'uint16',
54             'unit' => 'counts'
55             },
56             '4' => {
57             'id' => '4',
58             'name' => 'accel_z',
59             'offset' => undef,
60             'scale' => undef,
61             'type' => 'uint16',
62             'unit' => 'counts'
63             },
64             '5' => {
65             'id' => '5',
66             'name' => 'calibrated_accel_x',
67             'offset' => undef,
68             'scale' => undef,
69             'type' => 'float32',
70             'unit' => 'g'
71             },
72             '6' => {
73             'id' => '6',
74             'name' => 'calibrated_accel_y',
75             'offset' => undef,
76             'scale' => undef,
77             'type' => 'float32',
78             'unit' => 'g'
79             },
80             '7' => {
81             'id' => '7',
82             'name' => 'calibrated_accel_z',
83             'offset' => undef,
84             'scale' => undef,
85             'type' => 'float32',
86             'unit' => 'g'
87             },
88             '8' => {
89             'id' => '8',
90             'name' => 'compressed_calibrated_accel_x',
91             'offset' => undef,
92             'scale' => undef,
93             'type' => 'sint16',
94             'unit' => 'mG'
95             },
96             '9' => {
97             'id' => '9',
98             'name' => 'compressed_calibrated_accel_y',
99             'offset' => undef,
100             'scale' => undef,
101             'type' => 'sint16',
102             'unit' => 'mG'
103             }
104             },
105             'name' => 'accelerometer_data'
106             },
107             'activity' => {
108             'fields' => {
109             '0' => {
110             'id' => '0',
111             'name' => 'total_timer_time',
112             'offset' => undef,
113             'scale' => '1000',
114             'type' => 'uint32',
115             'unit' => 's'
116             },
117             '1' => {
118             'id' => '1',
119             'name' => 'num_sessions',
120             'offset' => undef,
121             'scale' => undef,
122             'type' => 'uint16',
123             'unit' => undef
124             },
125             '2' => {
126             'id' => '2',
127             'name' => 'type',
128             'offset' => undef,
129             'scale' => undef,
130             'type' => 'activity',
131             'unit' => undef
132             },
133             '253' => {
134             'id' => '253',
135             'name' => 'timestamp',
136             'offset' => undef,
137             'scale' => undef,
138             'type' => 'date_time',
139             'unit' => undef
140             },
141             '3' => {
142             'id' => '3',
143             'name' => 'event',
144             'offset' => undef,
145             'scale' => undef,
146             'type' => 'event',
147             'unit' => undef
148             },
149             '4' => {
150             'id' => '4',
151             'name' => 'event_type',
152             'offset' => undef,
153             'scale' => undef,
154             'type' => 'event_type',
155             'unit' => undef
156             },
157             '5' => {
158             'id' => '5',
159             'name' => 'local_timestamp',
160             'offset' => undef,
161             'scale' => undef,
162             'type' => 'local_date_time',
163             'unit' => undef
164             },
165             '6' => {
166             'id' => '6',
167             'name' => 'event_group',
168             'offset' => undef,
169             'scale' => undef,
170             'type' => 'uint8',
171             'unit' => undef
172             }
173             },
174             'name' => 'activity'
175             },
176             'ant_channel_id' => {
177             'fields' => {
178             '0' => {
179             'id' => '0',
180             'name' => 'channel_number',
181             'offset' => undef,
182             'scale' => undef,
183             'type' => 'uint8',
184             'unit' => undef
185             },
186             '1' => {
187             'id' => '1',
188             'name' => 'device_type',
189             'offset' => undef,
190             'scale' => undef,
191             'type' => 'uint8z',
192             'unit' => undef
193             },
194             '2' => {
195             'id' => '2',
196             'name' => 'device_number',
197             'offset' => undef,
198             'scale' => undef,
199             'type' => 'uint16z',
200             'unit' => undef
201             },
202             '3' => {
203             'id' => '3',
204             'name' => 'transmission_type',
205             'offset' => undef,
206             'scale' => undef,
207             'type' => 'uint8z',
208             'unit' => undef
209             },
210             '4' => {
211             'id' => '4',
212             'name' => 'device_index',
213             'offset' => undef,
214             'scale' => undef,
215             'type' => 'device_index',
216             'unit' => undef
217             }
218             },
219             'name' => 'ant_channel_id'
220             },
221             'ant_rx' => {
222             'fields' => {
223             '0' => {
224             'id' => '0',
225             'name' => 'fractional_timestamp',
226             'offset' => undef,
227             'scale' => '32768',
228             'type' => 'uint16',
229             'unit' => 's'
230             },
231             '1' => {
232             'id' => '1',
233             'name' => 'mesg_id',
234             'offset' => undef,
235             'scale' => undef,
236             'type' => 'byte',
237             'unit' => undef
238             },
239             '2' => {
240             'id' => '2',
241             'name' => 'mesg_data',
242             'offset' => undef,
243             'scale' => undef,
244             'type' => 'byte',
245             'unit' => undef
246             },
247             '253' => {
248             'id' => '253',
249             'name' => 'timestamp',
250             'offset' => undef,
251             'scale' => undef,
252             'type' => 'date_time',
253             'unit' => 's'
254             },
255             '3' => {
256             'id' => '3',
257             'name' => 'channel_number',
258             'offset' => undef,
259             'scale' => undef,
260             'type' => 'uint8',
261             'unit' => undef
262             },
263             '4' => {
264             'id' => '4',
265             'name' => 'data',
266             'offset' => undef,
267             'scale' => undef,
268             'type' => 'byte',
269             'unit' => undef
270             }
271             },
272             'name' => 'ant_rx'
273             },
274             'ant_tx' => {
275             'fields' => {
276             '0' => {
277             'id' => '0',
278             'name' => 'fractional_timestamp',
279             'offset' => undef,
280             'scale' => '32768',
281             'type' => 'uint16',
282             'unit' => 's'
283             },
284             '1' => {
285             'id' => '1',
286             'name' => 'mesg_id',
287             'offset' => undef,
288             'scale' => undef,
289             'type' => 'byte',
290             'unit' => undef
291             },
292             '2' => {
293             'id' => '2',
294             'name' => 'mesg_data',
295             'offset' => undef,
296             'scale' => undef,
297             'type' => 'byte',
298             'unit' => undef
299             },
300             '253' => {
301             'id' => '253',
302             'name' => 'timestamp',
303             'offset' => undef,
304             'scale' => undef,
305             'type' => 'date_time',
306             'unit' => 's'
307             },
308             '3' => {
309             'id' => '3',
310             'name' => 'channel_number',
311             'offset' => undef,
312             'scale' => undef,
313             'type' => 'uint8',
314             'unit' => undef
315             },
316             '4' => {
317             'id' => '4',
318             'name' => 'data',
319             'offset' => undef,
320             'scale' => undef,
321             'type' => 'byte',
322             'unit' => undef
323             }
324             },
325             'name' => 'ant_tx'
326             },
327             'aviation_attitude' => {
328             'fields' => {
329             '0' => {
330             'id' => '0',
331             'name' => 'timestamp_ms',
332             'offset' => undef,
333             'scale' => undef,
334             'type' => 'uint16',
335             'unit' => 'ms'
336             },
337             '1' => {
338             'id' => '1',
339             'name' => 'system_time',
340             'offset' => undef,
341             'scale' => undef,
342             'type' => 'uint32',
343             'unit' => 'ms'
344             },
345             '10' => {
346             'id' => '10',
347             'name' => 'validity',
348             'offset' => undef,
349             'scale' => undef,
350             'type' => 'attitude_validity',
351             'unit' => undef
352             },
353             '2' => {
354             'id' => '2',
355             'name' => 'pitch',
356             'offset' => undef,
357             'scale' => '10430,38',
358             'type' => 'sint16',
359             'unit' => 'radians'
360             },
361             '253' => {
362             'id' => '253',
363             'name' => 'timestamp',
364             'offset' => undef,
365             'scale' => undef,
366             'type' => 'date_time',
367             'unit' => 's'
368             },
369             '3' => {
370             'id' => '3',
371             'name' => 'roll',
372             'offset' => undef,
373             'scale' => '10430,38',
374             'type' => 'sint16',
375             'unit' => 'radians'
376             },
377             '4' => {
378             'id' => '4',
379             'name' => 'accel_lateral',
380             'offset' => undef,
381             'scale' => '100',
382             'type' => 'sint16',
383             'unit' => 'm/s^2'
384             },
385             '5' => {
386             'id' => '5',
387             'name' => 'accel_normal',
388             'offset' => undef,
389             'scale' => '100',
390             'type' => 'sint16',
391             'unit' => 'm/s^2'
392             },
393             '6' => {
394             'id' => '6',
395             'name' => 'turn_rate',
396             'offset' => undef,
397             'scale' => '1024',
398             'type' => 'sint16',
399             'unit' => 'radians/second'
400             },
401             '7' => {
402             'id' => '7',
403             'name' => 'stage',
404             'offset' => undef,
405             'scale' => undef,
406             'type' => 'attitude_stage',
407             'unit' => undef
408             },
409             '8' => {
410             'id' => '8',
411             'name' => 'attitude_stage_complete',
412             'offset' => undef,
413             'scale' => undef,
414             'type' => 'uint8',
415             'unit' => '%'
416             },
417             '9' => {
418             'id' => '9',
419             'name' => 'track',
420             'offset' => undef,
421             'scale' => '10430,38',
422             'type' => 'uint16',
423             'unit' => 'radians'
424             }
425             },
426             'name' => 'aviation_attitude'
427             },
428             'barometer_data' => {
429             'fields' => {
430             '0' => {
431             'id' => '0',
432             'name' => 'timestamp_ms',
433             'offset' => undef,
434             'scale' => undef,
435             'type' => 'uint16',
436             'unit' => 'ms'
437             },
438             '1' => {
439             'id' => '1',
440             'name' => 'sample_time_offset',
441             'offset' => undef,
442             'scale' => undef,
443             'type' => 'uint16',
444             'unit' => 'ms'
445             },
446             '2' => {
447             'id' => '2',
448             'name' => 'baro_pres',
449             'offset' => undef,
450             'scale' => undef,
451             'type' => 'uint32',
452             'unit' => 'Pa'
453             },
454             '253' => {
455             'id' => '253',
456             'name' => 'timestamp',
457             'offset' => undef,
458             'scale' => undef,
459             'type' => 'date_time',
460             'unit' => 's'
461             }
462             },
463             'name' => 'barometer_data'
464             },
465             'bike_profile' => {
466             'fields' => {
467             '0' => {
468             'id' => '0',
469             'name' => 'name',
470             'offset' => undef,
471             'scale' => undef,
472             'type' => 'string',
473             'unit' => undef
474             },
475             '1' => {
476             'id' => '1',
477             'name' => 'sport',
478             'offset' => undef,
479             'scale' => undef,
480             'type' => 'sport',
481             'unit' => undef
482             },
483             '10' => {
484             'id' => '10',
485             'name' => 'bike_weight',
486             'offset' => undef,
487             'scale' => '10',
488             'type' => 'uint16',
489             'unit' => 'kg'
490             },
491             '11' => {
492             'id' => '11',
493             'name' => 'power_cal_factor',
494             'offset' => undef,
495             'scale' => '10',
496             'type' => 'uint16',
497             'unit' => '%'
498             },
499             '12' => {
500             'id' => '12',
501             'name' => 'auto_wheel_cal',
502             'offset' => undef,
503             'scale' => undef,
504             'type' => 'bool',
505             'unit' => undef
506             },
507             '13' => {
508             'id' => '13',
509             'name' => 'auto_power_zero',
510             'offset' => undef,
511             'scale' => undef,
512             'type' => 'bool',
513             'unit' => undef
514             },
515             '14' => {
516             'id' => '14',
517             'name' => 'id',
518             'offset' => undef,
519             'scale' => undef,
520             'type' => 'uint8',
521             'unit' => undef
522             },
523             '15' => {
524             'id' => '15',
525             'name' => 'spd_enabled',
526             'offset' => undef,
527             'scale' => undef,
528             'type' => 'bool',
529             'unit' => undef
530             },
531             '16' => {
532             'id' => '16',
533             'name' => 'cad_enabled',
534             'offset' => undef,
535             'scale' => undef,
536             'type' => 'bool',
537             'unit' => undef
538             },
539             '17' => {
540             'id' => '17',
541             'name' => 'spdcad_enabled',
542             'offset' => undef,
543             'scale' => undef,
544             'type' => 'bool',
545             'unit' => undef
546             },
547             '18' => {
548             'id' => '18',
549             'name' => 'power_enabled',
550             'offset' => undef,
551             'scale' => undef,
552             'type' => 'bool',
553             'unit' => undef
554             },
555             '19' => {
556             'id' => '19',
557             'name' => 'crank_length',
558             'offset' => '-110',
559             'scale' => '2',
560             'type' => 'uint8',
561             'unit' => 'mm'
562             },
563             '2' => {
564             'id' => '2',
565             'name' => 'sub_sport',
566             'offset' => undef,
567             'scale' => undef,
568             'type' => 'sub_sport',
569             'unit' => undef
570             },
571             '20' => {
572             'id' => '20',
573             'name' => 'enabled',
574             'offset' => undef,
575             'scale' => undef,
576             'type' => 'bool',
577             'unit' => undef
578             },
579             '21' => {
580             'id' => '21',
581             'name' => 'bike_spd_ant_id_trans_type',
582             'offset' => undef,
583             'scale' => undef,
584             'type' => 'uint8z',
585             'unit' => undef
586             },
587             '22' => {
588             'id' => '22',
589             'name' => 'bike_cad_ant_id_trans_type',
590             'offset' => undef,
591             'scale' => undef,
592             'type' => 'uint8z',
593             'unit' => undef
594             },
595             '23' => {
596             'id' => '23',
597             'name' => 'bike_spdcad_ant_id_trans_type',
598             'offset' => undef,
599             'scale' => undef,
600             'type' => 'uint8z',
601             'unit' => undef
602             },
603             '24' => {
604             'id' => '24',
605             'name' => 'bike_power_ant_id_trans_type',
606             'offset' => undef,
607             'scale' => undef,
608             'type' => 'uint8z',
609             'unit' => undef
610             },
611             '254' => {
612             'id' => '254',
613             'name' => 'message_index',
614             'offset' => undef,
615             'scale' => undef,
616             'type' => 'message_index',
617             'unit' => undef
618             },
619             '3' => {
620             'id' => '3',
621             'name' => 'odometer',
622             'offset' => undef,
623             'scale' => '100',
624             'type' => 'uint32',
625             'unit' => 'm'
626             },
627             '37' => {
628             'id' => '37',
629             'name' => 'odometer_rollover',
630             'offset' => undef,
631             'scale' => undef,
632             'type' => 'uint8',
633             'unit' => undef
634             },
635             '38' => {
636             'id' => '38',
637             'name' => 'front_gear_num',
638             'offset' => undef,
639             'scale' => undef,
640             'type' => 'uint8z',
641             'unit' => undef
642             },
643             '39' => {
644             'id' => '39',
645             'name' => 'front_gear',
646             'offset' => undef,
647             'scale' => undef,
648             'type' => 'uint8z',
649             'unit' => undef
650             },
651             '4' => {
652             'id' => '4',
653             'name' => 'bike_spd_ant_id',
654             'offset' => undef,
655             'scale' => undef,
656             'type' => 'uint16z',
657             'unit' => undef
658             },
659             '40' => {
660             'id' => '40',
661             'name' => 'rear_gear_num',
662             'offset' => undef,
663             'scale' => undef,
664             'type' => 'uint8z',
665             'unit' => undef
666             },
667             '41' => {
668             'id' => '41',
669             'name' => 'rear_gear',
670             'offset' => undef,
671             'scale' => undef,
672             'type' => 'uint8z',
673             'unit' => undef
674             },
675             '44' => {
676             'id' => '44',
677             'name' => 'shimano_di2_enabled',
678             'offset' => undef,
679             'scale' => undef,
680             'type' => 'bool',
681             'unit' => undef
682             },
683             '5' => {
684             'id' => '5',
685             'name' => 'bike_cad_ant_id',
686             'offset' => undef,
687             'scale' => undef,
688             'type' => 'uint16z',
689             'unit' => undef
690             },
691             '6' => {
692             'id' => '6',
693             'name' => 'bike_spdcad_ant_id',
694             'offset' => undef,
695             'scale' => undef,
696             'type' => 'uint16z',
697             'unit' => undef
698             },
699             '7' => {
700             'id' => '7',
701             'name' => 'bike_power_ant_id',
702             'offset' => undef,
703             'scale' => undef,
704             'type' => 'uint16z',
705             'unit' => undef
706             },
707             '8' => {
708             'id' => '8',
709             'name' => 'custom_wheelsize',
710             'offset' => undef,
711             'scale' => '1000',
712             'type' => 'uint16',
713             'unit' => 'm'
714             },
715             '9' => {
716             'id' => '9',
717             'name' => 'auto_wheelsize',
718             'offset' => undef,
719             'scale' => '1000',
720             'type' => 'uint16',
721             'unit' => 'm'
722             }
723             },
724             'name' => 'bike_profile'
725             },
726             'blood_pressure' => {
727             'fields' => {
728             '0' => {
729             'id' => '0',
730             'name' => 'systolic_pressure',
731             'offset' => undef,
732             'scale' => undef,
733             'type' => 'uint16',
734             'unit' => 'mmHg'
735             },
736             '1' => {
737             'id' => '1',
738             'name' => 'diastolic_pressure',
739             'offset' => undef,
740             'scale' => undef,
741             'type' => 'uint16',
742             'unit' => 'mmHg'
743             },
744             '2' => {
745             'id' => '2',
746             'name' => 'mean_arterial_pressure',
747             'offset' => undef,
748             'scale' => undef,
749             'type' => 'uint16',
750             'unit' => 'mmHg'
751             },
752             '253' => {
753             'id' => '253',
754             'name' => 'timestamp',
755             'offset' => undef,
756             'scale' => undef,
757             'type' => 'date_time',
758             'unit' => 's'
759             },
760             '3' => {
761             'id' => '3',
762             'name' => 'map_3_sample_mean',
763             'offset' => undef,
764             'scale' => undef,
765             'type' => 'uint16',
766             'unit' => 'mmHg'
767             },
768             '4' => {
769             'id' => '4',
770             'name' => 'map_morning_values',
771             'offset' => undef,
772             'scale' => undef,
773             'type' => 'uint16',
774             'unit' => 'mmHg'
775             },
776             '5' => {
777             'id' => '5',
778             'name' => 'map_evening_values',
779             'offset' => undef,
780             'scale' => undef,
781             'type' => 'uint16',
782             'unit' => 'mmHg'
783             },
784             '6' => {
785             'id' => '6',
786             'name' => 'heart_rate',
787             'offset' => undef,
788             'scale' => undef,
789             'type' => 'uint8',
790             'unit' => 'bpm'
791             },
792             '7' => {
793             'id' => '7',
794             'name' => 'heart_rate_type',
795             'offset' => undef,
796             'scale' => undef,
797             'type' => 'hr_type',
798             'unit' => undef
799             },
800             '8' => {
801             'id' => '8',
802             'name' => 'status',
803             'offset' => undef,
804             'scale' => undef,
805             'type' => 'bp_status',
806             'unit' => undef
807             },
808             '9' => {
809             'id' => '9',
810             'name' => 'user_profile_index',
811             'offset' => undef,
812             'scale' => undef,
813             'type' => 'message_index',
814             'unit' => undef
815             }
816             },
817             'name' => 'blood_pressure'
818             },
819             'cadence_zone' => {
820             'fields' => {
821             '0' => {
822             'id' => '0',
823             'name' => 'high_value',
824             'offset' => undef,
825             'scale' => undef,
826             'type' => 'uint8',
827             'unit' => 'rpm'
828             },
829             '1' => {
830             'id' => '1',
831             'name' => 'name',
832             'offset' => undef,
833             'scale' => undef,
834             'type' => 'string',
835             'unit' => undef
836             },
837             '254' => {
838             'id' => '254',
839             'name' => 'message_index',
840             'offset' => undef,
841             'scale' => undef,
842             'type' => 'message_index',
843             'unit' => undef
844             }
845             },
846             'name' => 'cadence_zone'
847             },
848             'camera_event' => {
849             'fields' => {
850             '0' => {
851             'id' => '0',
852             'name' => 'timestamp_ms',
853             'offset' => undef,
854             'scale' => undef,
855             'type' => 'uint16',
856             'unit' => 'ms'
857             },
858             '1' => {
859             'id' => '1',
860             'name' => 'camera_event_type',
861             'offset' => undef,
862             'scale' => undef,
863             'type' => 'camera_event_type',
864             'unit' => undef
865             },
866             '2' => {
867             'id' => '2',
868             'name' => 'camera_file_uuid',
869             'offset' => undef,
870             'scale' => undef,
871             'type' => 'string',
872             'unit' => undef
873             },
874             '253' => {
875             'id' => '253',
876             'name' => 'timestamp',
877             'offset' => undef,
878             'scale' => undef,
879             'type' => 'date_time',
880             'unit' => 's'
881             },
882             '3' => {
883             'id' => '3',
884             'name' => 'camera_orientation',
885             'offset' => undef,
886             'scale' => undef,
887             'type' => 'camera_orientation_type',
888             'unit' => undef
889             }
890             },
891             'name' => 'camera_event'
892             },
893             'capabilities' => {
894             'fields' => {
895             '0' => {
896             'id' => '0',
897             'name' => 'languages',
898             'offset' => undef,
899             'scale' => undef,
900             'type' => 'uint8z',
901             'unit' => undef
902             },
903             '1' => {
904             'id' => '1',
905             'name' => 'sports',
906             'offset' => undef,
907             'scale' => undef,
908             'type' => 'sport_bits_0',
909             'unit' => undef
910             },
911             '21' => {
912             'id' => '21',
913             'name' => 'workouts_supported',
914             'offset' => undef,
915             'scale' => undef,
916             'type' => 'workout_capabilities',
917             'unit' => undef
918             },
919             '23' => {
920             'id' => '23',
921             'name' => 'connectivity_supported',
922             'offset' => undef,
923             'scale' => undef,
924             'type' => 'connectivity_capabilities',
925             'unit' => undef
926             }
927             },
928             'name' => 'capabilities'
929             },
930             'climb_pro' => {
931             'fields' => {
932             '0' => {
933             'id' => '0',
934             'name' => 'position_lat',
935             'offset' => undef,
936             'scale' => undef,
937             'type' => 'sint32',
938             'unit' => 'semicircles'
939             },
940             '1' => {
941             'id' => '1',
942             'name' => 'position_long',
943             'offset' => undef,
944             'scale' => undef,
945             'type' => 'sint32',
946             'unit' => 'semicircles'
947             },
948             '2' => {
949             'id' => '2',
950             'name' => 'climb_pro_event',
951             'offset' => undef,
952             'scale' => undef,
953             'type' => 'climb_pro_event',
954             'unit' => undef
955             },
956             '253' => {
957             'id' => '253',
958             'name' => 'timestamp',
959             'offset' => undef,
960             'scale' => undef,
961             'type' => 'date_time',
962             'unit' => 's'
963             },
964             '3' => {
965             'id' => '3',
966             'name' => 'climb_number',
967             'offset' => undef,
968             'scale' => undef,
969             'type' => 'uint16',
970             'unit' => undef
971             },
972             '4' => {
973             'id' => '4',
974             'name' => 'climb_category',
975             'offset' => undef,
976             'scale' => undef,
977             'type' => 'uint8',
978             'unit' => undef
979             },
980             '5' => {
981             'id' => '5',
982             'name' => 'current_dist',
983             'offset' => undef,
984             'scale' => undef,
985             'type' => 'float32',
986             'unit' => 'm'
987             }
988             },
989             'name' => 'climb_pro'
990             },
991             'connectivity' => {
992             'fields' => {
993             '0' => {
994             'id' => '0',
995             'name' => 'bluetooth_enabled',
996             'offset' => undef,
997             'scale' => undef,
998             'type' => 'bool',
999             'unit' => undef
1000             },
1001             '1' => {
1002             'id' => '1',
1003             'name' => 'bluetooth_le_enabled',
1004             'offset' => undef,
1005             'scale' => undef,
1006             'type' => 'bool',
1007             'unit' => undef
1008             },
1009             '10' => {
1010             'id' => '10',
1011             'name' => 'gps_ephemeris_download_enabled',
1012             'offset' => undef,
1013             'scale' => undef,
1014             'type' => 'bool',
1015             'unit' => undef
1016             },
1017             '11' => {
1018             'id' => '11',
1019             'name' => 'incident_detection_enabled',
1020             'offset' => undef,
1021             'scale' => undef,
1022             'type' => 'bool',
1023             'unit' => undef
1024             },
1025             '12' => {
1026             'id' => '12',
1027             'name' => 'grouptrack_enabled',
1028             'offset' => undef,
1029             'scale' => undef,
1030             'type' => 'bool',
1031             'unit' => undef
1032             },
1033             '2' => {
1034             'id' => '2',
1035             'name' => 'ant_enabled',
1036             'offset' => undef,
1037             'scale' => undef,
1038             'type' => 'bool',
1039             'unit' => undef
1040             },
1041             '3' => {
1042             'id' => '3',
1043             'name' => 'name',
1044             'offset' => undef,
1045             'scale' => undef,
1046             'type' => 'string',
1047             'unit' => undef
1048             },
1049             '4' => {
1050             'id' => '4',
1051             'name' => 'live_tracking_enabled',
1052             'offset' => undef,
1053             'scale' => undef,
1054             'type' => 'bool',
1055             'unit' => undef
1056             },
1057             '5' => {
1058             'id' => '5',
1059             'name' => 'weather_conditions_enabled',
1060             'offset' => undef,
1061             'scale' => undef,
1062             'type' => 'bool',
1063             'unit' => undef
1064             },
1065             '6' => {
1066             'id' => '6',
1067             'name' => 'weather_alerts_enabled',
1068             'offset' => undef,
1069             'scale' => undef,
1070             'type' => 'bool',
1071             'unit' => undef
1072             },
1073             '7' => {
1074             'id' => '7',
1075             'name' => 'auto_activity_upload_enabled',
1076             'offset' => undef,
1077             'scale' => undef,
1078             'type' => 'bool',
1079             'unit' => undef
1080             },
1081             '8' => {
1082             'id' => '8',
1083             'name' => 'course_download_enabled',
1084             'offset' => undef,
1085             'scale' => undef,
1086             'type' => 'bool',
1087             'unit' => undef
1088             },
1089             '9' => {
1090             'id' => '9',
1091             'name' => 'workout_download_enabled',
1092             'offset' => undef,
1093             'scale' => undef,
1094             'type' => 'bool',
1095             'unit' => undef
1096             }
1097             },
1098             'name' => 'connectivity'
1099             },
1100             'course' => {
1101             'fields' => {
1102             '4' => {
1103             'id' => '4',
1104             'name' => 'sport',
1105             'offset' => undef,
1106             'scale' => undef,
1107             'type' => 'sport',
1108             'unit' => undef
1109             },
1110             '5' => {
1111             'id' => '5',
1112             'name' => 'name',
1113             'offset' => undef,
1114             'scale' => undef,
1115             'type' => 'string',
1116             'unit' => undef
1117             },
1118             '6' => {
1119             'id' => '6',
1120             'name' => 'capabilities',
1121             'offset' => undef,
1122             'scale' => undef,
1123             'type' => 'course_capabilities',
1124             'unit' => undef
1125             },
1126             '7' => {
1127             'id' => '7',
1128             'name' => 'sub_sport',
1129             'offset' => undef,
1130             'scale' => undef,
1131             'type' => 'sub_sport',
1132             'unit' => undef
1133             }
1134             },
1135             'name' => 'course'
1136             },
1137             'course_point' => {
1138             'fields' => {
1139             '1' => {
1140             'id' => '1',
1141             'name' => 'timestamp',
1142             'offset' => undef,
1143             'scale' => undef,
1144             'type' => 'date_time',
1145             'unit' => undef
1146             },
1147             '2' => {
1148             'id' => '2',
1149             'name' => 'position_lat',
1150             'offset' => undef,
1151             'scale' => undef,
1152             'type' => 'sint32',
1153             'unit' => 'semicircles'
1154             },
1155             '254' => {
1156             'id' => '254',
1157             'name' => 'message_index',
1158             'offset' => undef,
1159             'scale' => undef,
1160             'type' => 'message_index',
1161             'unit' => undef
1162             },
1163             '3' => {
1164             'id' => '3',
1165             'name' => 'position_long',
1166             'offset' => undef,
1167             'scale' => undef,
1168             'type' => 'sint32',
1169             'unit' => 'semicircles'
1170             },
1171             '4' => {
1172             'id' => '4',
1173             'name' => 'distance',
1174             'offset' => undef,
1175             'scale' => '100',
1176             'type' => 'uint32',
1177             'unit' => 'm'
1178             },
1179             '5' => {
1180             'id' => '5',
1181             'name' => 'type',
1182             'offset' => undef,
1183             'scale' => undef,
1184             'type' => 'course_point',
1185             'unit' => undef
1186             },
1187             '6' => {
1188             'id' => '6',
1189             'name' => 'name',
1190             'offset' => undef,
1191             'scale' => undef,
1192             'type' => 'string',
1193             'unit' => undef
1194             },
1195             '8' => {
1196             'id' => '8',
1197             'name' => 'favorite',
1198             'offset' => undef,
1199             'scale' => undef,
1200             'type' => 'bool',
1201             'unit' => undef
1202             }
1203             },
1204             'name' => 'course_point'
1205             },
1206             'developer_data_id' => {
1207             'fields' => {
1208             '0' => {
1209             'id' => '0',
1210             'name' => 'developer_id',
1211             'offset' => undef,
1212             'scale' => undef,
1213             'type' => 'byte',
1214             'unit' => undef
1215             },
1216             '1' => {
1217             'id' => '1',
1218             'name' => 'application_id',
1219             'offset' => undef,
1220             'scale' => undef,
1221             'type' => 'byte',
1222             'unit' => undef
1223             },
1224             '2' => {
1225             'id' => '2',
1226             'name' => 'manufacturer_id',
1227             'offset' => undef,
1228             'scale' => undef,
1229             'type' => 'manufacturer',
1230             'unit' => undef
1231             },
1232             '3' => {
1233             'id' => '3',
1234             'name' => 'developer_data_index',
1235             'offset' => undef,
1236             'scale' => undef,
1237             'type' => 'uint8',
1238             'unit' => undef
1239             },
1240             '4' => {
1241             'id' => '4',
1242             'name' => 'application_version',
1243             'offset' => undef,
1244             'scale' => undef,
1245             'type' => 'uint32',
1246             'unit' => undef
1247             }
1248             },
1249             'name' => 'developer_data_id'
1250             },
1251             'device_info' => {
1252             'fields' => {
1253             '0' => {
1254             'id' => '0',
1255             'name' => 'device_index',
1256             'offset' => undef,
1257             'scale' => undef,
1258             'type' => 'device_index',
1259             'unit' => undef
1260             },
1261             '1' => {
1262             'id' => '1',
1263             'name' => 'device_type',
1264             'offset' => undef,
1265             'scale' => undef,
1266             'type' => 'uint8',
1267             'unit' => undef
1268             },
1269             '10' => {
1270             'id' => '10',
1271             'name' => 'battery_voltage',
1272             'offset' => undef,
1273             'scale' => '256',
1274             'type' => 'uint16',
1275             'unit' => 'V'
1276             },
1277             '11' => {
1278             'id' => '11',
1279             'name' => 'battery_status',
1280             'offset' => undef,
1281             'scale' => undef,
1282             'type' => 'battery_status',
1283             'unit' => undef
1284             },
1285             '18' => {
1286             'id' => '18',
1287             'name' => 'sensor_position',
1288             'offset' => undef,
1289             'scale' => undef,
1290             'type' => 'body_location',
1291             'unit' => undef
1292             },
1293             '19' => {
1294             'id' => '19',
1295             'name' => 'descriptor',
1296             'offset' => undef,
1297             'scale' => undef,
1298             'type' => 'string',
1299             'unit' => undef
1300             },
1301             '2' => {
1302             'id' => '2',
1303             'name' => 'manufacturer',
1304             'offset' => undef,
1305             'scale' => undef,
1306             'type' => 'manufacturer',
1307             'unit' => undef
1308             },
1309             '20' => {
1310             'id' => '20',
1311             'name' => 'ant_transmission_type',
1312             'offset' => undef,
1313             'scale' => undef,
1314             'type' => 'uint8z',
1315             'unit' => undef
1316             },
1317             '21' => {
1318             'id' => '21',
1319             'name' => 'ant_device_number',
1320             'offset' => undef,
1321             'scale' => undef,
1322             'type' => 'uint16z',
1323             'unit' => undef
1324             },
1325             '22' => {
1326             'id' => '22',
1327             'name' => 'ant_network',
1328             'offset' => undef,
1329             'scale' => undef,
1330             'type' => 'ant_network',
1331             'unit' => undef
1332             },
1333             '25' => {
1334             'id' => '25',
1335             'name' => 'source_type',
1336             'offset' => undef,
1337             'scale' => undef,
1338             'type' => 'source_type',
1339             'unit' => undef
1340             },
1341             '253' => {
1342             'id' => '253',
1343             'name' => 'timestamp',
1344             'offset' => undef,
1345             'scale' => undef,
1346             'type' => 'date_time',
1347             'unit' => 's'
1348             },
1349             '27' => {
1350             'id' => '27',
1351             'name' => 'product_name',
1352             'offset' => undef,
1353             'scale' => undef,
1354             'type' => 'string',
1355             'unit' => undef
1356             },
1357             '3' => {
1358             'id' => '3',
1359             'name' => 'serial_number',
1360             'offset' => undef,
1361             'scale' => undef,
1362             'type' => 'uint32z',
1363             'unit' => undef
1364             },
1365             '4' => {
1366             'id' => '4',
1367             'name' => 'product',
1368             'offset' => undef,
1369             'scale' => undef,
1370             'type' => 'uint16',
1371             'unit' => undef
1372             },
1373             '5' => {
1374             'id' => '5',
1375             'name' => 'software_version',
1376             'offset' => undef,
1377             'scale' => '100',
1378             'type' => 'uint16',
1379             'unit' => undef
1380             },
1381             '6' => {
1382             'id' => '6',
1383             'name' => 'hardware_version',
1384             'offset' => undef,
1385             'scale' => undef,
1386             'type' => 'uint8',
1387             'unit' => undef
1388             },
1389             '7' => {
1390             'id' => '7',
1391             'name' => 'cum_operating_time',
1392             'offset' => undef,
1393             'scale' => undef,
1394             'type' => 'uint32',
1395             'unit' => 's'
1396             }
1397             },
1398             'name' => 'device_info'
1399             },
1400             'device_settings' => {
1401             'fields' => {
1402             '0' => {
1403             'id' => '0',
1404             'name' => 'active_time_zone',
1405             'offset' => undef,
1406             'scale' => undef,
1407             'type' => 'uint8',
1408             'unit' => undef
1409             },
1410             '1' => {
1411             'id' => '1',
1412             'name' => 'utc_offset',
1413             'offset' => undef,
1414             'scale' => undef,
1415             'type' => 'uint32',
1416             'unit' => undef
1417             },
1418             '12' => {
1419             'id' => '12',
1420             'name' => 'backlight_mode',
1421             'offset' => undef,
1422             'scale' => undef,
1423             'type' => 'backlight_mode',
1424             'unit' => undef
1425             },
1426             '134' => {
1427             'id' => '134',
1428             'name' => 'tap_interface',
1429             'offset' => undef,
1430             'scale' => undef,
1431             'type' => 'switch',
1432             'unit' => undef
1433             },
1434             '174' => {
1435             'id' => '174',
1436             'name' => 'tap_sensitivity',
1437             'offset' => '1',
1438             'scale' => undef,
1439             'type' => 'tap_sensitivity',
1440             'unit' => undef
1441             },
1442             '2' => {
1443             'id' => '2',
1444             'name' => 'time_offset',
1445             'offset' => undef,
1446             'scale' => undef,
1447             'type' => 'uint32',
1448             'unit' => 's'
1449             },
1450             '36' => {
1451             'id' => '36',
1452             'name' => 'activity_tracker_enabled',
1453             'offset' => undef,
1454             'scale' => undef,
1455             'type' => 'bool',
1456             'unit' => undef
1457             },
1458             '39' => {
1459             'id' => '39',
1460             'name' => 'clock_time',
1461             'offset' => undef,
1462             'scale' => undef,
1463             'type' => 'date_time',
1464             'unit' => undef
1465             },
1466             '4' => {
1467             'id' => '4',
1468             'name' => 'time_mode',
1469             'offset' => undef,
1470             'scale' => undef,
1471             'type' => 'time_mode',
1472             'unit' => undef
1473             },
1474             '40' => {
1475             'id' => '40',
1476             'name' => 'pages_enabled',
1477             'offset' => undef,
1478             'scale' => undef,
1479             'type' => 'uint16',
1480             'unit' => undef
1481             },
1482             '46' => {
1483             'id' => '46',
1484             'name' => 'move_alert_enabled',
1485             'offset' => undef,
1486             'scale' => undef,
1487             'type' => 'bool',
1488             'unit' => undef
1489             },
1490             '47' => {
1491             'id' => '47',
1492             'name' => 'date_mode',
1493             'offset' => undef,
1494             'scale' => undef,
1495             'type' => 'date_mode',
1496             'unit' => undef
1497             },
1498             '5' => {
1499             'id' => '5',
1500             'name' => 'time_zone_offset',
1501             'offset' => undef,
1502             'scale' => '4',
1503             'type' => 'sint8',
1504             'unit' => 'hr'
1505             },
1506             '55' => {
1507             'id' => '55',
1508             'name' => 'display_orientation',
1509             'offset' => undef,
1510             'scale' => undef,
1511             'type' => 'display_orientation',
1512             'unit' => undef
1513             },
1514             '56' => {
1515             'id' => '56',
1516             'name' => 'mounting_side',
1517             'offset' => undef,
1518             'scale' => undef,
1519             'type' => 'side',
1520             'unit' => undef
1521             },
1522             '57' => {
1523             'id' => '57',
1524             'name' => 'default_page',
1525             'offset' => undef,
1526             'scale' => undef,
1527             'type' => 'uint16',
1528             'unit' => undef
1529             },
1530             '58' => {
1531             'id' => '58',
1532             'name' => 'autosync_min_steps',
1533             'offset' => undef,
1534             'scale' => undef,
1535             'type' => 'uint16',
1536             'unit' => 'steps'
1537             },
1538             '59' => {
1539             'id' => '59',
1540             'name' => 'autosync_min_time',
1541             'offset' => undef,
1542             'scale' => undef,
1543             'type' => 'uint16',
1544             'unit' => 'minutes'
1545             },
1546             '80' => {
1547             'id' => '80',
1548             'name' => 'lactate_threshold_autodetect_enabled',
1549             'offset' => undef,
1550             'scale' => undef,
1551             'type' => 'bool',
1552             'unit' => undef
1553             },
1554             '86' => {
1555             'id' => '86',
1556             'name' => 'ble_auto_upload_enabled',
1557             'offset' => undef,
1558             'scale' => undef,
1559             'type' => 'bool',
1560             'unit' => undef
1561             },
1562             '89' => {
1563             'id' => '89',
1564             'name' => 'auto_sync_frequency',
1565             'offset' => undef,
1566             'scale' => undef,
1567             'type' => 'auto_sync_frequency',
1568             'unit' => undef
1569             },
1570             '90' => {
1571             'id' => '90',
1572             'name' => 'auto_activity_detect',
1573             'offset' => undef,
1574             'scale' => undef,
1575             'type' => 'auto_activity_detect',
1576             'unit' => undef
1577             },
1578             '94' => {
1579             'id' => '94',
1580             'name' => 'number_of_screens',
1581             'offset' => undef,
1582             'scale' => undef,
1583             'type' => 'uint8',
1584             'unit' => undef
1585             },
1586             '95' => {
1587             'id' => '95',
1588             'name' => 'smart_notification_display_orientation',
1589             'offset' => undef,
1590             'scale' => undef,
1591             'type' => 'display_orientation',
1592             'unit' => undef
1593             }
1594             },
1595             'name' => 'device_settings'
1596             },
1597             'dive_alarm' => {
1598             'fields' => {
1599             '0' => {
1600             'id' => '0',
1601             'name' => 'depth',
1602             'offset' => undef,
1603             'scale' => '1000',
1604             'type' => 'uint32',
1605             'unit' => 'm'
1606             },
1607             '1' => {
1608             'id' => '1',
1609             'name' => 'time',
1610             'offset' => undef,
1611             'scale' => '1',
1612             'type' => 'sint32',
1613             'unit' => 's'
1614             },
1615             '2' => {
1616             'id' => '2',
1617             'name' => 'enabled',
1618             'offset' => undef,
1619             'scale' => undef,
1620             'type' => 'bool',
1621             'unit' => undef
1622             },
1623             '254' => {
1624             'id' => '254',
1625             'name' => 'message_index',
1626             'offset' => undef,
1627             'scale' => undef,
1628             'type' => 'message_index',
1629             'unit' => undef
1630             },
1631             '3' => {
1632             'id' => '3',
1633             'name' => 'alarm_type',
1634             'offset' => undef,
1635             'scale' => undef,
1636             'type' => 'dive_alarm_type',
1637             'unit' => undef
1638             },
1639             '4' => {
1640             'id' => '4',
1641             'name' => 'sound',
1642             'offset' => undef,
1643             'scale' => undef,
1644             'type' => 'tone',
1645             'unit' => undef
1646             },
1647             '5' => {
1648             'id' => '5',
1649             'name' => 'dive_types',
1650             'offset' => undef,
1651             'scale' => undef,
1652             'type' => 'sub_sport',
1653             'unit' => undef
1654             }
1655             },
1656             'name' => 'dive_alarm'
1657             },
1658             'dive_gas' => {
1659             'fields' => {
1660             '0' => {
1661             'id' => '0',
1662             'name' => 'helium_content',
1663             'offset' => undef,
1664             'scale' => undef,
1665             'type' => 'uint8',
1666             'unit' => '%'
1667             },
1668             '1' => {
1669             'id' => '1',
1670             'name' => 'oxygen_content',
1671             'offset' => undef,
1672             'scale' => undef,
1673             'type' => 'uint8',
1674             'unit' => '%'
1675             },
1676             '2' => {
1677             'id' => '2',
1678             'name' => 'status',
1679             'offset' => undef,
1680             'scale' => undef,
1681             'type' => 'dive_gas_status',
1682             'unit' => undef
1683             },
1684             '254' => {
1685             'id' => '254',
1686             'name' => 'message_index',
1687             'offset' => undef,
1688             'scale' => undef,
1689             'type' => 'message_index',
1690             'unit' => undef
1691             }
1692             },
1693             'name' => 'dive_gas'
1694             },
1695             'dive_settings' => {
1696             'fields' => {
1697             '0' => {
1698             'id' => '0',
1699             'name' => 'name',
1700             'offset' => undef,
1701             'scale' => undef,
1702             'type' => 'string',
1703             'unit' => undef
1704             },
1705             '1' => {
1706             'id' => '1',
1707             'name' => 'model',
1708             'offset' => undef,
1709             'scale' => undef,
1710             'type' => 'tissue_model_type',
1711             'unit' => undef
1712             },
1713             '10' => {
1714             'id' => '10',
1715             'name' => 'bottom_depth',
1716             'offset' => undef,
1717             'scale' => undef,
1718             'type' => 'float32',
1719             'unit' => undef
1720             },
1721             '11' => {
1722             'id' => '11',
1723             'name' => 'bottom_time',
1724             'offset' => undef,
1725             'scale' => undef,
1726             'type' => 'uint32',
1727             'unit' => undef
1728             },
1729             '12' => {
1730             'id' => '12',
1731             'name' => 'apnea_countdown_enabled',
1732             'offset' => undef,
1733             'scale' => undef,
1734             'type' => 'bool',
1735             'unit' => undef
1736             },
1737             '13' => {
1738             'id' => '13',
1739             'name' => 'apnea_countdown_time',
1740             'offset' => undef,
1741             'scale' => undef,
1742             'type' => 'uint32',
1743             'unit' => undef
1744             },
1745             '14' => {
1746             'id' => '14',
1747             'name' => 'backlight_mode',
1748             'offset' => undef,
1749             'scale' => undef,
1750             'type' => 'dive_backlight_mode',
1751             'unit' => undef
1752             },
1753             '15' => {
1754             'id' => '15',
1755             'name' => 'backlight_brightness',
1756             'offset' => undef,
1757             'scale' => undef,
1758             'type' => 'uint8',
1759             'unit' => undef
1760             },
1761             '16' => {
1762             'id' => '16',
1763             'name' => 'backlight_timeout',
1764             'offset' => undef,
1765             'scale' => undef,
1766             'type' => 'backlight_timeout',
1767             'unit' => undef
1768             },
1769             '17' => {
1770             'id' => '17',
1771             'name' => 'repeat_dive_interval',
1772             'offset' => undef,
1773             'scale' => '1',
1774             'type' => 'uint16',
1775             'unit' => 's'
1776             },
1777             '18' => {
1778             'id' => '18',
1779             'name' => 'safety_stop_time',
1780             'offset' => undef,
1781             'scale' => '1',
1782             'type' => 'uint16',
1783             'unit' => 's'
1784             },
1785             '19' => {
1786             'id' => '19',
1787             'name' => 'heart_rate_source_type',
1788             'offset' => undef,
1789             'scale' => undef,
1790             'type' => 'source_type',
1791             'unit' => undef
1792             },
1793             '2' => {
1794             'id' => '2',
1795             'name' => 'gf_low',
1796             'offset' => undef,
1797             'scale' => undef,
1798             'type' => 'uint8',
1799             'unit' => '%'
1800             },
1801             '20' => {
1802             'id' => '20',
1803             'name' => 'heart_rate_source',
1804             'offset' => undef,
1805             'scale' => undef,
1806             'type' => 'uint8',
1807             'unit' => undef
1808             },
1809             '254' => {
1810             'id' => '254',
1811             'name' => 'message_index',
1812             'offset' => undef,
1813             'scale' => undef,
1814             'type' => 'message_index',
1815             'unit' => undef
1816             },
1817             '3' => {
1818             'id' => '3',
1819             'name' => 'gf_high',
1820             'offset' => undef,
1821             'scale' => undef,
1822             'type' => 'uint8',
1823             'unit' => '%'
1824             },
1825             '4' => {
1826             'id' => '4',
1827             'name' => 'water_type',
1828             'offset' => undef,
1829             'scale' => undef,
1830             'type' => 'water_type',
1831             'unit' => undef
1832             },
1833             '5' => {
1834             'id' => '5',
1835             'name' => 'water_density',
1836             'offset' => undef,
1837             'scale' => undef,
1838             'type' => 'float32',
1839             'unit' => 'kg/m^3'
1840             },
1841             '6' => {
1842             'id' => '6',
1843             'name' => 'po2_warn',
1844             'offset' => undef,
1845             'scale' => '100',
1846             'type' => 'uint8',
1847             'unit' => '%'
1848             },
1849             '7' => {
1850             'id' => '7',
1851             'name' => 'po2_critical',
1852             'offset' => undef,
1853             'scale' => '100',
1854             'type' => 'uint8',
1855             'unit' => '%'
1856             },
1857             '8' => {
1858             'id' => '8',
1859             'name' => 'po2_deco',
1860             'offset' => undef,
1861             'scale' => '100',
1862             'type' => 'uint8',
1863             'unit' => '%'
1864             },
1865             '9' => {
1866             'id' => '9',
1867             'name' => 'safety_stop_enabled',
1868             'offset' => undef,
1869             'scale' => undef,
1870             'type' => 'bool',
1871             'unit' => undef
1872             }
1873             },
1874             'name' => 'dive_settings'
1875             },
1876             'dive_summary' => {
1877             'fields' => {
1878             '0' => {
1879             'id' => '0',
1880             'name' => 'reference_mesg',
1881             'offset' => undef,
1882             'scale' => undef,
1883             'type' => 'mesg_num',
1884             'unit' => undef
1885             },
1886             '1' => {
1887             'id' => '1',
1888             'name' => 'reference_index',
1889             'offset' => undef,
1890             'scale' => undef,
1891             'type' => 'message_index',
1892             'unit' => undef
1893             },
1894             '10' => {
1895             'id' => '10',
1896             'name' => 'dive_number',
1897             'offset' => undef,
1898             'scale' => undef,
1899             'type' => 'uint32',
1900             'unit' => undef
1901             },
1902             '11' => {
1903             'id' => '11',
1904             'name' => 'bottom_time',
1905             'offset' => undef,
1906             'scale' => '1000',
1907             'type' => 'uint32',
1908             'unit' => 's'
1909             },
1910             '2' => {
1911             'id' => '2',
1912             'name' => 'avg_depth',
1913             'offset' => undef,
1914             'scale' => '1000',
1915             'type' => 'uint32',
1916             'unit' => 'm'
1917             },
1918             '253' => {
1919             'id' => '253',
1920             'name' => 'timestamp',
1921             'offset' => undef,
1922             'scale' => undef,
1923             'type' => 'date_time',
1924             'unit' => 's'
1925             },
1926             '3' => {
1927             'id' => '3',
1928             'name' => 'max_depth',
1929             'offset' => undef,
1930             'scale' => '1000',
1931             'type' => 'uint32',
1932             'unit' => 'm'
1933             },
1934             '4' => {
1935             'id' => '4',
1936             'name' => 'surface_interval',
1937             'offset' => undef,
1938             'scale' => '1',
1939             'type' => 'uint32',
1940             'unit' => 's'
1941             },
1942             '5' => {
1943             'id' => '5',
1944             'name' => 'start_cns',
1945             'offset' => undef,
1946             'scale' => '1',
1947             'type' => 'uint8',
1948             'unit' => '%'
1949             },
1950             '6' => {
1951             'id' => '6',
1952             'name' => 'end_cns',
1953             'offset' => undef,
1954             'scale' => '1',
1955             'type' => 'uint8',
1956             'unit' => '%'
1957             },
1958             '7' => {
1959             'id' => '7',
1960             'name' => 'start_n2',
1961             'offset' => undef,
1962             'scale' => '1',
1963             'type' => 'uint16',
1964             'unit' => '%'
1965             },
1966             '8' => {
1967             'id' => '8',
1968             'name' => 'end_n2',
1969             'offset' => undef,
1970             'scale' => '1',
1971             'type' => 'uint16',
1972             'unit' => '%'
1973             },
1974             '9' => {
1975             'id' => '9',
1976             'name' => 'o2_toxicity',
1977             'offset' => undef,
1978             'scale' => undef,
1979             'type' => 'uint16',
1980             'unit' => 'OTUs'
1981             }
1982             },
1983             'name' => 'dive_summary'
1984             },
1985             'event' => {
1986             'fields' => {
1987             '0' => {
1988             'id' => '0',
1989             'name' => 'event',
1990             'offset' => undef,
1991             'scale' => undef,
1992             'type' => 'event',
1993             'unit' => undef
1994             },
1995             '1' => {
1996             'id' => '1',
1997             'name' => 'event_type',
1998             'offset' => undef,
1999             'scale' => undef,
2000             'type' => 'event_type',
2001             'unit' => undef
2002             },
2003             '10' => {
2004             'id' => '10',
2005             'name' => 'front_gear',
2006             'offset' => undef,
2007             'scale' => undef,
2008             'type' => 'uint8z',
2009             'unit' => undef
2010             },
2011             '11' => {
2012             'id' => '11',
2013             'name' => 'rear_gear_num',
2014             'offset' => undef,
2015             'scale' => undef,
2016             'type' => 'uint8z',
2017             'unit' => undef
2018             },
2019             '12' => {
2020             'id' => '12',
2021             'name' => 'rear_gear',
2022             'offset' => undef,
2023             'scale' => undef,
2024             'type' => 'uint8z',
2025             'unit' => undef
2026             },
2027             '13' => {
2028             'id' => '13',
2029             'name' => 'device_index',
2030             'offset' => undef,
2031             'scale' => undef,
2032             'type' => 'device_index',
2033             'unit' => undef
2034             },
2035             '2' => {
2036             'id' => '2',
2037             'name' => 'data16',
2038             'offset' => undef,
2039             'scale' => undef,
2040             'type' => 'uint16',
2041             'unit' => undef
2042             },
2043             '21' => {
2044             'id' => '21',
2045             'name' => 'radar_threat_level_max',
2046             'offset' => undef,
2047             'scale' => undef,
2048             'type' => 'radar_threat_level_type',
2049             'unit' => undef
2050             },
2051             '22' => {
2052             'id' => '22',
2053             'name' => 'radar_threat_count',
2054             'offset' => undef,
2055             'scale' => undef,
2056             'type' => 'uint8',
2057             'unit' => undef
2058             },
2059             '253' => {
2060             'id' => '253',
2061             'name' => 'timestamp',
2062             'offset' => undef,
2063             'scale' => undef,
2064             'type' => 'date_time',
2065             'unit' => 's'
2066             },
2067             '3' => {
2068             'id' => '3',
2069             'name' => 'data',
2070             'offset' => undef,
2071             'scale' => undef,
2072             'type' => 'uint32',
2073             'unit' => undef
2074             },
2075             '4' => {
2076             'id' => '4',
2077             'name' => 'event_group',
2078             'offset' => undef,
2079             'scale' => undef,
2080             'type' => 'uint8',
2081             'unit' => undef
2082             },
2083             '7' => {
2084             'id' => '7',
2085             'name' => 'score',
2086             'offset' => undef,
2087             'scale' => undef,
2088             'type' => 'uint16',
2089             'unit' => undef
2090             },
2091             '8' => {
2092             'id' => '8',
2093             'name' => 'opponent_score',
2094             'offset' => undef,
2095             'scale' => undef,
2096             'type' => 'uint16',
2097             'unit' => undef
2098             },
2099             '9' => {
2100             'id' => '9',
2101             'name' => 'front_gear_num',
2102             'offset' => undef,
2103             'scale' => undef,
2104             'type' => 'uint8z',
2105             'unit' => undef
2106             }
2107             },
2108             'name' => 'event'
2109             },
2110             'exd_data_concept_configuration' => {
2111             'fields' => {
2112             '0' => {
2113             'id' => '0',
2114             'name' => 'screen_index',
2115             'offset' => undef,
2116             'scale' => undef,
2117             'type' => 'uint8',
2118             'unit' => undef
2119             },
2120             '1' => {
2121             'id' => '1',
2122             'name' => 'concept_field',
2123             'offset' => undef,
2124             'scale' => undef,
2125             'type' => 'byte',
2126             'unit' => undef
2127             },
2128             '10' => {
2129             'id' => '10',
2130             'name' => 'descriptor',
2131             'offset' => undef,
2132             'scale' => undef,
2133             'type' => 'exd_descriptors',
2134             'unit' => undef
2135             },
2136             '11' => {
2137             'id' => '11',
2138             'name' => 'is_signed',
2139             'offset' => undef,
2140             'scale' => undef,
2141             'type' => 'bool',
2142             'unit' => undef
2143             },
2144             '2' => {
2145             'id' => '2',
2146             'name' => 'field_id',
2147             'offset' => undef,
2148             'scale' => undef,
2149             'type' => 'uint8',
2150             'unit' => undef
2151             },
2152             '3' => {
2153             'id' => '3',
2154             'name' => 'concept_index',
2155             'offset' => undef,
2156             'scale' => undef,
2157             'type' => 'uint8',
2158             'unit' => undef
2159             },
2160             '4' => {
2161             'id' => '4',
2162             'name' => 'data_page',
2163             'offset' => undef,
2164             'scale' => undef,
2165             'type' => 'uint8',
2166             'unit' => undef
2167             },
2168             '5' => {
2169             'id' => '5',
2170             'name' => 'concept_key',
2171             'offset' => undef,
2172             'scale' => undef,
2173             'type' => 'uint8',
2174             'unit' => undef
2175             },
2176             '6' => {
2177             'id' => '6',
2178             'name' => 'scaling',
2179             'offset' => undef,
2180             'scale' => undef,
2181             'type' => 'uint8',
2182             'unit' => undef
2183             },
2184             '8' => {
2185             'id' => '8',
2186             'name' => 'data_units',
2187             'offset' => undef,
2188             'scale' => undef,
2189             'type' => 'exd_data_units',
2190             'unit' => undef
2191             },
2192             '9' => {
2193             'id' => '9',
2194             'name' => 'qualifier',
2195             'offset' => undef,
2196             'scale' => undef,
2197             'type' => 'exd_qualifiers',
2198             'unit' => undef
2199             }
2200             },
2201             'name' => 'exd_data_concept_configuration'
2202             },
2203             'exd_data_field_configuration' => {
2204             'fields' => {
2205             '0' => {
2206             'id' => '0',
2207             'name' => 'screen_index',
2208             'offset' => undef,
2209             'scale' => undef,
2210             'type' => 'uint8',
2211             'unit' => undef
2212             },
2213             '1' => {
2214             'id' => '1',
2215             'name' => 'concept_field',
2216             'offset' => undef,
2217             'scale' => undef,
2218             'type' => 'byte',
2219             'unit' => undef
2220             },
2221             '2' => {
2222             'id' => '2',
2223             'name' => 'field_id',
2224             'offset' => undef,
2225             'scale' => undef,
2226             'type' => 'uint8',
2227             'unit' => undef
2228             },
2229             '3' => {
2230             'id' => '3',
2231             'name' => 'concept_count',
2232             'offset' => undef,
2233             'scale' => undef,
2234             'type' => 'uint8',
2235             'unit' => undef
2236             },
2237             '4' => {
2238             'id' => '4',
2239             'name' => 'display_type',
2240             'offset' => undef,
2241             'scale' => undef,
2242             'type' => 'exd_display_type',
2243             'unit' => undef
2244             },
2245             '5' => {
2246             'id' => '5',
2247             'name' => 'title',
2248             'offset' => undef,
2249             'scale' => undef,
2250             'type' => 'string',
2251             'unit' => undef
2252             }
2253             },
2254             'name' => 'exd_data_field_configuration'
2255             },
2256             'exd_screen_configuration' => {
2257             'fields' => {
2258             '0' => {
2259             'id' => '0',
2260             'name' => 'screen_index',
2261             'offset' => undef,
2262             'scale' => undef,
2263             'type' => 'uint8',
2264             'unit' => undef
2265             },
2266             '1' => {
2267             'id' => '1',
2268             'name' => 'field_count',
2269             'offset' => undef,
2270             'scale' => undef,
2271             'type' => 'uint8',
2272             'unit' => undef
2273             },
2274             '2' => {
2275             'id' => '2',
2276             'name' => 'layout',
2277             'offset' => undef,
2278             'scale' => undef,
2279             'type' => 'exd_layout',
2280             'unit' => undef
2281             },
2282             '3' => {
2283             'id' => '3',
2284             'name' => 'screen_enabled',
2285             'offset' => undef,
2286             'scale' => undef,
2287             'type' => 'bool',
2288             'unit' => undef
2289             }
2290             },
2291             'name' => 'exd_screen_configuration'
2292             },
2293             'exercise_title' => {
2294             'fields' => {
2295             '0' => {
2296             'id' => '0',
2297             'name' => 'exercise_category',
2298             'offset' => undef,
2299             'scale' => undef,
2300             'type' => 'exercise_category',
2301             'unit' => undef
2302             },
2303             '1' => {
2304             'id' => '1',
2305             'name' => 'exercise_name',
2306             'offset' => undef,
2307             'scale' => undef,
2308             'type' => 'uint16',
2309             'unit' => undef
2310             },
2311             '2' => {
2312             'id' => '2',
2313             'name' => 'wkt_step_name',
2314             'offset' => undef,
2315             'scale' => undef,
2316             'type' => 'string',
2317             'unit' => undef
2318             },
2319             '254' => {
2320             'id' => '254',
2321             'name' => 'message_index',
2322             'offset' => undef,
2323             'scale' => undef,
2324             'type' => 'message_index',
2325             'unit' => undef
2326             }
2327             },
2328             'name' => 'exercise_title'
2329             },
2330             'field_capabilities' => {
2331             'fields' => {
2332             '0' => {
2333             'id' => '0',
2334             'name' => 'file',
2335             'offset' => undef,
2336             'scale' => undef,
2337             'type' => 'file',
2338             'unit' => undef
2339             },
2340             '1' => {
2341             'id' => '1',
2342             'name' => 'mesg_num',
2343             'offset' => undef,
2344             'scale' => undef,
2345             'type' => 'mesg_num',
2346             'unit' => undef
2347             },
2348             '2' => {
2349             'id' => '2',
2350             'name' => 'field_num',
2351             'offset' => undef,
2352             'scale' => undef,
2353             'type' => 'uint8',
2354             'unit' => undef
2355             },
2356             '254' => {
2357             'id' => '254',
2358             'name' => 'message_index',
2359             'offset' => undef,
2360             'scale' => undef,
2361             'type' => 'message_index',
2362             'unit' => undef
2363             },
2364             '3' => {
2365             'id' => '3',
2366             'name' => 'count',
2367             'offset' => undef,
2368             'scale' => undef,
2369             'type' => 'uint16',
2370             'unit' => undef
2371             }
2372             },
2373             'name' => 'field_capabilities'
2374             },
2375             'field_description' => {
2376             'fields' => {
2377             '0' => {
2378             'id' => '0',
2379             'name' => 'developer_data_index',
2380             'offset' => undef,
2381             'scale' => undef,
2382             'type' => 'uint8',
2383             'unit' => undef
2384             },
2385             '1' => {
2386             'id' => '1',
2387             'name' => 'field_definition_number',
2388             'offset' => undef,
2389             'scale' => undef,
2390             'type' => 'uint8',
2391             'unit' => undef
2392             },
2393             '10' => {
2394             'id' => '10',
2395             'name' => 'accumulate',
2396             'offset' => undef,
2397             'scale' => undef,
2398             'type' => 'string',
2399             'unit' => undef
2400             },
2401             '13' => {
2402             'id' => '13',
2403             'name' => 'fit_base_unit_id',
2404             'offset' => undef,
2405             'scale' => undef,
2406             'type' => 'fit_base_unit',
2407             'unit' => undef
2408             },
2409             '14' => {
2410             'id' => '14',
2411             'name' => 'native_mesg_num',
2412             'offset' => undef,
2413             'scale' => undef,
2414             'type' => 'mesg_num',
2415             'unit' => undef
2416             },
2417             '15' => {
2418             'id' => '15',
2419             'name' => 'native_field_num',
2420             'offset' => undef,
2421             'scale' => undef,
2422             'type' => 'uint8',
2423             'unit' => undef
2424             },
2425             '2' => {
2426             'id' => '2',
2427             'name' => 'fit_base_type_id',
2428             'offset' => undef,
2429             'scale' => undef,
2430             'type' => 'fit_base_type',
2431             'unit' => undef
2432             },
2433             '3' => {
2434             'id' => '3',
2435             'name' => 'field_name',
2436             'offset' => undef,
2437             'scale' => undef,
2438             'type' => 'string',
2439             'unit' => undef
2440             },
2441             '4' => {
2442             'id' => '4',
2443             'name' => 'array',
2444             'offset' => undef,
2445             'scale' => undef,
2446             'type' => 'uint8',
2447             'unit' => undef
2448             },
2449             '5' => {
2450             'id' => '5',
2451             'name' => 'components',
2452             'offset' => undef,
2453             'scale' => undef,
2454             'type' => 'string',
2455             'unit' => undef
2456             },
2457             '6' => {
2458             'id' => '6',
2459             'name' => 'scale',
2460             'offset' => undef,
2461             'scale' => undef,
2462             'type' => 'uint8',
2463             'unit' => undef
2464             },
2465             '7' => {
2466             'id' => '7',
2467             'name' => 'offset',
2468             'offset' => undef,
2469             'scale' => undef,
2470             'type' => 'sint8',
2471             'unit' => undef
2472             },
2473             '8' => {
2474             'id' => '8',
2475             'name' => 'units',
2476             'offset' => undef,
2477             'scale' => undef,
2478             'type' => 'string',
2479             'unit' => undef
2480             },
2481             '9' => {
2482             'id' => '9',
2483             'name' => 'bits',
2484             'offset' => undef,
2485             'scale' => undef,
2486             'type' => 'string',
2487             'unit' => undef
2488             }
2489             },
2490             'name' => 'field_description'
2491             },
2492             'file_capabilities' => {
2493             'fields' => {
2494             '0' => {
2495             'id' => '0',
2496             'name' => 'type',
2497             'offset' => undef,
2498             'scale' => undef,
2499             'type' => 'file',
2500             'unit' => undef
2501             },
2502             '1' => {
2503             'id' => '1',
2504             'name' => 'flags',
2505             'offset' => undef,
2506             'scale' => undef,
2507             'type' => 'file_flags',
2508             'unit' => undef
2509             },
2510             '2' => {
2511             'id' => '2',
2512             'name' => 'directory',
2513             'offset' => undef,
2514             'scale' => undef,
2515             'type' => 'string',
2516             'unit' => undef
2517             },
2518             '254' => {
2519             'id' => '254',
2520             'name' => 'message_index',
2521             'offset' => undef,
2522             'scale' => undef,
2523             'type' => 'message_index',
2524             'unit' => undef
2525             },
2526             '3' => {
2527             'id' => '3',
2528             'name' => 'max_count',
2529             'offset' => undef,
2530             'scale' => undef,
2531             'type' => 'uint16',
2532             'unit' => undef
2533             },
2534             '4' => {
2535             'id' => '4',
2536             'name' => 'max_size',
2537             'offset' => undef,
2538             'scale' => undef,
2539             'type' => 'uint32',
2540             'unit' => 'bytes'
2541             }
2542             },
2543             'name' => 'file_capabilities'
2544             },
2545             'file_creator' => {
2546             'fields' => {
2547             '0' => {
2548             'id' => '0',
2549             'name' => 'software_version',
2550             'offset' => undef,
2551             'scale' => undef,
2552             'type' => 'uint16',
2553             'unit' => undef
2554             },
2555             '1' => {
2556             'id' => '1',
2557             'name' => 'hardware_version',
2558             'offset' => undef,
2559             'scale' => undef,
2560             'type' => 'uint8',
2561             'unit' => undef
2562             }
2563             },
2564             'name' => 'file_creator'
2565             },
2566             'file_id' => {
2567             'fields' => {
2568             '0' => {
2569             'id' => '0',
2570             'name' => 'type',
2571             'offset' => undef,
2572             'scale' => undef,
2573             'type' => 'file',
2574             'unit' => undef
2575             },
2576             '1' => {
2577             'id' => '1',
2578             'name' => 'manufacturer',
2579             'offset' => undef,
2580             'scale' => undef,
2581             'type' => 'manufacturer',
2582             'unit' => undef
2583             },
2584             '2' => {
2585             'id' => '2',
2586             'name' => 'product',
2587             'offset' => undef,
2588             'scale' => undef,
2589             'type' => 'uint16',
2590             'unit' => undef
2591             },
2592             '3' => {
2593             'id' => '3',
2594             'name' => 'serial_number',
2595             'offset' => undef,
2596             'scale' => undef,
2597             'type' => 'uint32z',
2598             'unit' => undef
2599             },
2600             '4' => {
2601             'id' => '4',
2602             'name' => 'time_created',
2603             'offset' => undef,
2604             'scale' => undef,
2605             'type' => 'date_time',
2606             'unit' => undef
2607             },
2608             '5' => {
2609             'id' => '5',
2610             'name' => 'number',
2611             'offset' => undef,
2612             'scale' => undef,
2613             'type' => 'uint16',
2614             'unit' => undef
2615             },
2616             '8' => {
2617             'id' => '8',
2618             'name' => 'product_name',
2619             'offset' => undef,
2620             'scale' => undef,
2621             'type' => 'string',
2622             'unit' => undef
2623             }
2624             },
2625             'name' => 'file_id'
2626             },
2627             'goal' => {
2628             'fields' => {
2629             '0' => {
2630             'id' => '0',
2631             'name' => 'sport',
2632             'offset' => undef,
2633             'scale' => undef,
2634             'type' => 'sport',
2635             'unit' => undef
2636             },
2637             '1' => {
2638             'id' => '1',
2639             'name' => 'sub_sport',
2640             'offset' => undef,
2641             'scale' => undef,
2642             'type' => 'sub_sport',
2643             'unit' => undef
2644             },
2645             '10' => {
2646             'id' => '10',
2647             'name' => 'enabled',
2648             'offset' => undef,
2649             'scale' => undef,
2650             'type' => 'bool',
2651             'unit' => undef
2652             },
2653             '11' => {
2654             'id' => '11',
2655             'name' => 'source',
2656             'offset' => undef,
2657             'scale' => undef,
2658             'type' => 'goal_source',
2659             'unit' => undef
2660             },
2661             '2' => {
2662             'id' => '2',
2663             'name' => 'start_date',
2664             'offset' => undef,
2665             'scale' => undef,
2666             'type' => 'date_time',
2667             'unit' => undef
2668             },
2669             '254' => {
2670             'id' => '254',
2671             'name' => 'message_index',
2672             'offset' => undef,
2673             'scale' => undef,
2674             'type' => 'message_index',
2675             'unit' => undef
2676             },
2677             '3' => {
2678             'id' => '3',
2679             'name' => 'end_date',
2680             'offset' => undef,
2681             'scale' => undef,
2682             'type' => 'date_time',
2683             'unit' => undef
2684             },
2685             '4' => {
2686             'id' => '4',
2687             'name' => 'type',
2688             'offset' => undef,
2689             'scale' => undef,
2690             'type' => 'goal',
2691             'unit' => undef
2692             },
2693             '5' => {
2694             'id' => '5',
2695             'name' => 'value',
2696             'offset' => undef,
2697             'scale' => undef,
2698             'type' => 'uint32',
2699             'unit' => undef
2700             },
2701             '6' => {
2702             'id' => '6',
2703             'name' => 'repeat',
2704             'offset' => undef,
2705             'scale' => undef,
2706             'type' => 'bool',
2707             'unit' => undef
2708             },
2709             '7' => {
2710             'id' => '7',
2711             'name' => 'target_value',
2712             'offset' => undef,
2713             'scale' => undef,
2714             'type' => 'uint32',
2715             'unit' => undef
2716             },
2717             '8' => {
2718             'id' => '8',
2719             'name' => 'recurrence',
2720             'offset' => undef,
2721             'scale' => undef,
2722             'type' => 'goal_recurrence',
2723             'unit' => undef
2724             },
2725             '9' => {
2726             'id' => '9',
2727             'name' => 'recurrence_value',
2728             'offset' => undef,
2729             'scale' => undef,
2730             'type' => 'uint16',
2731             'unit' => undef
2732             }
2733             },
2734             'name' => 'goal'
2735             },
2736             'gps_metadata' => {
2737             'fields' => {
2738             '0' => {
2739             'id' => '0',
2740             'name' => 'timestamp_ms',
2741             'offset' => undef,
2742             'scale' => undef,
2743             'type' => 'uint16',
2744             'unit' => 'ms'
2745             },
2746             '1' => {
2747             'id' => '1',
2748             'name' => 'position_lat',
2749             'offset' => undef,
2750             'scale' => undef,
2751             'type' => 'sint32',
2752             'unit' => 'semicircles'
2753             },
2754             '2' => {
2755             'id' => '2',
2756             'name' => 'position_long',
2757             'offset' => undef,
2758             'scale' => undef,
2759             'type' => 'sint32',
2760             'unit' => 'semicircles'
2761             },
2762             '253' => {
2763             'id' => '253',
2764             'name' => 'timestamp',
2765             'offset' => undef,
2766             'scale' => undef,
2767             'type' => 'date_time',
2768             'unit' => 's'
2769             },
2770             '3' => {
2771             'id' => '3',
2772             'name' => 'enhanced_altitude',
2773             'offset' => '500',
2774             'scale' => '5',
2775             'type' => 'uint32',
2776             'unit' => 'm'
2777             },
2778             '4' => {
2779             'id' => '4',
2780             'name' => 'enhanced_speed',
2781             'offset' => undef,
2782             'scale' => '1000',
2783             'type' => 'uint32',
2784             'unit' => 'm/s'
2785             },
2786             '5' => {
2787             'id' => '5',
2788             'name' => 'heading',
2789             'offset' => undef,
2790             'scale' => '100',
2791             'type' => 'uint16',
2792             'unit' => 'degrees'
2793             },
2794             '6' => {
2795             'id' => '6',
2796             'name' => 'utc_timestamp',
2797             'offset' => undef,
2798             'scale' => undef,
2799             'type' => 'date_time',
2800             'unit' => 's'
2801             },
2802             '7' => {
2803             'id' => '7',
2804             'name' => 'velocity',
2805             'offset' => undef,
2806             'scale' => '100',
2807             'type' => 'sint16',
2808             'unit' => 'm/s'
2809             }
2810             },
2811             'name' => 'gps_metadata'
2812             },
2813             'gyroscope_data' => {
2814             'fields' => {
2815             '0' => {
2816             'id' => '0',
2817             'name' => 'timestamp_ms',
2818             'offset' => undef,
2819             'scale' => undef,
2820             'type' => 'uint16',
2821             'unit' => 'ms'
2822             },
2823             '1' => {
2824             'id' => '1',
2825             'name' => 'sample_time_offset',
2826             'offset' => undef,
2827             'scale' => undef,
2828             'type' => 'uint16',
2829             'unit' => 'ms'
2830             },
2831             '2' => {
2832             'id' => '2',
2833             'name' => 'gyro_x',
2834             'offset' => undef,
2835             'scale' => undef,
2836             'type' => 'uint16',
2837             'unit' => 'counts'
2838             },
2839             '253' => {
2840             'id' => '253',
2841             'name' => 'timestamp',
2842             'offset' => undef,
2843             'scale' => undef,
2844             'type' => 'date_time',
2845             'unit' => 's'
2846             },
2847             '3' => {
2848             'id' => '3',
2849             'name' => 'gyro_y',
2850             'offset' => undef,
2851             'scale' => undef,
2852             'type' => 'uint16',
2853             'unit' => 'counts'
2854             },
2855             '4' => {
2856             'id' => '4',
2857             'name' => 'gyro_z',
2858             'offset' => undef,
2859             'scale' => undef,
2860             'type' => 'uint16',
2861             'unit' => 'counts'
2862             },
2863             '5' => {
2864             'id' => '5',
2865             'name' => 'calibrated_gyro_x',
2866             'offset' => undef,
2867             'scale' => undef,
2868             'type' => 'float32',
2869             'unit' => 'deg/s'
2870             },
2871             '6' => {
2872             'id' => '6',
2873             'name' => 'calibrated_gyro_y',
2874             'offset' => undef,
2875             'scale' => undef,
2876             'type' => 'float32',
2877             'unit' => 'deg/s'
2878             },
2879             '7' => {
2880             'id' => '7',
2881             'name' => 'calibrated_gyro_z',
2882             'offset' => undef,
2883             'scale' => undef,
2884             'type' => 'float32',
2885             'unit' => 'deg/s'
2886             }
2887             },
2888             'name' => 'gyroscope_data'
2889             },
2890             'hr' => {
2891             'fields' => {
2892             '0' => {
2893             'id' => '0',
2894             'name' => 'fractional_timestamp',
2895             'offset' => undef,
2896             'scale' => '32768',
2897             'type' => 'uint16',
2898             'unit' => 's'
2899             },
2900             '1' => {
2901             'id' => '1',
2902             'name' => 'time256',
2903             'offset' => undef,
2904             'scale' => '256',
2905             'type' => 'uint8',
2906             'unit' => 's'
2907             },
2908             '10' => {
2909             'id' => '10',
2910             'name' => 'event_timestamp_12',
2911             'offset' => undef,
2912             'scale' => '1024,
2913             1024,
2914             1024,
2915             1024,
2916             1024,
2917             1024,
2918             1024,
2919             1024,
2920             1024,
2921             1024',
2922             'type' => 'byte',
2923             'unit' => 's'
2924             },
2925             '253' => {
2926             'id' => '253',
2927             'name' => 'timestamp',
2928             'offset' => undef,
2929             'scale' => undef,
2930             'type' => 'date_time',
2931             'unit' => undef
2932             },
2933             '6' => {
2934             'id' => '6',
2935             'name' => 'filtered_bpm',
2936             'offset' => undef,
2937             'scale' => undef,
2938             'type' => 'uint8',
2939             'unit' => 'bpm'
2940             },
2941             '9' => {
2942             'id' => '9',
2943             'name' => 'event_timestamp',
2944             'offset' => undef,
2945             'scale' => '1024',
2946             'type' => 'uint32',
2947             'unit' => 's'
2948             }
2949             },
2950             'name' => 'hr'
2951             },
2952             'hr_zone' => {
2953             'fields' => {
2954             '1' => {
2955             'id' => '1',
2956             'name' => 'high_bpm',
2957             'offset' => undef,
2958             'scale' => undef,
2959             'type' => 'uint8',
2960             'unit' => 'bpm'
2961             },
2962             '2' => {
2963             'id' => '2',
2964             'name' => 'name',
2965             'offset' => undef,
2966             'scale' => undef,
2967             'type' => 'string',
2968             'unit' => undef
2969             },
2970             '254' => {
2971             'id' => '254',
2972             'name' => 'message_index',
2973             'offset' => undef,
2974             'scale' => undef,
2975             'type' => 'message_index',
2976             'unit' => undef
2977             }
2978             },
2979             'name' => 'hr_zone'
2980             },
2981             'hrm_profile' => {
2982             'fields' => {
2983             '0' => {
2984             'id' => '0',
2985             'name' => 'enabled',
2986             'offset' => undef,
2987             'scale' => undef,
2988             'type' => 'bool',
2989             'unit' => undef
2990             },
2991             '1' => {
2992             'id' => '1',
2993             'name' => 'hrm_ant_id',
2994             'offset' => undef,
2995             'scale' => undef,
2996             'type' => 'uint16z',
2997             'unit' => undef
2998             },
2999             '2' => {
3000             'id' => '2',
3001             'name' => 'log_hrv',
3002             'offset' => undef,
3003             'scale' => undef,
3004             'type' => 'bool',
3005             'unit' => undef
3006             },
3007             '254' => {
3008             'id' => '254',
3009             'name' => 'message_index',
3010             'offset' => undef,
3011             'scale' => undef,
3012             'type' => 'message_index',
3013             'unit' => undef
3014             },
3015             '3' => {
3016             'id' => '3',
3017             'name' => 'hrm_ant_id_trans_type',
3018             'offset' => undef,
3019             'scale' => undef,
3020             'type' => 'uint8z',
3021             'unit' => undef
3022             }
3023             },
3024             'name' => 'hrm_profile'
3025             },
3026             'hrv' => {
3027             'fields' => {
3028             '0' => {
3029             'id' => '0',
3030             'name' => 'time',
3031             'offset' => undef,
3032             'scale' => '1000',
3033             'type' => 'uint16',
3034             'unit' => 's'
3035             }
3036             },
3037             'name' => 'hrv'
3038             },
3039             'jump' => {
3040             'fields' => {
3041             '0' => {
3042             'id' => '0',
3043             'name' => 'distance',
3044             'offset' => undef,
3045             'scale' => undef,
3046             'type' => 'float32',
3047             'unit' => 'm'
3048             },
3049             '1' => {
3050             'id' => '1',
3051             'name' => 'height',
3052             'offset' => undef,
3053             'scale' => undef,
3054             'type' => 'float32',
3055             'unit' => 'm'
3056             },
3057             '2' => {
3058             'id' => '2',
3059             'name' => 'rotations',
3060             'offset' => undef,
3061             'scale' => undef,
3062             'type' => 'uint8',
3063             'unit' => undef
3064             },
3065             '253' => {
3066             'id' => '253',
3067             'name' => 'timestamp',
3068             'offset' => undef,
3069             'scale' => undef,
3070             'type' => 'date_time',
3071             'unit' => 's'
3072             },
3073             '3' => {
3074             'id' => '3',
3075             'name' => 'hang_time',
3076             'offset' => undef,
3077             'scale' => undef,
3078             'type' => 'float32',
3079             'unit' => 's'
3080             },
3081             '4' => {
3082             'id' => '4',
3083             'name' => 'score',
3084             'offset' => undef,
3085             'scale' => undef,
3086             'type' => 'float32',
3087             'unit' => undef
3088             },
3089             '5' => {
3090             'id' => '5',
3091             'name' => 'position_lat',
3092             'offset' => undef,
3093             'scale' => undef,
3094             'type' => 'sint32',
3095             'unit' => 'semicircles'
3096             },
3097             '6' => {
3098             'id' => '6',
3099             'name' => 'position_long',
3100             'offset' => undef,
3101             'scale' => undef,
3102             'type' => 'sint32',
3103             'unit' => 'semicircles'
3104             },
3105             '7' => {
3106             'id' => '7',
3107             'name' => 'speed',
3108             'offset' => undef,
3109             'scale' => '1000',
3110             'type' => 'uint16',
3111             'unit' => 'm/s'
3112             },
3113             '8' => {
3114             'id' => '8',
3115             'name' => 'enhanced_speed',
3116             'offset' => undef,
3117             'scale' => '1000',
3118             'type' => 'uint32',
3119             'unit' => 'm/s'
3120             }
3121             },
3122             'name' => 'jump'
3123             },
3124             'lap' => {
3125             'fields' => {
3126             '0' => {
3127             'id' => '0',
3128             'name' => 'event',
3129             'offset' => undef,
3130             'scale' => undef,
3131             'type' => 'event',
3132             'unit' => undef
3133             },
3134             '1' => {
3135             'id' => '1',
3136             'name' => 'event_type',
3137             'offset' => undef,
3138             'scale' => undef,
3139             'type' => 'event_type',
3140             'unit' => undef
3141             },
3142             '10' => {
3143             'id' => '10',
3144             'name' => 'total_cycles',
3145             'offset' => undef,
3146             'scale' => undef,
3147             'type' => 'uint32',
3148             'unit' => 'cycles'
3149             },
3150             '100' => {
3151             'id' => '100',
3152             'name' => 'avg_left_pco',
3153             'offset' => undef,
3154             'scale' => undef,
3155             'type' => 'sint8',
3156             'unit' => 'mm'
3157             },
3158             '101' => {
3159             'id' => '101',
3160             'name' => 'avg_right_pco',
3161             'offset' => undef,
3162             'scale' => undef,
3163             'type' => 'sint8',
3164             'unit' => 'mm'
3165             },
3166             '102' => {
3167             'id' => '102',
3168             'name' => 'avg_left_power_phase',
3169             'offset' => undef,
3170             'scale' => '0.7111111',
3171             'type' => 'uint8',
3172             'unit' => 'degrees'
3173             },
3174             '103' => {
3175             'id' => '103',
3176             'name' => 'avg_left_power_phase_peak',
3177             'offset' => undef,
3178             'scale' => '0.7111111',
3179             'type' => 'uint8',
3180             'unit' => 'degrees'
3181             },
3182             '104' => {
3183             'id' => '104',
3184             'name' => 'avg_right_power_phase',
3185             'offset' => undef,
3186             'scale' => '0.7111111',
3187             'type' => 'uint8',
3188             'unit' => 'degrees'
3189             },
3190             '105' => {
3191             'id' => '105',
3192             'name' => 'avg_right_power_phase_peak',
3193             'offset' => undef,
3194             'scale' => '0.7111111',
3195             'type' => 'uint8',
3196             'unit' => 'degrees'
3197             },
3198             '106' => {
3199             'id' => '106',
3200             'name' => 'avg_power_position',
3201             'offset' => undef,
3202             'scale' => undef,
3203             'type' => 'uint16',
3204             'unit' => 'watts'
3205             },
3206             '107' => {
3207             'id' => '107',
3208             'name' => 'max_power_position',
3209             'offset' => undef,
3210             'scale' => undef,
3211             'type' => 'uint16',
3212             'unit' => 'watts'
3213             },
3214             '108' => {
3215             'id' => '108',
3216             'name' => 'avg_cadence_position',
3217             'offset' => undef,
3218             'scale' => undef,
3219             'type' => 'uint8',
3220             'unit' => 'rpm'
3221             },
3222             '109' => {
3223             'id' => '109',
3224             'name' => 'max_cadence_position',
3225             'offset' => undef,
3226             'scale' => undef,
3227             'type' => 'uint8',
3228             'unit' => 'rpm'
3229             },
3230             '11' => {
3231             'id' => '11',
3232             'name' => 'total_calories',
3233             'offset' => undef,
3234             'scale' => undef,
3235             'type' => 'uint16',
3236             'unit' => 'kcal'
3237             },
3238             '110' => {
3239             'id' => '110',
3240             'name' => 'enhanced_avg_speed',
3241             'offset' => undef,
3242             'scale' => '1000',
3243             'type' => 'uint32',
3244             'unit' => 'm/s'
3245             },
3246             '111' => {
3247             'id' => '111',
3248             'name' => 'enhanced_max_speed',
3249             'offset' => undef,
3250             'scale' => '1000',
3251             'type' => 'uint32',
3252             'unit' => 'm/s'
3253             },
3254             '112' => {
3255             'id' => '112',
3256             'name' => 'enhanced_avg_altitude',
3257             'offset' => '500',
3258             'scale' => '5',
3259             'type' => 'uint32',
3260             'unit' => 'm'
3261             },
3262             '113' => {
3263             'id' => '113',
3264             'name' => 'enhanced_min_altitude',
3265             'offset' => '500',
3266             'scale' => '5',
3267             'type' => 'uint32',
3268             'unit' => 'm'
3269             },
3270             '114' => {
3271             'id' => '114',
3272             'name' => 'enhanced_max_altitude',
3273             'offset' => '500',
3274             'scale' => '5',
3275             'type' => 'uint32',
3276             'unit' => 'm'
3277             },
3278             '115' => {
3279             'id' => '115',
3280             'name' => 'avg_lev_motor_power',
3281             'offset' => undef,
3282             'scale' => undef,
3283             'type' => 'uint16',
3284             'unit' => 'watts'
3285             },
3286             '116' => {
3287             'id' => '116',
3288             'name' => 'max_lev_motor_power',
3289             'offset' => undef,
3290             'scale' => undef,
3291             'type' => 'uint16',
3292             'unit' => 'watts'
3293             },
3294             '117' => {
3295             'id' => '117',
3296             'name' => 'lev_battery_consumption',
3297             'offset' => undef,
3298             'scale' => '2',
3299             'type' => 'uint8',
3300             'unit' => '%'
3301             },
3302             '118' => {
3303             'id' => '118',
3304             'name' => 'avg_vertical_ratio',
3305             'offset' => undef,
3306             'scale' => '100',
3307             'type' => 'uint16',
3308             'unit' => '%'
3309             },
3310             '119' => {
3311             'id' => '119',
3312             'name' => 'avg_stance_time_balance',
3313             'offset' => undef,
3314             'scale' => '100',
3315             'type' => 'uint16',
3316             'unit' => '%'
3317             },
3318             '12' => {
3319             'id' => '12',
3320             'name' => 'total_fat_calories',
3321             'offset' => undef,
3322             'scale' => undef,
3323             'type' => 'uint16',
3324             'unit' => 'kcal'
3325             },
3326             '120' => {
3327             'id' => '120',
3328             'name' => 'avg_step_length',
3329             'offset' => undef,
3330             'scale' => '10',
3331             'type' => 'uint16',
3332             'unit' => 'mm'
3333             },
3334             '121' => {
3335             'id' => '121',
3336             'name' => 'avg_vam',
3337             'offset' => undef,
3338             'scale' => '1000',
3339             'type' => 'uint16',
3340             'unit' => 'm/s'
3341             },
3342             '13' => {
3343             'id' => '13',
3344             'name' => 'avg_speed',
3345             'offset' => undef,
3346             'scale' => '1000',
3347             'type' => 'uint16',
3348             'unit' => 'm/s'
3349             },
3350             '14' => {
3351             'id' => '14',
3352             'name' => 'max_speed',
3353             'offset' => undef,
3354             'scale' => '1000',
3355             'type' => 'uint16',
3356             'unit' => 'm/s'
3357             },
3358             '149' => {
3359             'id' => '149',
3360             'name' => 'total_grit',
3361             'offset' => undef,
3362             'scale' => undef,
3363             'type' => 'float32',
3364             'unit' => 'kGrit'
3365             },
3366             '15' => {
3367             'id' => '15',
3368             'name' => 'avg_heart_rate',
3369             'offset' => undef,
3370             'scale' => undef,
3371             'type' => 'uint8',
3372             'unit' => 'bpm'
3373             },
3374             '150' => {
3375             'id' => '150',
3376             'name' => 'total_flow',
3377             'offset' => undef,
3378             'scale' => undef,
3379             'type' => 'float32',
3380             'unit' => 'Flow'
3381             },
3382             '151' => {
3383             'id' => '151',
3384             'name' => 'jump_count',
3385             'offset' => undef,
3386             'scale' => undef,
3387             'type' => 'uint16',
3388             'unit' => undef
3389             },
3390             '153' => {
3391             'id' => '153',
3392             'name' => 'avg_grit',
3393             'offset' => undef,
3394             'scale' => undef,
3395             'type' => 'float32',
3396             'unit' => 'kGrit'
3397             },
3398             '154' => {
3399             'id' => '154',
3400             'name' => 'avg_flow',
3401             'offset' => undef,
3402             'scale' => undef,
3403             'type' => 'float32',
3404             'unit' => 'Flow'
3405             },
3406             '156' => {
3407             'id' => '156',
3408             'name' => 'total_fractional_ascent',
3409             'offset' => undef,
3410             'scale' => '100',
3411             'type' => 'uint8',
3412             'unit' => 'm'
3413             },
3414             '157' => {
3415             'id' => '157',
3416             'name' => 'total_fractional_descent',
3417             'offset' => undef,
3418             'scale' => '100',
3419             'type' => 'uint8',
3420             'unit' => 'm'
3421             },
3422             '158' => {
3423             'id' => '158',
3424             'name' => 'avg_core_temperature',
3425             'offset' => undef,
3426             'scale' => '100',
3427             'type' => 'uint16',
3428             'unit' => 'C'
3429             },
3430             '159' => {
3431             'id' => '159',
3432             'name' => 'min_core_temperature',
3433             'offset' => undef,
3434             'scale' => '100',
3435             'type' => 'uint16',
3436             'unit' => 'C'
3437             },
3438             '16' => {
3439             'id' => '16',
3440             'name' => 'max_heart_rate',
3441             'offset' => undef,
3442             'scale' => undef,
3443             'type' => 'uint8',
3444             'unit' => 'bpm'
3445             },
3446             '160' => {
3447             'id' => '160',
3448             'name' => 'max_core_temperature',
3449             'offset' => undef,
3450             'scale' => '100',
3451             'type' => 'uint16',
3452             'unit' => 'C'
3453             },
3454             '17' => {
3455             'id' => '17',
3456             'name' => 'avg_cadence',
3457             'offset' => undef,
3458             'scale' => undef,
3459             'type' => 'uint8',
3460             'unit' => 'rpm'
3461             },
3462             '18' => {
3463             'id' => '18',
3464             'name' => 'max_cadence',
3465             'offset' => undef,
3466             'scale' => undef,
3467             'type' => 'uint8',
3468             'unit' => 'rpm'
3469             },
3470             '19' => {
3471             'id' => '19',
3472             'name' => 'avg_power',
3473             'offset' => undef,
3474             'scale' => undef,
3475             'type' => 'uint16',
3476             'unit' => 'watts'
3477             },
3478             '2' => {
3479             'id' => '2',
3480             'name' => 'start_time',
3481             'offset' => undef,
3482             'scale' => undef,
3483             'type' => 'date_time',
3484             'unit' => undef
3485             },
3486             '20' => {
3487             'id' => '20',
3488             'name' => 'max_power',
3489             'offset' => undef,
3490             'scale' => undef,
3491             'type' => 'uint16',
3492             'unit' => 'watts'
3493             },
3494             '21' => {
3495             'id' => '21',
3496             'name' => 'total_ascent',
3497             'offset' => undef,
3498             'scale' => undef,
3499             'type' => 'uint16',
3500             'unit' => 'm'
3501             },
3502             '22' => {
3503             'id' => '22',
3504             'name' => 'total_descent',
3505             'offset' => undef,
3506             'scale' => undef,
3507             'type' => 'uint16',
3508             'unit' => 'm'
3509             },
3510             '23' => {
3511             'id' => '23',
3512             'name' => 'intensity',
3513             'offset' => undef,
3514             'scale' => undef,
3515             'type' => 'intensity',
3516             'unit' => undef
3517             },
3518             '24' => {
3519             'id' => '24',
3520             'name' => 'lap_trigger',
3521             'offset' => undef,
3522             'scale' => undef,
3523             'type' => 'lap_trigger',
3524             'unit' => undef
3525             },
3526             '25' => {
3527             'id' => '25',
3528             'name' => 'sport',
3529             'offset' => undef,
3530             'scale' => undef,
3531             'type' => 'sport',
3532             'unit' => undef
3533             },
3534             '253' => {
3535             'id' => '253',
3536             'name' => 'timestamp',
3537             'offset' => undef,
3538             'scale' => undef,
3539             'type' => 'date_time',
3540             'unit' => 's'
3541             },
3542             '254' => {
3543             'id' => '254',
3544             'name' => 'message_index',
3545             'offset' => undef,
3546             'scale' => undef,
3547             'type' => 'message_index',
3548             'unit' => undef
3549             },
3550             '26' => {
3551             'id' => '26',
3552             'name' => 'event_group',
3553             'offset' => undef,
3554             'scale' => undef,
3555             'type' => 'uint8',
3556             'unit' => undef
3557             },
3558             '3' => {
3559             'id' => '3',
3560             'name' => 'start_position_lat',
3561             'offset' => undef,
3562             'scale' => undef,
3563             'type' => 'sint32',
3564             'unit' => 'semicircles'
3565             },
3566             '32' => {
3567             'id' => '32',
3568             'name' => 'num_lengths',
3569             'offset' => undef,
3570             'scale' => undef,
3571             'type' => 'uint16',
3572             'unit' => 'lengths'
3573             },
3574             '33' => {
3575             'id' => '33',
3576             'name' => 'normalized_power',
3577             'offset' => undef,
3578             'scale' => undef,
3579             'type' => 'uint16',
3580             'unit' => 'watts'
3581             },
3582             '34' => {
3583             'id' => '34',
3584             'name' => 'left_right_balance',
3585             'offset' => undef,
3586             'scale' => undef,
3587             'type' => 'left_right_balance_100',
3588             'unit' => undef
3589             },
3590             '35' => {
3591             'id' => '35',
3592             'name' => 'first_length_index',
3593             'offset' => undef,
3594             'scale' => undef,
3595             'type' => 'uint16',
3596             'unit' => undef
3597             },
3598             '37' => {
3599             'id' => '37',
3600             'name' => 'avg_stroke_distance',
3601             'offset' => undef,
3602             'scale' => '100',
3603             'type' => 'uint16',
3604             'unit' => 'm'
3605             },
3606             '38' => {
3607             'id' => '38',
3608             'name' => 'swim_stroke',
3609             'offset' => undef,
3610             'scale' => undef,
3611             'type' => 'swim_stroke',
3612             'unit' => undef
3613             },
3614             '39' => {
3615             'id' => '39',
3616             'name' => 'sub_sport',
3617             'offset' => undef,
3618             'scale' => undef,
3619             'type' => 'sub_sport',
3620             'unit' => undef
3621             },
3622             '4' => {
3623             'id' => '4',
3624             'name' => 'start_position_long',
3625             'offset' => undef,
3626             'scale' => undef,
3627             'type' => 'sint32',
3628             'unit' => 'semicircles'
3629             },
3630             '40' => {
3631             'id' => '40',
3632             'name' => 'num_active_lengths',
3633             'offset' => undef,
3634             'scale' => undef,
3635             'type' => 'uint16',
3636             'unit' => 'lengths'
3637             },
3638             '41' => {
3639             'id' => '41',
3640             'name' => 'total_work',
3641             'offset' => undef,
3642             'scale' => undef,
3643             'type' => 'uint32',
3644             'unit' => 'J'
3645             },
3646             '42' => {
3647             'id' => '42',
3648             'name' => 'avg_altitude',
3649             'offset' => '500',
3650             'scale' => '5',
3651             'type' => 'uint16',
3652             'unit' => 'm'
3653             },
3654             '43' => {
3655             'id' => '43',
3656             'name' => 'max_altitude',
3657             'offset' => '500',
3658             'scale' => '5',
3659             'type' => 'uint16',
3660             'unit' => 'm'
3661             },
3662             '44' => {
3663             'id' => '44',
3664             'name' => 'gps_accuracy',
3665             'offset' => undef,
3666             'scale' => undef,
3667             'type' => 'uint8',
3668             'unit' => 'm'
3669             },
3670             '45' => {
3671             'id' => '45',
3672             'name' => 'avg_grade',
3673             'offset' => undef,
3674             'scale' => '100',
3675             'type' => 'sint16',
3676             'unit' => '%'
3677             },
3678             '46' => {
3679             'id' => '46',
3680             'name' => 'avg_pos_grade',
3681             'offset' => undef,
3682             'scale' => '100',
3683             'type' => 'sint16',
3684             'unit' => '%'
3685             },
3686             '47' => {
3687             'id' => '47',
3688             'name' => 'avg_neg_grade',
3689             'offset' => undef,
3690             'scale' => '100',
3691             'type' => 'sint16',
3692             'unit' => '%'
3693             },
3694             '48' => {
3695             'id' => '48',
3696             'name' => 'max_pos_grade',
3697             'offset' => undef,
3698             'scale' => '100',
3699             'type' => 'sint16',
3700             'unit' => '%'
3701             },
3702             '49' => {
3703             'id' => '49',
3704             'name' => 'max_neg_grade',
3705             'offset' => undef,
3706             'scale' => '100',
3707             'type' => 'sint16',
3708             'unit' => '%'
3709             },
3710             '5' => {
3711             'id' => '5',
3712             'name' => 'end_position_lat',
3713             'offset' => undef,
3714             'scale' => undef,
3715             'type' => 'sint32',
3716             'unit' => 'semicircles'
3717             },
3718             '50' => {
3719             'id' => '50',
3720             'name' => 'avg_temperature',
3721             'offset' => undef,
3722             'scale' => undef,
3723             'type' => 'sint8',
3724             'unit' => 'C'
3725             },
3726             '51' => {
3727             'id' => '51',
3728             'name' => 'max_temperature',
3729             'offset' => undef,
3730             'scale' => undef,
3731             'type' => 'sint8',
3732             'unit' => 'C'
3733             },
3734             '52' => {
3735             'id' => '52',
3736             'name' => 'total_moving_time',
3737             'offset' => undef,
3738             'scale' => '1000',
3739             'type' => 'uint32',
3740             'unit' => 's'
3741             },
3742             '53' => {
3743             'id' => '53',
3744             'name' => 'avg_pos_vertical_speed',
3745             'offset' => undef,
3746             'scale' => '1000',
3747             'type' => 'sint16',
3748             'unit' => 'm/s'
3749             },
3750             '54' => {
3751             'id' => '54',
3752             'name' => 'avg_neg_vertical_speed',
3753             'offset' => undef,
3754             'scale' => '1000',
3755             'type' => 'sint16',
3756             'unit' => 'm/s'
3757             },
3758             '55' => {
3759             'id' => '55',
3760             'name' => 'max_pos_vertical_speed',
3761             'offset' => undef,
3762             'scale' => '1000',
3763             'type' => 'sint16',
3764             'unit' => 'm/s'
3765             },
3766             '56' => {
3767             'id' => '56',
3768             'name' => 'max_neg_vertical_speed',
3769             'offset' => undef,
3770             'scale' => '1000',
3771             'type' => 'sint16',
3772             'unit' => 'm/s'
3773             },
3774             '57' => {
3775             'id' => '57',
3776             'name' => 'time_in_hr_zone',
3777             'offset' => undef,
3778             'scale' => '1000',
3779             'type' => 'uint32',
3780             'unit' => 's'
3781             },
3782             '58' => {
3783             'id' => '58',
3784             'name' => 'time_in_speed_zone',
3785             'offset' => undef,
3786             'scale' => '1000',
3787             'type' => 'uint32',
3788             'unit' => 's'
3789             },
3790             '59' => {
3791             'id' => '59',
3792             'name' => 'time_in_cadence_zone',
3793             'offset' => undef,
3794             'scale' => '1000',
3795             'type' => 'uint32',
3796             'unit' => 's'
3797             },
3798             '6' => {
3799             'id' => '6',
3800             'name' => 'end_position_long',
3801             'offset' => undef,
3802             'scale' => undef,
3803             'type' => 'sint32',
3804             'unit' => 'semicircles'
3805             },
3806             '60' => {
3807             'id' => '60',
3808             'name' => 'time_in_power_zone',
3809             'offset' => undef,
3810             'scale' => '1000',
3811             'type' => 'uint32',
3812             'unit' => 's'
3813             },
3814             '61' => {
3815             'id' => '61',
3816             'name' => 'repetition_num',
3817             'offset' => undef,
3818             'scale' => undef,
3819             'type' => 'uint16',
3820             'unit' => undef
3821             },
3822             '62' => {
3823             'id' => '62',
3824             'name' => 'min_altitude',
3825             'offset' => '500',
3826             'scale' => '5',
3827             'type' => 'uint16',
3828             'unit' => 'm'
3829             },
3830             '63' => {
3831             'id' => '63',
3832             'name' => 'min_heart_rate',
3833             'offset' => undef,
3834             'scale' => undef,
3835             'type' => 'uint8',
3836             'unit' => 'bpm'
3837             },
3838             '7' => {
3839             'id' => '7',
3840             'name' => 'total_elapsed_time',
3841             'offset' => undef,
3842             'scale' => '1000',
3843             'type' => 'uint32',
3844             'unit' => 's'
3845             },
3846             '71' => {
3847             'id' => '71',
3848             'name' => 'wkt_step_index',
3849             'offset' => undef,
3850             'scale' => undef,
3851             'type' => 'message_index',
3852             'unit' => undef
3853             },
3854             '74' => {
3855             'id' => '74',
3856             'name' => 'opponent_score',
3857             'offset' => undef,
3858             'scale' => undef,
3859             'type' => 'uint16',
3860             'unit' => undef
3861             },
3862             '75' => {
3863             'id' => '75',
3864             'name' => 'stroke_count',
3865             'offset' => undef,
3866             'scale' => undef,
3867             'type' => 'uint16',
3868             'unit' => 'counts'
3869             },
3870             '76' => {
3871             'id' => '76',
3872             'name' => 'zone_count',
3873             'offset' => undef,
3874             'scale' => undef,
3875             'type' => 'uint16',
3876             'unit' => 'counts'
3877             },
3878             '77' => {
3879             'id' => '77',
3880             'name' => 'avg_vertical_oscillation',
3881             'offset' => undef,
3882             'scale' => '10',
3883             'type' => 'uint16',
3884             'unit' => 'mm'
3885             },
3886             '78' => {
3887             'id' => '78',
3888             'name' => 'avg_stance_time_percent',
3889             'offset' => undef,
3890             'scale' => '100',
3891             'type' => 'uint16',
3892             'unit' => '%'
3893             },
3894             '79' => {
3895             'id' => '79',
3896             'name' => 'avg_stance_time',
3897             'offset' => undef,
3898             'scale' => '10',
3899             'type' => 'uint16',
3900             'unit' => 'ms'
3901             },
3902             '8' => {
3903             'id' => '8',
3904             'name' => 'total_timer_time',
3905             'offset' => undef,
3906             'scale' => '1000',
3907             'type' => 'uint32',
3908             'unit' => 's'
3909             },
3910             '80' => {
3911             'id' => '80',
3912             'name' => 'avg_fractional_cadence',
3913             'offset' => undef,
3914             'scale' => '128',
3915             'type' => 'uint8',
3916             'unit' => 'rpm'
3917             },
3918             '81' => {
3919             'id' => '81',
3920             'name' => 'max_fractional_cadence',
3921             'offset' => undef,
3922             'scale' => '128',
3923             'type' => 'uint8',
3924             'unit' => 'rpm'
3925             },
3926             '82' => {
3927             'id' => '82',
3928             'name' => 'total_fractional_cycles',
3929             'offset' => undef,
3930             'scale' => '128',
3931             'type' => 'uint8',
3932             'unit' => 'cycles'
3933             },
3934             '83' => {
3935             'id' => '83',
3936             'name' => 'player_score',
3937             'offset' => undef,
3938             'scale' => undef,
3939             'type' => 'uint16',
3940             'unit' => undef
3941             },
3942             '84' => {
3943             'id' => '84',
3944             'name' => 'avg_total_hemoglobin_conc',
3945             'offset' => undef,
3946             'scale' => '100',
3947             'type' => 'uint16',
3948             'unit' => 'g/dL'
3949             },
3950             '85' => {
3951             'id' => '85',
3952             'name' => 'min_total_hemoglobin_conc',
3953             'offset' => undef,
3954             'scale' => '100',
3955             'type' => 'uint16',
3956             'unit' => 'g/dL'
3957             },
3958             '86' => {
3959             'id' => '86',
3960             'name' => 'max_total_hemoglobin_conc',
3961             'offset' => undef,
3962             'scale' => '100',
3963             'type' => 'uint16',
3964             'unit' => 'g/dL'
3965             },
3966             '87' => {
3967             'id' => '87',
3968             'name' => 'avg_saturated_hemoglobin_percent',
3969             'offset' => undef,
3970             'scale' => '10',
3971             'type' => 'uint16',
3972             'unit' => '%'
3973             },
3974             '88' => {
3975             'id' => '88',
3976             'name' => 'min_saturated_hemoglobin_percent',
3977             'offset' => undef,
3978             'scale' => '10',
3979             'type' => 'uint16',
3980             'unit' => '%'
3981             },
3982             '89' => {
3983             'id' => '89',
3984             'name' => 'max_saturated_hemoglobin_percent',
3985             'offset' => undef,
3986             'scale' => '10',
3987             'type' => 'uint16',
3988             'unit' => '%'
3989             },
3990             '9' => {
3991             'id' => '9',
3992             'name' => 'total_distance',
3993             'offset' => undef,
3994             'scale' => '100',
3995             'type' => 'uint32',
3996             'unit' => 'm'
3997             },
3998             '91' => {
3999             'id' => '91',
4000             'name' => 'avg_left_torque_effectiveness',
4001             'offset' => undef,
4002             'scale' => '2',
4003             'type' => 'uint8',
4004             'unit' => '%'
4005             },
4006             '92' => {
4007             'id' => '92',
4008             'name' => 'avg_right_torque_effectiveness',
4009             'offset' => undef,
4010             'scale' => '2',
4011             'type' => 'uint8',
4012             'unit' => '%'
4013             },
4014             '93' => {
4015             'id' => '93',
4016             'name' => 'avg_left_pedal_smoothness',
4017             'offset' => undef,
4018             'scale' => '2',
4019             'type' => 'uint8',
4020             'unit' => '%'
4021             },
4022             '94' => {
4023             'id' => '94',
4024             'name' => 'avg_right_pedal_smoothness',
4025             'offset' => undef,
4026             'scale' => '2',
4027             'type' => 'uint8',
4028             'unit' => '%'
4029             },
4030             '95' => {
4031             'id' => '95',
4032             'name' => 'avg_combined_pedal_smoothness',
4033             'offset' => undef,
4034             'scale' => '2',
4035             'type' => 'uint8',
4036             'unit' => '%'
4037             },
4038             '98' => {
4039             'id' => '98',
4040             'name' => 'time_standing',
4041             'offset' => undef,
4042             'scale' => '1000',
4043             'type' => 'uint32',
4044             'unit' => 's'
4045             },
4046             '99' => {
4047             'id' => '99',
4048             'name' => 'stand_count',
4049             'offset' => undef,
4050             'scale' => undef,
4051             'type' => 'uint16',
4052             'unit' => undef
4053             }
4054             },
4055             'name' => 'lap'
4056             },
4057             'length' => {
4058             'fields' => {
4059             '0' => {
4060             'id' => '0',
4061             'name' => 'event',
4062             'offset' => undef,
4063             'scale' => undef,
4064             'type' => 'event',
4065             'unit' => undef
4066             },
4067             '1' => {
4068             'id' => '1',
4069             'name' => 'event_type',
4070             'offset' => undef,
4071             'scale' => undef,
4072             'type' => 'event_type',
4073             'unit' => undef
4074             },
4075             '10' => {
4076             'id' => '10',
4077             'name' => 'event_group',
4078             'offset' => undef,
4079             'scale' => undef,
4080             'type' => 'uint8',
4081             'unit' => undef
4082             },
4083             '11' => {
4084             'id' => '11',
4085             'name' => 'total_calories',
4086             'offset' => undef,
4087             'scale' => undef,
4088             'type' => 'uint16',
4089             'unit' => 'kcal'
4090             },
4091             '12' => {
4092             'id' => '12',
4093             'name' => 'length_type',
4094             'offset' => undef,
4095             'scale' => undef,
4096             'type' => 'length_type',
4097             'unit' => undef
4098             },
4099             '18' => {
4100             'id' => '18',
4101             'name' => 'player_score',
4102             'offset' => undef,
4103             'scale' => undef,
4104             'type' => 'uint16',
4105             'unit' => undef
4106             },
4107             '19' => {
4108             'id' => '19',
4109             'name' => 'opponent_score',
4110             'offset' => undef,
4111             'scale' => undef,
4112             'type' => 'uint16',
4113             'unit' => undef
4114             },
4115             '2' => {
4116             'id' => '2',
4117             'name' => 'start_time',
4118             'offset' => undef,
4119             'scale' => undef,
4120             'type' => 'date_time',
4121             'unit' => undef
4122             },
4123             '20' => {
4124             'id' => '20',
4125             'name' => 'stroke_count',
4126             'offset' => undef,
4127             'scale' => undef,
4128             'type' => 'uint16',
4129             'unit' => 'counts'
4130             },
4131             '21' => {
4132             'id' => '21',
4133             'name' => 'zone_count',
4134             'offset' => undef,
4135             'scale' => undef,
4136             'type' => 'uint16',
4137             'unit' => 'counts'
4138             },
4139             '253' => {
4140             'id' => '253',
4141             'name' => 'timestamp',
4142             'offset' => undef,
4143             'scale' => undef,
4144             'type' => 'date_time',
4145             'unit' => undef
4146             },
4147             '254' => {
4148             'id' => '254',
4149             'name' => 'message_index',
4150             'offset' => undef,
4151             'scale' => undef,
4152             'type' => 'message_index',
4153             'unit' => undef
4154             },
4155             '3' => {
4156             'id' => '3',
4157             'name' => 'total_elapsed_time',
4158             'offset' => undef,
4159             'scale' => '1000',
4160             'type' => 'uint32',
4161             'unit' => 's'
4162             },
4163             '4' => {
4164             'id' => '4',
4165             'name' => 'total_timer_time',
4166             'offset' => undef,
4167             'scale' => '1000',
4168             'type' => 'uint32',
4169             'unit' => 's'
4170             },
4171             '5' => {
4172             'id' => '5',
4173             'name' => 'total_strokes',
4174             'offset' => undef,
4175             'scale' => undef,
4176             'type' => 'uint16',
4177             'unit' => 'strokes'
4178             },
4179             '6' => {
4180             'id' => '6',
4181             'name' => 'avg_speed',
4182             'offset' => undef,
4183             'scale' => '1000',
4184             'type' => 'uint16',
4185             'unit' => 'm/s'
4186             },
4187             '7' => {
4188             'id' => '7',
4189             'name' => 'swim_stroke',
4190             'offset' => undef,
4191             'scale' => undef,
4192             'type' => 'swim_stroke',
4193             'unit' => 'swim_stroke'
4194             },
4195             '9' => {
4196             'id' => '9',
4197             'name' => 'avg_swimming_cadence',
4198             'offset' => undef,
4199             'scale' => undef,
4200             'type' => 'uint8',
4201             'unit' => 'strokes/min'
4202             }
4203             },
4204             'name' => 'length'
4205             },
4206             'magnetometer_data' => {
4207             'fields' => {
4208             '0' => {
4209             'id' => '0',
4210             'name' => 'timestamp_ms',
4211             'offset' => undef,
4212             'scale' => undef,
4213             'type' => 'uint16',
4214             'unit' => 'ms'
4215             },
4216             '1' => {
4217             'id' => '1',
4218             'name' => 'sample_time_offset',
4219             'offset' => undef,
4220             'scale' => undef,
4221             'type' => 'uint16',
4222             'unit' => 'ms'
4223             },
4224             '2' => {
4225             'id' => '2',
4226             'name' => 'mag_x',
4227             'offset' => undef,
4228             'scale' => undef,
4229             'type' => 'uint16',
4230             'unit' => 'counts'
4231             },
4232             '253' => {
4233             'id' => '253',
4234             'name' => 'timestamp',
4235             'offset' => undef,
4236             'scale' => undef,
4237             'type' => 'date_time',
4238             'unit' => 's'
4239             },
4240             '3' => {
4241             'id' => '3',
4242             'name' => 'mag_y',
4243             'offset' => undef,
4244             'scale' => undef,
4245             'type' => 'uint16',
4246             'unit' => 'counts'
4247             },
4248             '4' => {
4249             'id' => '4',
4250             'name' => 'mag_z',
4251             'offset' => undef,
4252             'scale' => undef,
4253             'type' => 'uint16',
4254             'unit' => 'counts'
4255             },
4256             '5' => {
4257             'id' => '5',
4258             'name' => 'calibrated_mag_x',
4259             'offset' => undef,
4260             'scale' => undef,
4261             'type' => 'float32',
4262             'unit' => 'G'
4263             },
4264             '6' => {
4265             'id' => '6',
4266             'name' => 'calibrated_mag_y',
4267             'offset' => undef,
4268             'scale' => undef,
4269             'type' => 'float32',
4270             'unit' => 'G'
4271             },
4272             '7' => {
4273             'id' => '7',
4274             'name' => 'calibrated_mag_z',
4275             'offset' => undef,
4276             'scale' => undef,
4277             'type' => 'float32',
4278             'unit' => 'G'
4279             }
4280             },
4281             'name' => 'magnetometer_data'
4282             },
4283             'memo_glob' => {
4284             'fields' => {
4285             '0' => {
4286             'id' => '0',
4287             'name' => 'memo',
4288             'offset' => undef,
4289             'scale' => undef,
4290             'type' => 'byte',
4291             'unit' => undef
4292             },
4293             '1' => {
4294             'id' => '1',
4295             'name' => 'message_number',
4296             'offset' => undef,
4297             'scale' => undef,
4298             'type' => 'uint16',
4299             'unit' => undef
4300             },
4301             '2' => {
4302             'id' => '2',
4303             'name' => 'message_index',
4304             'offset' => undef,
4305             'scale' => undef,
4306             'type' => 'message_index',
4307             'unit' => undef
4308             },
4309             '250' => {
4310             'id' => '250',
4311             'name' => 'part_index',
4312             'offset' => undef,
4313             'scale' => undef,
4314             'type' => 'uint32',
4315             'unit' => undef
4316             }
4317             },
4318             'name' => 'memo_glob'
4319             },
4320             'mesg_capabilities' => {
4321             'fields' => {
4322             '0' => {
4323             'id' => '0',
4324             'name' => 'file',
4325             'offset' => undef,
4326             'scale' => undef,
4327             'type' => 'file',
4328             'unit' => undef
4329             },
4330             '1' => {
4331             'id' => '1',
4332             'name' => 'mesg_num',
4333             'offset' => undef,
4334             'scale' => undef,
4335             'type' => 'mesg_num',
4336             'unit' => undef
4337             },
4338             '2' => {
4339             'id' => '2',
4340             'name' => 'count_type',
4341             'offset' => undef,
4342             'scale' => undef,
4343             'type' => 'mesg_count',
4344             'unit' => undef
4345             },
4346             '254' => {
4347             'id' => '254',
4348             'name' => 'message_index',
4349             'offset' => undef,
4350             'scale' => undef,
4351             'type' => 'message_index',
4352             'unit' => undef
4353             },
4354             '3' => {
4355             'id' => '3',
4356             'name' => 'count',
4357             'offset' => undef,
4358             'scale' => undef,
4359             'type' => 'uint16',
4360             'unit' => undef
4361             }
4362             },
4363             'name' => 'mesg_capabilities'
4364             },
4365             'met_zone' => {
4366             'fields' => {
4367             '1' => {
4368             'id' => '1',
4369             'name' => 'high_bpm',
4370             'offset' => undef,
4371             'scale' => undef,
4372             'type' => 'uint8',
4373             'unit' => undef
4374             },
4375             '2' => {
4376             'id' => '2',
4377             'name' => 'calories',
4378             'offset' => undef,
4379             'scale' => '10',
4380             'type' => 'uint16',
4381             'unit' => 'kcal / min'
4382             },
4383             '254' => {
4384             'id' => '254',
4385             'name' => 'message_index',
4386             'offset' => undef,
4387             'scale' => undef,
4388             'type' => 'message_index',
4389             'unit' => undef
4390             },
4391             '3' => {
4392             'id' => '3',
4393             'name' => 'fat_calories',
4394             'offset' => undef,
4395             'scale' => '10',
4396             'type' => 'uint8',
4397             'unit' => 'kcal / min'
4398             }
4399             },
4400             'name' => 'met_zone'
4401             },
4402             'monitoring' => {
4403             'fields' => {
4404             '0' => {
4405             'id' => '0',
4406             'name' => 'device_index',
4407             'offset' => undef,
4408             'scale' => undef,
4409             'type' => 'device_index',
4410             'unit' => undef
4411             },
4412             '1' => {
4413             'id' => '1',
4414             'name' => 'calories',
4415             'offset' => undef,
4416             'scale' => undef,
4417             'type' => 'uint16',
4418             'unit' => 'kcal'
4419             },
4420             '10' => {
4421             'id' => '10',
4422             'name' => 'active_time_16',
4423             'offset' => undef,
4424             'scale' => undef,
4425             'type' => 'uint16',
4426             'unit' => 's'
4427             },
4428             '11' => {
4429             'id' => '11',
4430             'name' => 'local_timestamp',
4431             'offset' => undef,
4432             'scale' => undef,
4433             'type' => 'local_date_time',
4434             'unit' => undef
4435             },
4436             '12' => {
4437             'id' => '12',
4438             'name' => 'temperature',
4439             'offset' => undef,
4440             'scale' => '100',
4441             'type' => 'sint16',
4442             'unit' => 'C'
4443             },
4444             '14' => {
4445             'id' => '14',
4446             'name' => 'temperature_min',
4447             'offset' => undef,
4448             'scale' => '100',
4449             'type' => 'sint16',
4450             'unit' => 'C'
4451             },
4452             '15' => {
4453             'id' => '15',
4454             'name' => 'temperature_max',
4455             'offset' => undef,
4456             'scale' => '100',
4457             'type' => 'sint16',
4458             'unit' => 'C'
4459             },
4460             '16' => {
4461             'id' => '16',
4462             'name' => 'activity_time',
4463             'offset' => undef,
4464             'scale' => undef,
4465             'type' => 'uint16',
4466             'unit' => 'minutes'
4467             },
4468             '19' => {
4469             'id' => '19',
4470             'name' => 'active_calories',
4471             'offset' => undef,
4472             'scale' => undef,
4473             'type' => 'uint16',
4474             'unit' => 'kcal'
4475             },
4476             '2' => {
4477             'id' => '2',
4478             'name' => 'distance',
4479             'offset' => undef,
4480             'scale' => '100',
4481             'type' => 'uint32',
4482             'unit' => 'm'
4483             },
4484             '24' => {
4485             'id' => '24',
4486             'name' => 'current_activity_type_intensity',
4487             'offset' => undef,
4488             'scale' => undef,
4489             'type' => 'byte',
4490             'unit' => undef
4491             },
4492             '25' => {
4493             'id' => '25',
4494             'name' => 'timestamp_min_8',
4495             'offset' => undef,
4496             'scale' => undef,
4497             'type' => 'uint8',
4498             'unit' => 'min'
4499             },
4500             '253' => {
4501             'id' => '253',
4502             'name' => 'timestamp',
4503             'offset' => undef,
4504             'scale' => undef,
4505             'type' => 'date_time',
4506             'unit' => 's'
4507             },
4508             '26' => {
4509             'id' => '26',
4510             'name' => 'timestamp_16',
4511             'offset' => undef,
4512             'scale' => undef,
4513             'type' => 'uint16',
4514             'unit' => 's'
4515             },
4516             '27' => {
4517             'id' => '27',
4518             'name' => 'heart_rate',
4519             'offset' => undef,
4520             'scale' => undef,
4521             'type' => 'uint8',
4522             'unit' => 'bpm'
4523             },
4524             '28' => {
4525             'id' => '28',
4526             'name' => 'intensity',
4527             'offset' => undef,
4528             'scale' => '10',
4529             'type' => 'uint8',
4530             'unit' => undef
4531             },
4532             '29' => {
4533             'id' => '29',
4534             'name' => 'duration_min',
4535             'offset' => undef,
4536             'scale' => undef,
4537             'type' => 'uint16',
4538             'unit' => 'min'
4539             },
4540             '3' => {
4541             'id' => '3',
4542             'name' => 'cycles',
4543             'offset' => undef,
4544             'scale' => '2',
4545             'type' => 'uint32',
4546             'unit' => 'cycles'
4547             },
4548             '30' => {
4549             'id' => '30',
4550             'name' => 'duration',
4551             'offset' => undef,
4552             'scale' => undef,
4553             'type' => 'uint32',
4554             'unit' => 's'
4555             },
4556             '31' => {
4557             'id' => '31',
4558             'name' => 'ascent',
4559             'offset' => undef,
4560             'scale' => '1000',
4561             'type' => 'uint32',
4562             'unit' => 'm'
4563             },
4564             '32' => {
4565             'id' => '32',
4566             'name' => 'descent',
4567             'offset' => undef,
4568             'scale' => '1000',
4569             'type' => 'uint32',
4570             'unit' => 'm'
4571             },
4572             '33' => {
4573             'id' => '33',
4574             'name' => 'moderate_activity_minutes',
4575             'offset' => undef,
4576             'scale' => undef,
4577             'type' => 'uint16',
4578             'unit' => 'minutes'
4579             },
4580             '34' => {
4581             'id' => '34',
4582             'name' => 'vigorous_activity_minutes',
4583             'offset' => undef,
4584             'scale' => undef,
4585             'type' => 'uint16',
4586             'unit' => 'minutes'
4587             },
4588             '4' => {
4589             'id' => '4',
4590             'name' => 'active_time',
4591             'offset' => undef,
4592             'scale' => '1000',
4593             'type' => 'uint32',
4594             'unit' => 's'
4595             },
4596             '5' => {
4597             'id' => '5',
4598             'name' => 'activity_type',
4599             'offset' => undef,
4600             'scale' => undef,
4601             'type' => 'activity_type',
4602             'unit' => undef
4603             },
4604             '6' => {
4605             'id' => '6',
4606             'name' => 'activity_subtype',
4607             'offset' => undef,
4608             'scale' => undef,
4609             'type' => 'activity_subtype',
4610             'unit' => undef
4611             },
4612             '7' => {
4613             'id' => '7',
4614             'name' => 'activity_level',
4615             'offset' => undef,
4616             'scale' => undef,
4617             'type' => 'activity_level',
4618             'unit' => undef
4619             },
4620             '8' => {
4621             'id' => '8',
4622             'name' => 'distance_16',
4623             'offset' => undef,
4624             'scale' => undef,
4625             'type' => 'uint16',
4626             'unit' => '100 * m'
4627             },
4628             '9' => {
4629             'id' => '9',
4630             'name' => 'cycles_16',
4631             'offset' => undef,
4632             'scale' => undef,
4633             'type' => 'uint16',
4634             'unit' => '2 * cycles (steps)'
4635             }
4636             },
4637             'name' => 'monitoring'
4638             },
4639             'monitoring_info' => {
4640             'fields' => {
4641             '0' => {
4642             'id' => '0',
4643             'name' => 'local_timestamp',
4644             'offset' => undef,
4645             'scale' => undef,
4646             'type' => 'local_date_time',
4647             'unit' => 's'
4648             },
4649             '1' => {
4650             'id' => '1',
4651             'name' => 'activity_type',
4652             'offset' => undef,
4653             'scale' => undef,
4654             'type' => 'activity_type',
4655             'unit' => undef
4656             },
4657             '253' => {
4658             'id' => '253',
4659             'name' => 'timestamp',
4660             'offset' => undef,
4661             'scale' => undef,
4662             'type' => 'date_time',
4663             'unit' => 's'
4664             },
4665             '3' => {
4666             'id' => '3',
4667             'name' => 'cycles_to_distance',
4668             'offset' => undef,
4669             'scale' => '5000',
4670             'type' => 'uint16',
4671             'unit' => 'm/cycle'
4672             },
4673             '4' => {
4674             'id' => '4',
4675             'name' => 'cycles_to_calories',
4676             'offset' => undef,
4677             'scale' => '5000',
4678             'type' => 'uint16',
4679             'unit' => 'kcal/cycle'
4680             },
4681             '5' => {
4682             'id' => '5',
4683             'name' => 'resting_metabolic_rate',
4684             'offset' => undef,
4685             'scale' => undef,
4686             'type' => 'uint16',
4687             'unit' => 'kcal / day'
4688             }
4689             },
4690             'name' => 'monitoring_info'
4691             },
4692             'nmea_sentence' => {
4693             'fields' => {
4694             '0' => {
4695             'id' => '0',
4696             'name' => 'timestamp_ms',
4697             'offset' => undef,
4698             'scale' => undef,
4699             'type' => 'uint16',
4700             'unit' => 'ms'
4701             },
4702             '1' => {
4703             'id' => '1',
4704             'name' => 'sentence',
4705             'offset' => undef,
4706             'scale' => undef,
4707             'type' => 'string',
4708             'unit' => undef
4709             },
4710             '253' => {
4711             'id' => '253',
4712             'name' => 'timestamp',
4713             'offset' => undef,
4714             'scale' => undef,
4715             'type' => 'date_time',
4716             'unit' => 's'
4717             }
4718             },
4719             'name' => 'nmea_sentence'
4720             },
4721             'obdii_data' => {
4722             'fields' => {
4723             '0' => {
4724             'id' => '0',
4725             'name' => 'timestamp_ms',
4726             'offset' => undef,
4727             'scale' => undef,
4728             'type' => 'uint16',
4729             'unit' => 'ms'
4730             },
4731             '1' => {
4732             'id' => '1',
4733             'name' => 'time_offset',
4734             'offset' => undef,
4735             'scale' => undef,
4736             'type' => 'uint16',
4737             'unit' => 'ms'
4738             },
4739             '2' => {
4740             'id' => '2',
4741             'name' => 'pid',
4742             'offset' => undef,
4743             'scale' => undef,
4744             'type' => 'byte',
4745             'unit' => undef
4746             },
4747             '253' => {
4748             'id' => '253',
4749             'name' => 'timestamp',
4750             'offset' => undef,
4751             'scale' => undef,
4752             'type' => 'date_time',
4753             'unit' => 's'
4754             },
4755             '3' => {
4756             'id' => '3',
4757             'name' => 'raw_data',
4758             'offset' => undef,
4759             'scale' => undef,
4760             'type' => 'byte',
4761             'unit' => undef
4762             },
4763             '4' => {
4764             'id' => '4',
4765             'name' => 'pid_data_size',
4766             'offset' => undef,
4767             'scale' => undef,
4768             'type' => 'uint8',
4769             'unit' => undef
4770             },
4771             '5' => {
4772             'id' => '5',
4773             'name' => 'system_time',
4774             'offset' => undef,
4775             'scale' => undef,
4776             'type' => 'uint32',
4777             'unit' => undef
4778             },
4779             '6' => {
4780             'id' => '6',
4781             'name' => 'start_timestamp',
4782             'offset' => undef,
4783             'scale' => undef,
4784             'type' => 'date_time',
4785             'unit' => undef
4786             },
4787             '7' => {
4788             'id' => '7',
4789             'name' => 'start_timestamp_ms',
4790             'offset' => undef,
4791             'scale' => undef,
4792             'type' => 'uint16',
4793             'unit' => 'ms'
4794             }
4795             },
4796             'name' => 'obdii_data'
4797             },
4798             'ohr_settings' => {
4799             'fields' => {
4800             '0' => {
4801             'id' => '0',
4802             'name' => 'enabled',
4803             'offset' => undef,
4804             'scale' => undef,
4805             'type' => 'switch',
4806             'unit' => undef
4807             },
4808             '253' => {
4809             'id' => '253',
4810             'name' => 'timestamp',
4811             'offset' => undef,
4812             'scale' => undef,
4813             'type' => 'date_time',
4814             'unit' => 's'
4815             }
4816             },
4817             'name' => 'ohr_settings'
4818             },
4819             'one_d_sensor_calibration' => {
4820             'fields' => {
4821             '0' => {
4822             'id' => '0',
4823             'name' => 'sensor_type',
4824             'offset' => undef,
4825             'scale' => undef,
4826             'type' => 'sensor_type',
4827             'unit' => undef
4828             },
4829             '1' => {
4830             'id' => '1',
4831             'name' => 'calibration_factor',
4832             'offset' => undef,
4833             'scale' => undef,
4834             'type' => 'uint32',
4835             'unit' => undef
4836             },
4837             '2' => {
4838             'id' => '2',
4839             'name' => 'calibration_divisor',
4840             'offset' => undef,
4841             'scale' => undef,
4842             'type' => 'uint32',
4843             'unit' => 'counts'
4844             },
4845             '253' => {
4846             'id' => '253',
4847             'name' => 'timestamp',
4848             'offset' => undef,
4849             'scale' => undef,
4850             'type' => 'date_time',
4851             'unit' => 's'
4852             },
4853             '3' => {
4854             'id' => '3',
4855             'name' => 'level_shift',
4856             'offset' => undef,
4857             'scale' => undef,
4858             'type' => 'uint32',
4859             'unit' => undef
4860             },
4861             '4' => {
4862             'id' => '4',
4863             'name' => 'offset_cal',
4864             'offset' => undef,
4865             'scale' => undef,
4866             'type' => 'sint32',
4867             'unit' => undef
4868             }
4869             },
4870             'name' => 'one_d_sensor_calibration'
4871             },
4872             'power_zone' => {
4873             'fields' => {
4874             '1' => {
4875             'id' => '1',
4876             'name' => 'high_value',
4877             'offset' => undef,
4878             'scale' => undef,
4879             'type' => 'uint16',
4880             'unit' => 'watts'
4881             },
4882             '2' => {
4883             'id' => '2',
4884             'name' => 'name',
4885             'offset' => undef,
4886             'scale' => undef,
4887             'type' => 'string',
4888             'unit' => undef
4889             },
4890             '254' => {
4891             'id' => '254',
4892             'name' => 'message_index',
4893             'offset' => undef,
4894             'scale' => undef,
4895             'type' => 'message_index',
4896             'unit' => undef
4897             }
4898             },
4899             'name' => 'power_zone'
4900             },
4901             'record' => {
4902             'fields' => {
4903             '0' => {
4904             'id' => '0',
4905             'name' => 'position_lat',
4906             'offset' => undef,
4907             'scale' => undef,
4908             'type' => 'sint32',
4909             'unit' => 'semicircles'
4910             },
4911             '1' => {
4912             'id' => '1',
4913             'name' => 'position_long',
4914             'offset' => undef,
4915             'scale' => undef,
4916             'type' => 'sint32',
4917             'unit' => 'semicircles'
4918             },
4919             '10' => {
4920             'id' => '10',
4921             'name' => 'resistance',
4922             'offset' => undef,
4923             'scale' => undef,
4924             'type' => 'uint8',
4925             'unit' => undef
4926             },
4927             '11' => {
4928             'id' => '11',
4929             'name' => 'time_from_course',
4930             'offset' => undef,
4931             'scale' => '1000',
4932             'type' => 'sint32',
4933             'unit' => 's'
4934             },
4935             '114' => {
4936             'id' => '114',
4937             'name' => 'grit',
4938             'offset' => undef,
4939             'scale' => undef,
4940             'type' => 'float32',
4941             'unit' => undef
4942             },
4943             '115' => {
4944             'id' => '115',
4945             'name' => 'flow',
4946             'offset' => undef,
4947             'scale' => undef,
4948             'type' => 'float32',
4949             'unit' => undef
4950             },
4951             '117' => {
4952             'id' => '117',
4953             'name' => 'ebike_travel_range',
4954             'offset' => undef,
4955             'scale' => undef,
4956             'type' => 'uint16',
4957             'unit' => 'km'
4958             },
4959             '118' => {
4960             'id' => '118',
4961             'name' => 'ebike_battery_level',
4962             'offset' => undef,
4963             'scale' => undef,
4964             'type' => 'uint8',
4965             'unit' => '%'
4966             },
4967             '119' => {
4968             'id' => '119',
4969             'name' => 'ebike_assist_mode',
4970             'offset' => undef,
4971             'scale' => undef,
4972             'type' => 'uint8',
4973             'unit' => 'depends on sensor'
4974             },
4975             '12' => {
4976             'id' => '12',
4977             'name' => 'cycle_length',
4978             'offset' => undef,
4979             'scale' => '100',
4980             'type' => 'uint8',
4981             'unit' => 'm'
4982             },
4983             '120' => {
4984             'id' => '120',
4985             'name' => 'ebike_assist_level_percent',
4986             'offset' => undef,
4987             'scale' => undef,
4988             'type' => 'uint8',
4989             'unit' => '%'
4990             },
4991             '13' => {
4992             'id' => '13',
4993             'name' => 'temperature',
4994             'offset' => undef,
4995             'scale' => undef,
4996             'type' => 'sint8',
4997             'unit' => 'C'
4998             },
4999             '139' => {
5000             'id' => '139',
5001             'name' => 'core_temperature',
5002             'offset' => undef,
5003             'scale' => '100',
5004             'type' => 'uint16',
5005             'unit' => 'C'
5006             },
5007             '17' => {
5008             'id' => '17',
5009             'name' => 'speed_1s',
5010             'offset' => undef,
5011             'scale' => '16',
5012             'type' => 'uint8',
5013             'unit' => 'm/s'
5014             },
5015             '18' => {
5016             'id' => '18',
5017             'name' => 'cycles',
5018             'offset' => undef,
5019             'scale' => undef,
5020             'type' => 'uint8',
5021             'unit' => 'cycles'
5022             },
5023             '19' => {
5024             'id' => '19',
5025             'name' => 'total_cycles',
5026             'offset' => undef,
5027             'scale' => undef,
5028             'type' => 'uint32',
5029             'unit' => 'cycles'
5030             },
5031             '2' => {
5032             'id' => '2',
5033             'name' => 'altitude',
5034             'offset' => '500',
5035             'scale' => '5',
5036             'type' => 'uint16',
5037             'unit' => 'm'
5038             },
5039             '253' => {
5040             'id' => '253',
5041             'name' => 'timestamp',
5042             'offset' => undef,
5043             'scale' => undef,
5044             'type' => 'date_time',
5045             'unit' => 's'
5046             },
5047             '28' => {
5048             'id' => '28',
5049             'name' => 'compressed_accumulated_power',
5050             'offset' => undef,
5051             'scale' => undef,
5052             'type' => 'uint16',
5053             'unit' => 'watts'
5054             },
5055             '29' => {
5056             'id' => '29',
5057             'name' => 'accumulated_power',
5058             'offset' => undef,
5059             'scale' => undef,
5060             'type' => 'uint32',
5061             'unit' => 'watts'
5062             },
5063             '3' => {
5064             'id' => '3',
5065             'name' => 'heart_rate',
5066             'offset' => undef,
5067             'scale' => undef,
5068             'type' => 'uint8',
5069             'unit' => 'bpm'
5070             },
5071             '30' => {
5072             'id' => '30',
5073             'name' => 'left_right_balance',
5074             'offset' => undef,
5075             'scale' => undef,
5076             'type' => 'left_right_balance',
5077             'unit' => undef
5078             },
5079             '31' => {
5080             'id' => '31',
5081             'name' => 'gps_accuracy',
5082             'offset' => undef,
5083             'scale' => undef,
5084             'type' => 'uint8',
5085             'unit' => 'm'
5086             },
5087             '32' => {
5088             'id' => '32',
5089             'name' => 'vertical_speed',
5090             'offset' => undef,
5091             'scale' => '1000',
5092             'type' => 'sint16',
5093             'unit' => 'm/s'
5094             },
5095             '33' => {
5096             'id' => '33',
5097             'name' => 'calories',
5098             'offset' => undef,
5099             'scale' => undef,
5100             'type' => 'uint16',
5101             'unit' => 'kcal'
5102             },
5103             '39' => {
5104             'id' => '39',
5105             'name' => 'vertical_oscillation',
5106             'offset' => undef,
5107             'scale' => '10',
5108             'type' => 'uint16',
5109             'unit' => 'mm'
5110             },
5111             '4' => {
5112             'id' => '4',
5113             'name' => 'cadence',
5114             'offset' => undef,
5115             'scale' => undef,
5116             'type' => 'uint8',
5117             'unit' => 'rpm'
5118             },
5119             '40' => {
5120             'id' => '40',
5121             'name' => 'stance_time_percent',
5122             'offset' => undef,
5123             'scale' => '100',
5124             'type' => 'uint16',
5125             'unit' => '%'
5126             },
5127             '41' => {
5128             'id' => '41',
5129             'name' => 'stance_time',
5130             'offset' => undef,
5131             'scale' => '10',
5132             'type' => 'uint16',
5133             'unit' => 'ms'
5134             },
5135             '42' => {
5136             'id' => '42',
5137             'name' => 'activity_type',
5138             'offset' => undef,
5139             'scale' => undef,
5140             'type' => 'activity_type',
5141             'unit' => undef
5142             },
5143             '43' => {
5144             'id' => '43',
5145             'name' => 'left_torque_effectiveness',
5146             'offset' => undef,
5147             'scale' => '2',
5148             'type' => 'uint8',
5149             'unit' => '%'
5150             },
5151             '44' => {
5152             'id' => '44',
5153             'name' => 'right_torque_effectiveness',
5154             'offset' => undef,
5155             'scale' => '2',
5156             'type' => 'uint8',
5157             'unit' => '%'
5158             },
5159             '45' => {
5160             'id' => '45',
5161             'name' => 'left_pedal_smoothness',
5162             'offset' => undef,
5163             'scale' => '2',
5164             'type' => 'uint8',
5165             'unit' => '%'
5166             },
5167             '46' => {
5168             'id' => '46',
5169             'name' => 'right_pedal_smoothness',
5170             'offset' => undef,
5171             'scale' => '2',
5172             'type' => 'uint8',
5173             'unit' => '%'
5174             },
5175             '47' => {
5176             'id' => '47',
5177             'name' => 'combined_pedal_smoothness',
5178             'offset' => undef,
5179             'scale' => '2',
5180             'type' => 'uint8',
5181             'unit' => '%'
5182             },
5183             '48' => {
5184             'id' => '48',
5185             'name' => 'time128',
5186             'offset' => undef,
5187             'scale' => '128',
5188             'type' => 'uint8',
5189             'unit' => 's'
5190             },
5191             '49' => {
5192             'id' => '49',
5193             'name' => 'stroke_type',
5194             'offset' => undef,
5195             'scale' => undef,
5196             'type' => 'stroke_type',
5197             'unit' => undef
5198             },
5199             '5' => {
5200             'id' => '5',
5201             'name' => 'distance',
5202             'offset' => undef,
5203             'scale' => '100',
5204             'type' => 'uint32',
5205             'unit' => 'm'
5206             },
5207             '50' => {
5208             'id' => '50',
5209             'name' => 'zone',
5210             'offset' => undef,
5211             'scale' => undef,
5212             'type' => 'uint8',
5213             'unit' => undef
5214             },
5215             '51' => {
5216             'id' => '51',
5217             'name' => 'ball_speed',
5218             'offset' => undef,
5219             'scale' => '100',
5220             'type' => 'uint16',
5221             'unit' => 'm/s'
5222             },
5223             '52' => {
5224             'id' => '52',
5225             'name' => 'cadence256',
5226             'offset' => undef,
5227             'scale' => '256',
5228             'type' => 'uint16',
5229             'unit' => 'rpm'
5230             },
5231             '53' => {
5232             'id' => '53',
5233             'name' => 'fractional_cadence',
5234             'offset' => undef,
5235             'scale' => '128',
5236             'type' => 'uint8',
5237             'unit' => 'rpm'
5238             },
5239             '54' => {
5240             'id' => '54',
5241             'name' => 'total_hemoglobin_conc',
5242             'offset' => undef,
5243             'scale' => '100',
5244             'type' => 'uint16',
5245             'unit' => 'g/dL'
5246             },
5247             '55' => {
5248             'id' => '55',
5249             'name' => 'total_hemoglobin_conc_min',
5250             'offset' => undef,
5251             'scale' => '100',
5252             'type' => 'uint16',
5253             'unit' => 'g/dL'
5254             },
5255             '56' => {
5256             'id' => '56',
5257             'name' => 'total_hemoglobin_conc_max',
5258             'offset' => undef,
5259             'scale' => '100',
5260             'type' => 'uint16',
5261             'unit' => 'g/dL'
5262             },
5263             '57' => {
5264             'id' => '57',
5265             'name' => 'saturated_hemoglobin_percent',
5266             'offset' => undef,
5267             'scale' => '10',
5268             'type' => 'uint16',
5269             'unit' => '%'
5270             },
5271             '58' => {
5272             'id' => '58',
5273             'name' => 'saturated_hemoglobin_percent_min',
5274             'offset' => undef,
5275             'scale' => '10',
5276             'type' => 'uint16',
5277             'unit' => '%'
5278             },
5279             '59' => {
5280             'id' => '59',
5281             'name' => 'saturated_hemoglobin_percent_max',
5282             'offset' => undef,
5283             'scale' => '10',
5284             'type' => 'uint16',
5285             'unit' => '%'
5286             },
5287             '6' => {
5288             'id' => '6',
5289             'name' => 'speed',
5290             'offset' => undef,
5291             'scale' => '1000',
5292             'type' => 'uint16',
5293             'unit' => 'm/s'
5294             },
5295             '62' => {
5296             'id' => '62',
5297             'name' => 'device_index',
5298             'offset' => undef,
5299             'scale' => undef,
5300             'type' => 'device_index',
5301             'unit' => undef
5302             },
5303             '67' => {
5304             'id' => '67',
5305             'name' => 'left_pco',
5306             'offset' => undef,
5307             'scale' => undef,
5308             'type' => 'sint8',
5309             'unit' => 'mm'
5310             },
5311             '68' => {
5312             'id' => '68',
5313             'name' => 'right_pco',
5314             'offset' => undef,
5315             'scale' => undef,
5316             'type' => 'sint8',
5317             'unit' => 'mm'
5318             },
5319             '69' => {
5320             'id' => '69',
5321             'name' => 'left_power_phase',
5322             'offset' => undef,
5323             'scale' => '0.7111111',
5324             'type' => 'uint8',
5325             'unit' => 'degrees'
5326             },
5327             '7' => {
5328             'id' => '7',
5329             'name' => 'power',
5330             'offset' => undef,
5331             'scale' => undef,
5332             'type' => 'uint16',
5333             'unit' => 'watts'
5334             },
5335             '70' => {
5336             'id' => '70',
5337             'name' => 'left_power_phase_peak',
5338             'offset' => undef,
5339             'scale' => '0.7111111',
5340             'type' => 'uint8',
5341             'unit' => 'degrees'
5342             },
5343             '71' => {
5344             'id' => '71',
5345             'name' => 'right_power_phase',
5346             'offset' => undef,
5347             'scale' => '0.7111111',
5348             'type' => 'uint8',
5349             'unit' => 'degrees'
5350             },
5351             '72' => {
5352             'id' => '72',
5353             'name' => 'right_power_phase_peak',
5354             'offset' => undef,
5355             'scale' => '0.7111111',
5356             'type' => 'uint8',
5357             'unit' => 'degrees'
5358             },
5359             '73' => {
5360             'id' => '73',
5361             'name' => 'enhanced_speed',
5362             'offset' => undef,
5363             'scale' => '1000',
5364             'type' => 'uint32',
5365             'unit' => 'm/s'
5366             },
5367             '78' => {
5368             'id' => '78',
5369             'name' => 'enhanced_altitude',
5370             'offset' => '500',
5371             'scale' => '5',
5372             'type' => 'uint32',
5373             'unit' => 'm'
5374             },
5375             '8' => {
5376             'id' => '8',
5377             'name' => 'compressed_speed_distance',
5378             'offset' => undef,
5379             'scale' => '100,
5380             16',
5381             'type' => 'byte',
5382             'unit' => 'm/s,
5383             m'
5384             },
5385             '81' => {
5386             'id' => '81',
5387             'name' => 'battery_soc',
5388             'offset' => undef,
5389             'scale' => '2',
5390             'type' => 'uint8',
5391             'unit' => '%'
5392             },
5393             '82' => {
5394             'id' => '82',
5395             'name' => 'motor_power',
5396             'offset' => undef,
5397             'scale' => undef,
5398             'type' => 'uint16',
5399             'unit' => 'watts'
5400             },
5401             '83' => {
5402             'id' => '83',
5403             'name' => 'vertical_ratio',
5404             'offset' => undef,
5405             'scale' => '100',
5406             'type' => 'uint16',
5407             'unit' => '%'
5408             },
5409             '84' => {
5410             'id' => '84',
5411             'name' => 'stance_time_balance',
5412             'offset' => undef,
5413             'scale' => '100',
5414             'type' => 'uint16',
5415             'unit' => '%'
5416             },
5417             '85' => {
5418             'id' => '85',
5419             'name' => 'step_length',
5420             'offset' => undef,
5421             'scale' => '10',
5422             'type' => 'uint16',
5423             'unit' => 'mm'
5424             },
5425             '9' => {
5426             'id' => '9',
5427             'name' => 'grade',
5428             'offset' => undef,
5429             'scale' => '100',
5430             'type' => 'sint16',
5431             'unit' => '%'
5432             },
5433             '91' => {
5434             'id' => '91',
5435             'name' => 'absolute_pressure',
5436             'offset' => undef,
5437             'scale' => undef,
5438             'type' => 'uint32',
5439             'unit' => 'Pa'
5440             },
5441             '92' => {
5442             'id' => '92',
5443             'name' => 'depth',
5444             'offset' => undef,
5445             'scale' => '1000',
5446             'type' => 'uint32',
5447             'unit' => 'm'
5448             },
5449             '93' => {
5450             'id' => '93',
5451             'name' => 'next_stop_depth',
5452             'offset' => undef,
5453             'scale' => '1000',
5454             'type' => 'uint32',
5455             'unit' => 'm'
5456             },
5457             '94' => {
5458             'id' => '94',
5459             'name' => 'next_stop_time',
5460             'offset' => undef,
5461             'scale' => '1',
5462             'type' => 'uint32',
5463             'unit' => 's'
5464             },
5465             '95' => {
5466             'id' => '95',
5467             'name' => 'time_to_surface',
5468             'offset' => undef,
5469             'scale' => '1',
5470             'type' => 'uint32',
5471             'unit' => 's'
5472             },
5473             '96' => {
5474             'id' => '96',
5475             'name' => 'ndl_time',
5476             'offset' => undef,
5477             'scale' => '1',
5478             'type' => 'uint32',
5479             'unit' => 's'
5480             },
5481             '97' => {
5482             'id' => '97',
5483             'name' => 'cns_load',
5484             'offset' => undef,
5485             'scale' => undef,
5486             'type' => 'uint8',
5487             'unit' => '%'
5488             },
5489             '98' => {
5490             'id' => '98',
5491             'name' => 'n2_load',
5492             'offset' => undef,
5493             'scale' => '1',
5494             'type' => 'uint16',
5495             'unit' => '%'
5496             }
5497             },
5498             'name' => 'record'
5499             },
5500             'schedule' => {
5501             'fields' => {
5502             '0' => {
5503             'id' => '0',
5504             'name' => 'manufacturer',
5505             'offset' => undef,
5506             'scale' => undef,
5507             'type' => 'manufacturer',
5508             'unit' => undef
5509             },
5510             '1' => {
5511             'id' => '1',
5512             'name' => 'product',
5513             'offset' => undef,
5514             'scale' => undef,
5515             'type' => 'uint16',
5516             'unit' => undef
5517             },
5518             '2' => {
5519             'id' => '2',
5520             'name' => 'serial_number',
5521             'offset' => undef,
5522             'scale' => undef,
5523             'type' => 'uint32z',
5524             'unit' => undef
5525             },
5526             '3' => {
5527             'id' => '3',
5528             'name' => 'time_created',
5529             'offset' => undef,
5530             'scale' => undef,
5531             'type' => 'date_time',
5532             'unit' => undef
5533             },
5534             '4' => {
5535             'id' => '4',
5536             'name' => 'completed',
5537             'offset' => undef,
5538             'scale' => undef,
5539             'type' => 'bool',
5540             'unit' => undef
5541             },
5542             '5' => {
5543             'id' => '5',
5544             'name' => 'type',
5545             'offset' => undef,
5546             'scale' => undef,
5547             'type' => 'schedule',
5548             'unit' => undef
5549             },
5550             '6' => {
5551             'id' => '6',
5552             'name' => 'scheduled_time',
5553             'offset' => undef,
5554             'scale' => undef,
5555             'type' => 'local_date_time',
5556             'unit' => undef
5557             }
5558             },
5559             'name' => 'schedule'
5560             },
5561             'sdm_profile' => {
5562             'fields' => {
5563             '0' => {
5564             'id' => '0',
5565             'name' => 'enabled',
5566             'offset' => undef,
5567             'scale' => undef,
5568             'type' => 'bool',
5569             'unit' => undef
5570             },
5571             '1' => {
5572             'id' => '1',
5573             'name' => 'sdm_ant_id',
5574             'offset' => undef,
5575             'scale' => undef,
5576             'type' => 'uint16z',
5577             'unit' => undef
5578             },
5579             '2' => {
5580             'id' => '2',
5581             'name' => 'sdm_cal_factor',
5582             'offset' => undef,
5583             'scale' => '10',
5584             'type' => 'uint16',
5585             'unit' => '%'
5586             },
5587             '254' => {
5588             'id' => '254',
5589             'name' => 'message_index',
5590             'offset' => undef,
5591             'scale' => undef,
5592             'type' => 'message_index',
5593             'unit' => undef
5594             },
5595             '3' => {
5596             'id' => '3',
5597             'name' => 'odometer',
5598             'offset' => undef,
5599             'scale' => '100',
5600             'type' => 'uint32',
5601             'unit' => 'm'
5602             },
5603             '4' => {
5604             'id' => '4',
5605             'name' => 'speed_source',
5606             'offset' => undef,
5607             'scale' => undef,
5608             'type' => 'bool',
5609             'unit' => undef
5610             },
5611             '5' => {
5612             'id' => '5',
5613             'name' => 'sdm_ant_id_trans_type',
5614             'offset' => undef,
5615             'scale' => undef,
5616             'type' => 'uint8z',
5617             'unit' => undef
5618             },
5619             '7' => {
5620             'id' => '7',
5621             'name' => 'odometer_rollover',
5622             'offset' => undef,
5623             'scale' => undef,
5624             'type' => 'uint8',
5625             'unit' => undef
5626             }
5627             },
5628             'name' => 'sdm_profile'
5629             },
5630             'segment_file' => {
5631             'fields' => {
5632             '1' => {
5633             'id' => '1',
5634             'name' => 'file_uuid',
5635             'offset' => undef,
5636             'scale' => undef,
5637             'type' => 'string',
5638             'unit' => undef
5639             },
5640             '10' => {
5641             'id' => '10',
5642             'name' => 'leader_activity_id_string',
5643             'offset' => undef,
5644             'scale' => undef,
5645             'type' => 'string',
5646             'unit' => undef
5647             },
5648             '11' => {
5649             'id' => '11',
5650             'name' => 'default_race_leader',
5651             'offset' => undef,
5652             'scale' => undef,
5653             'type' => 'uint8',
5654             'unit' => undef
5655             },
5656             '254' => {
5657             'id' => '254',
5658             'name' => 'message_index',
5659             'offset' => undef,
5660             'scale' => undef,
5661             'type' => 'message_index',
5662             'unit' => undef
5663             },
5664             '3' => {
5665             'id' => '3',
5666             'name' => 'enabled',
5667             'offset' => undef,
5668             'scale' => undef,
5669             'type' => 'bool',
5670             'unit' => undef
5671             },
5672             '4' => {
5673             'id' => '4',
5674             'name' => 'user_profile_primary_key',
5675             'offset' => undef,
5676             'scale' => undef,
5677             'type' => 'uint32',
5678             'unit' => undef
5679             },
5680             '7' => {
5681             'id' => '7',
5682             'name' => 'leader_type',
5683             'offset' => undef,
5684             'scale' => undef,
5685             'type' => 'segment_leaderboard_type',
5686             'unit' => undef
5687             },
5688             '8' => {
5689             'id' => '8',
5690             'name' => 'leader_group_primary_key',
5691             'offset' => undef,
5692             'scale' => undef,
5693             'type' => 'uint32',
5694             'unit' => undef
5695             },
5696             '9' => {
5697             'id' => '9',
5698             'name' => 'leader_activity_id',
5699             'offset' => undef,
5700             'scale' => undef,
5701             'type' => 'uint32',
5702             'unit' => undef
5703             }
5704             },
5705             'name' => 'segment_file'
5706             },
5707             'segment_id' => {
5708             'fields' => {
5709             '0' => {
5710             'id' => '0',
5711             'name' => 'name',
5712             'offset' => undef,
5713             'scale' => undef,
5714             'type' => 'string',
5715             'unit' => undef
5716             },
5717             '1' => {
5718             'id' => '1',
5719             'name' => 'uuid',
5720             'offset' => undef,
5721             'scale' => undef,
5722             'type' => 'string',
5723             'unit' => undef
5724             },
5725             '2' => {
5726             'id' => '2',
5727             'name' => 'sport',
5728             'offset' => undef,
5729             'scale' => undef,
5730             'type' => 'sport',
5731             'unit' => undef
5732             },
5733             '3' => {
5734             'id' => '3',
5735             'name' => 'enabled',
5736             'offset' => undef,
5737             'scale' => undef,
5738             'type' => 'bool',
5739             'unit' => undef
5740             },
5741             '4' => {
5742             'id' => '4',
5743             'name' => 'user_profile_primary_key',
5744             'offset' => undef,
5745             'scale' => undef,
5746             'type' => 'uint32',
5747             'unit' => undef
5748             },
5749             '5' => {
5750             'id' => '5',
5751             'name' => 'device_id',
5752             'offset' => undef,
5753             'scale' => undef,
5754             'type' => 'uint32',
5755             'unit' => undef
5756             },
5757             '6' => {
5758             'id' => '6',
5759             'name' => 'default_race_leader',
5760             'offset' => undef,
5761             'scale' => undef,
5762             'type' => 'uint8',
5763             'unit' => undef
5764             },
5765             '7' => {
5766             'id' => '7',
5767             'name' => 'delete_status',
5768             'offset' => undef,
5769             'scale' => undef,
5770             'type' => 'segment_delete_status',
5771             'unit' => undef
5772             },
5773             '8' => {
5774             'id' => '8',
5775             'name' => 'selection_type',
5776             'offset' => undef,
5777             'scale' => undef,
5778             'type' => 'segment_selection_type',
5779             'unit' => undef
5780             }
5781             },
5782             'name' => 'segment_id'
5783             },
5784             'segment_lap' => {
5785             'fields' => {
5786             '0' => {
5787             'id' => '0',
5788             'name' => 'event',
5789             'offset' => undef,
5790             'scale' => undef,
5791             'type' => 'event',
5792             'unit' => undef
5793             },
5794             '1' => {
5795             'id' => '1',
5796             'name' => 'event_type',
5797             'offset' => undef,
5798             'scale' => undef,
5799             'type' => 'event_type',
5800             'unit' => undef
5801             },
5802             '10' => {
5803             'id' => '10',
5804             'name' => 'total_cycles',
5805             'offset' => undef,
5806             'scale' => undef,
5807             'type' => 'uint32',
5808             'unit' => 'cycles'
5809             },
5810             '11' => {
5811             'id' => '11',
5812             'name' => 'total_calories',
5813             'offset' => undef,
5814             'scale' => undef,
5815             'type' => 'uint16',
5816             'unit' => 'kcal'
5817             },
5818             '12' => {
5819             'id' => '12',
5820             'name' => 'total_fat_calories',
5821             'offset' => undef,
5822             'scale' => undef,
5823             'type' => 'uint16',
5824             'unit' => 'kcal'
5825             },
5826             '13' => {
5827             'id' => '13',
5828             'name' => 'avg_speed',
5829             'offset' => undef,
5830             'scale' => '1000',
5831             'type' => 'uint16',
5832             'unit' => 'm/s'
5833             },
5834             '14' => {
5835             'id' => '14',
5836             'name' => 'max_speed',
5837             'offset' => undef,
5838             'scale' => '1000',
5839             'type' => 'uint16',
5840             'unit' => 'm/s'
5841             },
5842             '15' => {
5843             'id' => '15',
5844             'name' => 'avg_heart_rate',
5845             'offset' => undef,
5846             'scale' => undef,
5847             'type' => 'uint8',
5848             'unit' => 'bpm'
5849             },
5850             '16' => {
5851             'id' => '16',
5852             'name' => 'max_heart_rate',
5853             'offset' => undef,
5854             'scale' => undef,
5855             'type' => 'uint8',
5856             'unit' => 'bpm'
5857             },
5858             '17' => {
5859             'id' => '17',
5860             'name' => 'avg_cadence',
5861             'offset' => undef,
5862             'scale' => undef,
5863             'type' => 'uint8',
5864             'unit' => 'rpm'
5865             },
5866             '18' => {
5867             'id' => '18',
5868             'name' => 'max_cadence',
5869             'offset' => undef,
5870             'scale' => undef,
5871             'type' => 'uint8',
5872             'unit' => 'rpm'
5873             },
5874             '19' => {
5875             'id' => '19',
5876             'name' => 'avg_power',
5877             'offset' => undef,
5878             'scale' => undef,
5879             'type' => 'uint16',
5880             'unit' => 'watts'
5881             },
5882             '2' => {
5883             'id' => '2',
5884             'name' => 'start_time',
5885             'offset' => undef,
5886             'scale' => undef,
5887             'type' => 'date_time',
5888             'unit' => undef
5889             },
5890             '20' => {
5891             'id' => '20',
5892             'name' => 'max_power',
5893             'offset' => undef,
5894             'scale' => undef,
5895             'type' => 'uint16',
5896             'unit' => 'watts'
5897             },
5898             '21' => {
5899             'id' => '21',
5900             'name' => 'total_ascent',
5901             'offset' => undef,
5902             'scale' => undef,
5903             'type' => 'uint16',
5904             'unit' => 'm'
5905             },
5906             '22' => {
5907             'id' => '22',
5908             'name' => 'total_descent',
5909             'offset' => undef,
5910             'scale' => undef,
5911             'type' => 'uint16',
5912             'unit' => 'm'
5913             },
5914             '23' => {
5915             'id' => '23',
5916             'name' => 'sport',
5917             'offset' => undef,
5918             'scale' => undef,
5919             'type' => 'sport',
5920             'unit' => undef
5921             },
5922             '24' => {
5923             'id' => '24',
5924             'name' => 'event_group',
5925             'offset' => undef,
5926             'scale' => undef,
5927             'type' => 'uint8',
5928             'unit' => undef
5929             },
5930             '25' => {
5931             'id' => '25',
5932             'name' => 'nec_lat',
5933             'offset' => undef,
5934             'scale' => undef,
5935             'type' => 'sint32',
5936             'unit' => 'semicircles'
5937             },
5938             '253' => {
5939             'id' => '253',
5940             'name' => 'timestamp',
5941             'offset' => undef,
5942             'scale' => undef,
5943             'type' => 'date_time',
5944             'unit' => 's'
5945             },
5946             '254' => {
5947             'id' => '254',
5948             'name' => 'message_index',
5949             'offset' => undef,
5950             'scale' => undef,
5951             'type' => 'message_index',
5952             'unit' => undef
5953             },
5954             '26' => {
5955             'id' => '26',
5956             'name' => 'nec_long',
5957             'offset' => undef,
5958             'scale' => undef,
5959             'type' => 'sint32',
5960             'unit' => 'semicircles'
5961             },
5962             '27' => {
5963             'id' => '27',
5964             'name' => 'swc_lat',
5965             'offset' => undef,
5966             'scale' => undef,
5967             'type' => 'sint32',
5968             'unit' => 'semicircles'
5969             },
5970             '28' => {
5971             'id' => '28',
5972             'name' => 'swc_long',
5973             'offset' => undef,
5974             'scale' => undef,
5975             'type' => 'sint32',
5976             'unit' => 'semicircles'
5977             },
5978             '29' => {
5979             'id' => '29',
5980             'name' => 'name',
5981             'offset' => undef,
5982             'scale' => undef,
5983             'type' => 'string',
5984             'unit' => undef
5985             },
5986             '3' => {
5987             'id' => '3',
5988             'name' => 'start_position_lat',
5989             'offset' => undef,
5990             'scale' => undef,
5991             'type' => 'sint32',
5992             'unit' => 'semicircles'
5993             },
5994             '30' => {
5995             'id' => '30',
5996             'name' => 'normalized_power',
5997             'offset' => undef,
5998             'scale' => undef,
5999             'type' => 'uint16',
6000             'unit' => 'watts'
6001             },
6002             '31' => {
6003             'id' => '31',
6004             'name' => 'left_right_balance',
6005             'offset' => undef,
6006             'scale' => undef,
6007             'type' => 'left_right_balance_100',
6008             'unit' => undef
6009             },
6010             '32' => {
6011             'id' => '32',
6012             'name' => 'sub_sport',
6013             'offset' => undef,
6014             'scale' => undef,
6015             'type' => 'sub_sport',
6016             'unit' => undef
6017             },
6018             '33' => {
6019             'id' => '33',
6020             'name' => 'total_work',
6021             'offset' => undef,
6022             'scale' => undef,
6023             'type' => 'uint32',
6024             'unit' => 'J'
6025             },
6026             '34' => {
6027             'id' => '34',
6028             'name' => 'avg_altitude',
6029             'offset' => '500',
6030             'scale' => '5',
6031             'type' => 'uint16',
6032             'unit' => 'm'
6033             },
6034             '35' => {
6035             'id' => '35',
6036             'name' => 'max_altitude',
6037             'offset' => '500',
6038             'scale' => '5',
6039             'type' => 'uint16',
6040             'unit' => 'm'
6041             },
6042             '36' => {
6043             'id' => '36',
6044             'name' => 'gps_accuracy',
6045             'offset' => undef,
6046             'scale' => undef,
6047             'type' => 'uint8',
6048             'unit' => 'm'
6049             },
6050             '37' => {
6051             'id' => '37',
6052             'name' => 'avg_grade',
6053             'offset' => undef,
6054             'scale' => '100',
6055             'type' => 'sint16',
6056             'unit' => '%'
6057             },
6058             '38' => {
6059             'id' => '38',
6060             'name' => 'avg_pos_grade',
6061             'offset' => undef,
6062             'scale' => '100',
6063             'type' => 'sint16',
6064             'unit' => '%'
6065             },
6066             '39' => {
6067             'id' => '39',
6068             'name' => 'avg_neg_grade',
6069             'offset' => undef,
6070             'scale' => '100',
6071             'type' => 'sint16',
6072             'unit' => '%'
6073             },
6074             '4' => {
6075             'id' => '4',
6076             'name' => 'start_position_long',
6077             'offset' => undef,
6078             'scale' => undef,
6079             'type' => 'sint32',
6080             'unit' => 'semicircles'
6081             },
6082             '40' => {
6083             'id' => '40',
6084             'name' => 'max_pos_grade',
6085             'offset' => undef,
6086             'scale' => '100',
6087             'type' => 'sint16',
6088             'unit' => '%'
6089             },
6090             '41' => {
6091             'id' => '41',
6092             'name' => 'max_neg_grade',
6093             'offset' => undef,
6094             'scale' => '100',
6095             'type' => 'sint16',
6096             'unit' => '%'
6097             },
6098             '42' => {
6099             'id' => '42',
6100             'name' => 'avg_temperature',
6101             'offset' => undef,
6102             'scale' => undef,
6103             'type' => 'sint8',
6104             'unit' => 'C'
6105             },
6106             '43' => {
6107             'id' => '43',
6108             'name' => 'max_temperature',
6109             'offset' => undef,
6110             'scale' => undef,
6111             'type' => 'sint8',
6112             'unit' => 'C'
6113             },
6114             '44' => {
6115             'id' => '44',
6116             'name' => 'total_moving_time',
6117             'offset' => undef,
6118             'scale' => '1000',
6119             'type' => 'uint32',
6120             'unit' => 's'
6121             },
6122             '45' => {
6123             'id' => '45',
6124             'name' => 'avg_pos_vertical_speed',
6125             'offset' => undef,
6126             'scale' => '1000',
6127             'type' => 'sint16',
6128             'unit' => 'm/s'
6129             },
6130             '46' => {
6131             'id' => '46',
6132             'name' => 'avg_neg_vertical_speed',
6133             'offset' => undef,
6134             'scale' => '1000',
6135             'type' => 'sint16',
6136             'unit' => 'm/s'
6137             },
6138             '47' => {
6139             'id' => '47',
6140             'name' => 'max_pos_vertical_speed',
6141             'offset' => undef,
6142             'scale' => '1000',
6143             'type' => 'sint16',
6144             'unit' => 'm/s'
6145             },
6146             '48' => {
6147             'id' => '48',
6148             'name' => 'max_neg_vertical_speed',
6149             'offset' => undef,
6150             'scale' => '1000',
6151             'type' => 'sint16',
6152             'unit' => 'm/s'
6153             },
6154             '49' => {
6155             'id' => '49',
6156             'name' => 'time_in_hr_zone',
6157             'offset' => undef,
6158             'scale' => '1000',
6159             'type' => 'uint32',
6160             'unit' => 's'
6161             },
6162             '5' => {
6163             'id' => '5',
6164             'name' => 'end_position_lat',
6165             'offset' => undef,
6166             'scale' => undef,
6167             'type' => 'sint32',
6168             'unit' => 'semicircles'
6169             },
6170             '50' => {
6171             'id' => '50',
6172             'name' => 'time_in_speed_zone',
6173             'offset' => undef,
6174             'scale' => '1000',
6175             'type' => 'uint32',
6176             'unit' => 's'
6177             },
6178             '51' => {
6179             'id' => '51',
6180             'name' => 'time_in_cadence_zone',
6181             'offset' => undef,
6182             'scale' => '1000',
6183             'type' => 'uint32',
6184             'unit' => 's'
6185             },
6186             '52' => {
6187             'id' => '52',
6188             'name' => 'time_in_power_zone',
6189             'offset' => undef,
6190             'scale' => '1000',
6191             'type' => 'uint32',
6192             'unit' => 's'
6193             },
6194             '53' => {
6195             'id' => '53',
6196             'name' => 'repetition_num',
6197             'offset' => undef,
6198             'scale' => undef,
6199             'type' => 'uint16',
6200             'unit' => undef
6201             },
6202             '54' => {
6203             'id' => '54',
6204             'name' => 'min_altitude',
6205             'offset' => '500',
6206             'scale' => '5',
6207             'type' => 'uint16',
6208             'unit' => 'm'
6209             },
6210             '55' => {
6211             'id' => '55',
6212             'name' => 'min_heart_rate',
6213             'offset' => undef,
6214             'scale' => undef,
6215             'type' => 'uint8',
6216             'unit' => 'bpm'
6217             },
6218             '56' => {
6219             'id' => '56',
6220             'name' => 'active_time',
6221             'offset' => undef,
6222             'scale' => '1000',
6223             'type' => 'uint32',
6224             'unit' => 's'
6225             },
6226             '57' => {
6227             'id' => '57',
6228             'name' => 'wkt_step_index',
6229             'offset' => undef,
6230             'scale' => undef,
6231             'type' => 'message_index',
6232             'unit' => undef
6233             },
6234             '58' => {
6235             'id' => '58',
6236             'name' => 'sport_event',
6237             'offset' => undef,
6238             'scale' => undef,
6239             'type' => 'sport_event',
6240             'unit' => undef
6241             },
6242             '59' => {
6243             'id' => '59',
6244             'name' => 'avg_left_torque_effectiveness',
6245             'offset' => undef,
6246             'scale' => '2',
6247             'type' => 'uint8',
6248             'unit' => '%'
6249             },
6250             '6' => {
6251             'id' => '6',
6252             'name' => 'end_position_long',
6253             'offset' => undef,
6254             'scale' => undef,
6255             'type' => 'sint32',
6256             'unit' => 'semicircles'
6257             },
6258             '60' => {
6259             'id' => '60',
6260             'name' => 'avg_right_torque_effectiveness',
6261             'offset' => undef,
6262             'scale' => '2',
6263             'type' => 'uint8',
6264             'unit' => '%'
6265             },
6266             '61' => {
6267             'id' => '61',
6268             'name' => 'avg_left_pedal_smoothness',
6269             'offset' => undef,
6270             'scale' => '2',
6271             'type' => 'uint8',
6272             'unit' => '%'
6273             },
6274             '62' => {
6275             'id' => '62',
6276             'name' => 'avg_right_pedal_smoothness',
6277             'offset' => undef,
6278             'scale' => '2',
6279             'type' => 'uint8',
6280             'unit' => '%'
6281             },
6282             '63' => {
6283             'id' => '63',
6284             'name' => 'avg_combined_pedal_smoothness',
6285             'offset' => undef,
6286             'scale' => '2',
6287             'type' => 'uint8',
6288             'unit' => '%'
6289             },
6290             '64' => {
6291             'id' => '64',
6292             'name' => 'status',
6293             'offset' => undef,
6294             'scale' => undef,
6295             'type' => 'segment_lap_status',
6296             'unit' => undef
6297             },
6298             '65' => {
6299             'id' => '65',
6300             'name' => 'uuid',
6301             'offset' => undef,
6302             'scale' => undef,
6303             'type' => 'string',
6304             'unit' => undef
6305             },
6306             '66' => {
6307             'id' => '66',
6308             'name' => 'avg_fractional_cadence',
6309             'offset' => undef,
6310             'scale' => '128',
6311             'type' => 'uint8',
6312             'unit' => 'rpm'
6313             },
6314             '67' => {
6315             'id' => '67',
6316             'name' => 'max_fractional_cadence',
6317             'offset' => undef,
6318             'scale' => '128',
6319             'type' => 'uint8',
6320             'unit' => 'rpm'
6321             },
6322             '68' => {
6323             'id' => '68',
6324             'name' => 'total_fractional_cycles',
6325             'offset' => undef,
6326             'scale' => '128',
6327             'type' => 'uint8',
6328             'unit' => 'cycles'
6329             },
6330             '69' => {
6331             'id' => '69',
6332             'name' => 'front_gear_shift_count',
6333             'offset' => undef,
6334             'scale' => undef,
6335             'type' => 'uint16',
6336             'unit' => undef
6337             },
6338             '7' => {
6339             'id' => '7',
6340             'name' => 'total_elapsed_time',
6341             'offset' => undef,
6342             'scale' => '1000',
6343             'type' => 'uint32',
6344             'unit' => 's'
6345             },
6346             '70' => {
6347             'id' => '70',
6348             'name' => 'rear_gear_shift_count',
6349             'offset' => undef,
6350             'scale' => undef,
6351             'type' => 'uint16',
6352             'unit' => undef
6353             },
6354             '71' => {
6355             'id' => '71',
6356             'name' => 'time_standing',
6357             'offset' => undef,
6358             'scale' => '1000',
6359             'type' => 'uint32',
6360             'unit' => 's'
6361             },
6362             '72' => {
6363             'id' => '72',
6364             'name' => 'stand_count',
6365             'offset' => undef,
6366             'scale' => undef,
6367             'type' => 'uint16',
6368             'unit' => undef
6369             },
6370             '73' => {
6371             'id' => '73',
6372             'name' => 'avg_left_pco',
6373             'offset' => undef,
6374             'scale' => undef,
6375             'type' => 'sint8',
6376             'unit' => 'mm'
6377             },
6378             '74' => {
6379             'id' => '74',
6380             'name' => 'avg_right_pco',
6381             'offset' => undef,
6382             'scale' => undef,
6383             'type' => 'sint8',
6384             'unit' => 'mm'
6385             },
6386             '75' => {
6387             'id' => '75',
6388             'name' => 'avg_left_power_phase',
6389             'offset' => undef,
6390             'scale' => '0.7111111',
6391             'type' => 'uint8',
6392             'unit' => 'degrees'
6393             },
6394             '76' => {
6395             'id' => '76',
6396             'name' => 'avg_left_power_phase_peak',
6397             'offset' => undef,
6398             'scale' => '0.7111111',
6399             'type' => 'uint8',
6400             'unit' => 'degrees'
6401             },
6402             '77' => {
6403             'id' => '77',
6404             'name' => 'avg_right_power_phase',
6405             'offset' => undef,
6406             'scale' => '0.7111111',
6407             'type' => 'uint8',
6408             'unit' => 'degrees'
6409             },
6410             '78' => {
6411             'id' => '78',
6412             'name' => 'avg_right_power_phase_peak',
6413             'offset' => undef,
6414             'scale' => '0.7111111',
6415             'type' => 'uint8',
6416             'unit' => 'degrees'
6417             },
6418             '79' => {
6419             'id' => '79',
6420             'name' => 'avg_power_position',
6421             'offset' => undef,
6422             'scale' => undef,
6423             'type' => 'uint16',
6424             'unit' => 'watts'
6425             },
6426             '8' => {
6427             'id' => '8',
6428             'name' => 'total_timer_time',
6429             'offset' => undef,
6430             'scale' => '1000',
6431             'type' => 'uint32',
6432             'unit' => 's'
6433             },
6434             '80' => {
6435             'id' => '80',
6436             'name' => 'max_power_position',
6437             'offset' => undef,
6438             'scale' => undef,
6439             'type' => 'uint16',
6440             'unit' => 'watts'
6441             },
6442             '81' => {
6443             'id' => '81',
6444             'name' => 'avg_cadence_position',
6445             'offset' => undef,
6446             'scale' => undef,
6447             'type' => 'uint8',
6448             'unit' => 'rpm'
6449             },
6450             '82' => {
6451             'id' => '82',
6452             'name' => 'max_cadence_position',
6453             'offset' => undef,
6454             'scale' => undef,
6455             'type' => 'uint8',
6456             'unit' => 'rpm'
6457             },
6458             '83' => {
6459             'id' => '83',
6460             'name' => 'manufacturer',
6461             'offset' => undef,
6462             'scale' => undef,
6463             'type' => 'manufacturer',
6464             'unit' => undef
6465             },
6466             '84' => {
6467             'id' => '84',
6468             'name' => 'total_grit',
6469             'offset' => undef,
6470             'scale' => undef,
6471             'type' => 'float32',
6472             'unit' => 'kGrit'
6473             },
6474             '85' => {
6475             'id' => '85',
6476             'name' => 'total_flow',
6477             'offset' => undef,
6478             'scale' => undef,
6479             'type' => 'float32',
6480             'unit' => 'Flow'
6481             },
6482             '86' => {
6483             'id' => '86',
6484             'name' => 'avg_grit',
6485             'offset' => undef,
6486             'scale' => undef,
6487             'type' => 'float32',
6488             'unit' => 'kGrit'
6489             },
6490             '87' => {
6491             'id' => '87',
6492             'name' => 'avg_flow',
6493             'offset' => undef,
6494             'scale' => undef,
6495             'type' => 'float32',
6496             'unit' => 'Flow'
6497             },
6498             '89' => {
6499             'id' => '89',
6500             'name' => 'total_fractional_ascent',
6501             'offset' => undef,
6502             'scale' => '100',
6503             'type' => 'uint8',
6504             'unit' => 'm'
6505             },
6506             '9' => {
6507             'id' => '9',
6508             'name' => 'total_distance',
6509             'offset' => undef,
6510             'scale' => '100',
6511             'type' => 'uint32',
6512             'unit' => 'm'
6513             },
6514             '90' => {
6515             'id' => '90',
6516             'name' => 'total_fractional_descent',
6517             'offset' => undef,
6518             'scale' => '100',
6519             'type' => 'uint8',
6520             'unit' => 'm'
6521             }
6522             },
6523             'name' => 'segment_lap'
6524             },
6525             'segment_leaderboard_entry' => {
6526             'fields' => {
6527             '0' => {
6528             'id' => '0',
6529             'name' => 'name',
6530             'offset' => undef,
6531             'scale' => undef,
6532             'type' => 'string',
6533             'unit' => undef
6534             },
6535             '1' => {
6536             'id' => '1',
6537             'name' => 'type',
6538             'offset' => undef,
6539             'scale' => undef,
6540             'type' => 'segment_leaderboard_type',
6541             'unit' => undef
6542             },
6543             '2' => {
6544             'id' => '2',
6545             'name' => 'group_primary_key',
6546             'offset' => undef,
6547             'scale' => undef,
6548             'type' => 'uint32',
6549             'unit' => undef
6550             },
6551             '254' => {
6552             'id' => '254',
6553             'name' => 'message_index',
6554             'offset' => undef,
6555             'scale' => undef,
6556             'type' => 'message_index',
6557             'unit' => undef
6558             },
6559             '3' => {
6560             'id' => '3',
6561             'name' => 'activity_id',
6562             'offset' => undef,
6563             'scale' => undef,
6564             'type' => 'uint32',
6565             'unit' => undef
6566             },
6567             '4' => {
6568             'id' => '4',
6569             'name' => 'segment_time',
6570             'offset' => undef,
6571             'scale' => '1000',
6572             'type' => 'uint32',
6573             'unit' => 's'
6574             },
6575             '5' => {
6576             'id' => '5',
6577             'name' => 'activity_id_string',
6578             'offset' => undef,
6579             'scale' => undef,
6580             'type' => 'string',
6581             'unit' => undef
6582             }
6583             },
6584             'name' => 'segment_leaderboard_entry'
6585             },
6586             'segment_point' => {
6587             'fields' => {
6588             '1' => {
6589             'id' => '1',
6590             'name' => 'position_lat',
6591             'offset' => undef,
6592             'scale' => undef,
6593             'type' => 'sint32',
6594             'unit' => 'semicircles'
6595             },
6596             '2' => {
6597             'id' => '2',
6598             'name' => 'position_long',
6599             'offset' => undef,
6600             'scale' => undef,
6601             'type' => 'sint32',
6602             'unit' => 'semicircles'
6603             },
6604             '254' => {
6605             'id' => '254',
6606             'name' => 'message_index',
6607             'offset' => undef,
6608             'scale' => undef,
6609             'type' => 'message_index',
6610             'unit' => undef
6611             },
6612             '3' => {
6613             'id' => '3',
6614             'name' => 'distance',
6615             'offset' => undef,
6616             'scale' => '100',
6617             'type' => 'uint32',
6618             'unit' => 'm'
6619             },
6620             '4' => {
6621             'id' => '4',
6622             'name' => 'altitude',
6623             'offset' => '500',
6624             'scale' => '5',
6625             'type' => 'uint16',
6626             'unit' => 'm'
6627             },
6628             '5' => {
6629             'id' => '5',
6630             'name' => 'leader_time',
6631             'offset' => undef,
6632             'scale' => '1000',
6633             'type' => 'uint32',
6634             'unit' => 's'
6635             }
6636             },
6637             'name' => 'segment_point'
6638             },
6639             'session' => {
6640             'fields' => {
6641             '0' => {
6642             'id' => '0',
6643             'name' => 'event',
6644             'offset' => undef,
6645             'scale' => undef,
6646             'type' => 'event',
6647             'unit' => undef
6648             },
6649             '1' => {
6650             'id' => '1',
6651             'name' => 'event_type',
6652             'offset' => undef,
6653             'scale' => undef,
6654             'type' => 'event_type',
6655             'unit' => undef
6656             },
6657             '10' => {
6658             'id' => '10',
6659             'name' => 'total_cycles',
6660             'offset' => undef,
6661             'scale' => undef,
6662             'type' => 'uint32',
6663             'unit' => 'cycles'
6664             },
6665             '100' => {
6666             'id' => '100',
6667             'name' => 'max_saturated_hemoglobin_percent',
6668             'offset' => undef,
6669             'scale' => '10',
6670             'type' => 'uint16',
6671             'unit' => '%'
6672             },
6673             '101' => {
6674             'id' => '101',
6675             'name' => 'avg_left_torque_effectiveness',
6676             'offset' => undef,
6677             'scale' => '2',
6678             'type' => 'uint8',
6679             'unit' => '%'
6680             },
6681             '102' => {
6682             'id' => '102',
6683             'name' => 'avg_right_torque_effectiveness',
6684             'offset' => undef,
6685             'scale' => '2',
6686             'type' => 'uint8',
6687             'unit' => '%'
6688             },
6689             '103' => {
6690             'id' => '103',
6691             'name' => 'avg_left_pedal_smoothness',
6692             'offset' => undef,
6693             'scale' => '2',
6694             'type' => 'uint8',
6695             'unit' => '%'
6696             },
6697             '104' => {
6698             'id' => '104',
6699             'name' => 'avg_right_pedal_smoothness',
6700             'offset' => undef,
6701             'scale' => '2',
6702             'type' => 'uint8',
6703             'unit' => '%'
6704             },
6705             '105' => {
6706             'id' => '105',
6707             'name' => 'avg_combined_pedal_smoothness',
6708             'offset' => undef,
6709             'scale' => '2',
6710             'type' => 'uint8',
6711             'unit' => '%'
6712             },
6713             '11' => {
6714             'id' => '11',
6715             'name' => 'total_calories',
6716             'offset' => undef,
6717             'scale' => undef,
6718             'type' => 'uint16',
6719             'unit' => 'kcal'
6720             },
6721             '111' => {
6722             'id' => '111',
6723             'name' => 'sport_index',
6724             'offset' => undef,
6725             'scale' => undef,
6726             'type' => 'uint8',
6727             'unit' => undef
6728             },
6729             '112' => {
6730             'id' => '112',
6731             'name' => 'time_standing',
6732             'offset' => undef,
6733             'scale' => '1000',
6734             'type' => 'uint32',
6735             'unit' => 's'
6736             },
6737             '113' => {
6738             'id' => '113',
6739             'name' => 'stand_count',
6740             'offset' => undef,
6741             'scale' => undef,
6742             'type' => 'uint16',
6743             'unit' => undef
6744             },
6745             '114' => {
6746             'id' => '114',
6747             'name' => 'avg_left_pco',
6748             'offset' => undef,
6749             'scale' => undef,
6750             'type' => 'sint8',
6751             'unit' => 'mm'
6752             },
6753             '115' => {
6754             'id' => '115',
6755             'name' => 'avg_right_pco',
6756             'offset' => undef,
6757             'scale' => undef,
6758             'type' => 'sint8',
6759             'unit' => 'mm'
6760             },
6761             '116' => {
6762             'id' => '116',
6763             'name' => 'avg_left_power_phase',
6764             'offset' => undef,
6765             'scale' => '0.7111111',
6766             'type' => 'uint8',
6767             'unit' => 'degrees'
6768             },
6769             '117' => {
6770             'id' => '117',
6771             'name' => 'avg_left_power_phase_peak',
6772             'offset' => undef,
6773             'scale' => '0.7111111',
6774             'type' => 'uint8',
6775             'unit' => 'degrees'
6776             },
6777             '118' => {
6778             'id' => '118',
6779             'name' => 'avg_right_power_phase',
6780             'offset' => undef,
6781             'scale' => '0.7111111',
6782             'type' => 'uint8',
6783             'unit' => 'degrees'
6784             },
6785             '119' => {
6786             'id' => '119',
6787             'name' => 'avg_right_power_phase_peak',
6788             'offset' => undef,
6789             'scale' => '0.7111111',
6790             'type' => 'uint8',
6791             'unit' => 'degrees'
6792             },
6793             '120' => {
6794             'id' => '120',
6795             'name' => 'avg_power_position',
6796             'offset' => undef,
6797             'scale' => undef,
6798             'type' => 'uint16',
6799             'unit' => 'watts'
6800             },
6801             '121' => {
6802             'id' => '121',
6803             'name' => 'max_power_position',
6804             'offset' => undef,
6805             'scale' => undef,
6806             'type' => 'uint16',
6807             'unit' => 'watts'
6808             },
6809             '122' => {
6810             'id' => '122',
6811             'name' => 'avg_cadence_position',
6812             'offset' => undef,
6813             'scale' => undef,
6814             'type' => 'uint8',
6815             'unit' => 'rpm'
6816             },
6817             '123' => {
6818             'id' => '123',
6819             'name' => 'max_cadence_position',
6820             'offset' => undef,
6821             'scale' => undef,
6822             'type' => 'uint8',
6823             'unit' => 'rpm'
6824             },
6825             '124' => {
6826             'id' => '124',
6827             'name' => 'enhanced_avg_speed',
6828             'offset' => undef,
6829             'scale' => '1000',
6830             'type' => 'uint32',
6831             'unit' => 'm/s'
6832             },
6833             '125' => {
6834             'id' => '125',
6835             'name' => 'enhanced_max_speed',
6836             'offset' => undef,
6837             'scale' => '1000',
6838             'type' => 'uint32',
6839             'unit' => 'm/s'
6840             },
6841             '126' => {
6842             'id' => '126',
6843             'name' => 'enhanced_avg_altitude',
6844             'offset' => '500',
6845             'scale' => '5',
6846             'type' => 'uint32',
6847             'unit' => 'm'
6848             },
6849             '127' => {
6850             'id' => '127',
6851             'name' => 'enhanced_min_altitude',
6852             'offset' => '500',
6853             'scale' => '5',
6854             'type' => 'uint32',
6855             'unit' => 'm'
6856             },
6857             '128' => {
6858             'id' => '128',
6859             'name' => 'enhanced_max_altitude',
6860             'offset' => '500',
6861             'scale' => '5',
6862             'type' => 'uint32',
6863             'unit' => 'm'
6864             },
6865             '129' => {
6866             'id' => '129',
6867             'name' => 'avg_lev_motor_power',
6868             'offset' => undef,
6869             'scale' => undef,
6870             'type' => 'uint16',
6871             'unit' => 'watts'
6872             },
6873             '13' => {
6874             'id' => '13',
6875             'name' => 'total_fat_calories',
6876             'offset' => undef,
6877             'scale' => undef,
6878             'type' => 'uint16',
6879             'unit' => 'kcal'
6880             },
6881             '130' => {
6882             'id' => '130',
6883             'name' => 'max_lev_motor_power',
6884             'offset' => undef,
6885             'scale' => undef,
6886             'type' => 'uint16',
6887             'unit' => 'watts'
6888             },
6889             '131' => {
6890             'id' => '131',
6891             'name' => 'lev_battery_consumption',
6892             'offset' => undef,
6893             'scale' => '2',
6894             'type' => 'uint8',
6895             'unit' => '%'
6896             },
6897             '132' => {
6898             'id' => '132',
6899             'name' => 'avg_vertical_ratio',
6900             'offset' => undef,
6901             'scale' => '100',
6902             'type' => 'uint16',
6903             'unit' => '%'
6904             },
6905             '133' => {
6906             'id' => '133',
6907             'name' => 'avg_stance_time_balance',
6908             'offset' => undef,
6909             'scale' => '100',
6910             'type' => 'uint16',
6911             'unit' => '%'
6912             },
6913             '134' => {
6914             'id' => '134',
6915             'name' => 'avg_step_length',
6916             'offset' => undef,
6917             'scale' => '10',
6918             'type' => 'uint16',
6919             'unit' => 'mm'
6920             },
6921             '137' => {
6922             'id' => '137',
6923             'name' => 'total_anaerobic_training_effect',
6924             'offset' => undef,
6925             'scale' => '10',
6926             'type' => 'uint8',
6927             'unit' => undef
6928             },
6929             '139' => {
6930             'id' => '139',
6931             'name' => 'avg_vam',
6932             'offset' => undef,
6933             'scale' => '1000',
6934             'type' => 'uint16',
6935             'unit' => 'm/s'
6936             },
6937             '14' => {
6938             'id' => '14',
6939             'name' => 'avg_speed',
6940             'offset' => undef,
6941             'scale' => '1000',
6942             'type' => 'uint16',
6943             'unit' => 'm/s'
6944             },
6945             '15' => {
6946             'id' => '15',
6947             'name' => 'max_speed',
6948             'offset' => undef,
6949             'scale' => '1000',
6950             'type' => 'uint16',
6951             'unit' => 'm/s'
6952             },
6953             '16' => {
6954             'id' => '16',
6955             'name' => 'avg_heart_rate',
6956             'offset' => undef,
6957             'scale' => undef,
6958             'type' => 'uint8',
6959             'unit' => 'bpm'
6960             },
6961             '17' => {
6962             'id' => '17',
6963             'name' => 'max_heart_rate',
6964             'offset' => undef,
6965             'scale' => undef,
6966             'type' => 'uint8',
6967             'unit' => 'bpm'
6968             },
6969             '18' => {
6970             'id' => '18',
6971             'name' => 'avg_cadence',
6972             'offset' => undef,
6973             'scale' => undef,
6974             'type' => 'uint8',
6975             'unit' => 'rpm'
6976             },
6977             '181' => {
6978             'id' => '181',
6979             'name' => 'total_grit',
6980             'offset' => undef,
6981             'scale' => undef,
6982             'type' => 'float32',
6983             'unit' => 'kGrit'
6984             },
6985             '182' => {
6986             'id' => '182',
6987             'name' => 'total_flow',
6988             'offset' => undef,
6989             'scale' => undef,
6990             'type' => 'float32',
6991             'unit' => 'Flow'
6992             },
6993             '183' => {
6994             'id' => '183',
6995             'name' => 'jump_count',
6996             'offset' => undef,
6997             'scale' => undef,
6998             'type' => 'uint16',
6999             'unit' => undef
7000             },
7001             '186' => {
7002             'id' => '186',
7003             'name' => 'avg_grit',
7004             'offset' => undef,
7005             'scale' => undef,
7006             'type' => 'float32',
7007             'unit' => 'kGrit'
7008             },
7009             '187' => {
7010             'id' => '187',
7011             'name' => 'avg_flow',
7012             'offset' => undef,
7013             'scale' => undef,
7014             'type' => 'float32',
7015             'unit' => 'Flow'
7016             },
7017             '19' => {
7018             'id' => '19',
7019             'name' => 'max_cadence',
7020             'offset' => undef,
7021             'scale' => undef,
7022             'type' => 'uint8',
7023             'unit' => 'rpm'
7024             },
7025             '199' => {
7026             'id' => '199',
7027             'name' => 'total_fractional_ascent',
7028             'offset' => undef,
7029             'scale' => '100',
7030             'type' => 'uint8',
7031             'unit' => 'm'
7032             },
7033             '2' => {
7034             'id' => '2',
7035             'name' => 'start_time',
7036             'offset' => undef,
7037             'scale' => undef,
7038             'type' => 'date_time',
7039             'unit' => undef
7040             },
7041             '20' => {
7042             'id' => '20',
7043             'name' => 'avg_power',
7044             'offset' => undef,
7045             'scale' => undef,
7046             'type' => 'uint16',
7047             'unit' => 'watts'
7048             },
7049             '200' => {
7050             'id' => '200',
7051             'name' => 'total_fractional_descent',
7052             'offset' => undef,
7053             'scale' => '100',
7054             'type' => 'uint8',
7055             'unit' => 'm'
7056             },
7057             '208' => {
7058             'id' => '208',
7059             'name' => 'avg_core_temperature',
7060             'offset' => undef,
7061             'scale' => '100',
7062             'type' => 'uint16',
7063             'unit' => 'C'
7064             },
7065             '209' => {
7066             'id' => '209',
7067             'name' => 'min_core_temperature',
7068             'offset' => undef,
7069             'scale' => '100',
7070             'type' => 'uint16',
7071             'unit' => 'C'
7072             },
7073             '21' => {
7074             'id' => '21',
7075             'name' => 'max_power',
7076             'offset' => undef,
7077             'scale' => undef,
7078             'type' => 'uint16',
7079             'unit' => 'watts'
7080             },
7081             '210' => {
7082             'id' => '210',
7083             'name' => 'max_core_temperature',
7084             'offset' => undef,
7085             'scale' => '100',
7086             'type' => 'uint16',
7087             'unit' => 'C'
7088             },
7089             '22' => {
7090             'id' => '22',
7091             'name' => 'total_ascent',
7092             'offset' => undef,
7093             'scale' => undef,
7094             'type' => 'uint16',
7095             'unit' => 'm'
7096             },
7097             '23' => {
7098             'id' => '23',
7099             'name' => 'total_descent',
7100             'offset' => undef,
7101             'scale' => undef,
7102             'type' => 'uint16',
7103             'unit' => 'm'
7104             },
7105             '24' => {
7106             'id' => '24',
7107             'name' => 'total_training_effect',
7108             'offset' => undef,
7109             'scale' => '10',
7110             'type' => 'uint8',
7111             'unit' => undef
7112             },
7113             '25' => {
7114             'id' => '25',
7115             'name' => 'first_lap_index',
7116             'offset' => undef,
7117             'scale' => undef,
7118             'type' => 'uint16',
7119             'unit' => undef
7120             },
7121             '253' => {
7122             'id' => '253',
7123             'name' => 'timestamp',
7124             'offset' => undef,
7125             'scale' => undef,
7126             'type' => 'date_time',
7127             'unit' => 's'
7128             },
7129             '254' => {
7130             'id' => '254',
7131             'name' => 'message_index',
7132             'offset' => undef,
7133             'scale' => undef,
7134             'type' => 'message_index',
7135             'unit' => undef
7136             },
7137             '26' => {
7138             'id' => '26',
7139             'name' => 'num_laps',
7140             'offset' => undef,
7141             'scale' => undef,
7142             'type' => 'uint16',
7143             'unit' => undef
7144             },
7145             '27' => {
7146             'id' => '27',
7147             'name' => 'event_group',
7148             'offset' => undef,
7149             'scale' => undef,
7150             'type' => 'uint8',
7151             'unit' => undef
7152             },
7153             '28' => {
7154             'id' => '28',
7155             'name' => 'trigger',
7156             'offset' => undef,
7157             'scale' => undef,
7158             'type' => 'session_trigger',
7159             'unit' => undef
7160             },
7161             '29' => {
7162             'id' => '29',
7163             'name' => 'nec_lat',
7164             'offset' => undef,
7165             'scale' => undef,
7166             'type' => 'sint32',
7167             'unit' => 'semicircles'
7168             },
7169             '3' => {
7170             'id' => '3',
7171             'name' => 'start_position_lat',
7172             'offset' => undef,
7173             'scale' => undef,
7174             'type' => 'sint32',
7175             'unit' => 'semicircles'
7176             },
7177             '30' => {
7178             'id' => '30',
7179             'name' => 'nec_long',
7180             'offset' => undef,
7181             'scale' => undef,
7182             'type' => 'sint32',
7183             'unit' => 'semicircles'
7184             },
7185             '31' => {
7186             'id' => '31',
7187             'name' => 'swc_lat',
7188             'offset' => undef,
7189             'scale' => undef,
7190             'type' => 'sint32',
7191             'unit' => 'semicircles'
7192             },
7193             '32' => {
7194             'id' => '32',
7195             'name' => 'swc_long',
7196             'offset' => undef,
7197             'scale' => undef,
7198             'type' => 'sint32',
7199             'unit' => 'semicircles'
7200             },
7201             '33' => {
7202             'id' => '33',
7203             'name' => 'num_lengths',
7204             'offset' => undef,
7205             'scale' => undef,
7206             'type' => 'uint16',
7207             'unit' => 'lengths'
7208             },
7209             '34' => {
7210             'id' => '34',
7211             'name' => 'normalized_power',
7212             'offset' => undef,
7213             'scale' => undef,
7214             'type' => 'uint16',
7215             'unit' => 'watts'
7216             },
7217             '35' => {
7218             'id' => '35',
7219             'name' => 'training_stress_score',
7220             'offset' => undef,
7221             'scale' => '10',
7222             'type' => 'uint16',
7223             'unit' => 'tss'
7224             },
7225             '36' => {
7226             'id' => '36',
7227             'name' => 'intensity_factor',
7228             'offset' => undef,
7229             'scale' => '1000',
7230             'type' => 'uint16',
7231             'unit' => 'if'
7232             },
7233             '37' => {
7234             'id' => '37',
7235             'name' => 'left_right_balance',
7236             'offset' => undef,
7237             'scale' => undef,
7238             'type' => 'left_right_balance_100',
7239             'unit' => undef
7240             },
7241             '4' => {
7242             'id' => '4',
7243             'name' => 'start_position_long',
7244             'offset' => undef,
7245             'scale' => undef,
7246             'type' => 'sint32',
7247             'unit' => 'semicircles'
7248             },
7249             '41' => {
7250             'id' => '41',
7251             'name' => 'avg_stroke_count',
7252             'offset' => undef,
7253             'scale' => '10',
7254             'type' => 'uint32',
7255             'unit' => 'strokes/lap'
7256             },
7257             '42' => {
7258             'id' => '42',
7259             'name' => 'avg_stroke_distance',
7260             'offset' => undef,
7261             'scale' => '100',
7262             'type' => 'uint16',
7263             'unit' => 'm'
7264             },
7265             '43' => {
7266             'id' => '43',
7267             'name' => 'swim_stroke',
7268             'offset' => undef,
7269             'scale' => undef,
7270             'type' => 'swim_stroke',
7271             'unit' => 'swim_stroke'
7272             },
7273             '44' => {
7274             'id' => '44',
7275             'name' => 'pool_length',
7276             'offset' => undef,
7277             'scale' => '100',
7278             'type' => 'uint16',
7279             'unit' => 'm'
7280             },
7281             '45' => {
7282             'id' => '45',
7283             'name' => 'threshold_power',
7284             'offset' => undef,
7285             'scale' => undef,
7286             'type' => 'uint16',
7287             'unit' => 'watts'
7288             },
7289             '46' => {
7290             'id' => '46',
7291             'name' => 'pool_length_unit',
7292             'offset' => undef,
7293             'scale' => undef,
7294             'type' => 'display_measure',
7295             'unit' => undef
7296             },
7297             '47' => {
7298             'id' => '47',
7299             'name' => 'num_active_lengths',
7300             'offset' => undef,
7301             'scale' => undef,
7302             'type' => 'uint16',
7303             'unit' => 'lengths'
7304             },
7305             '48' => {
7306             'id' => '48',
7307             'name' => 'total_work',
7308             'offset' => undef,
7309             'scale' => undef,
7310             'type' => 'uint32',
7311             'unit' => 'J'
7312             },
7313             '49' => {
7314             'id' => '49',
7315             'name' => 'avg_altitude',
7316             'offset' => '500',
7317             'scale' => '5',
7318             'type' => 'uint16',
7319             'unit' => 'm'
7320             },
7321             '5' => {
7322             'id' => '5',
7323             'name' => 'sport',
7324             'offset' => undef,
7325             'scale' => undef,
7326             'type' => 'sport',
7327             'unit' => undef
7328             },
7329             '50' => {
7330             'id' => '50',
7331             'name' => 'max_altitude',
7332             'offset' => '500',
7333             'scale' => '5',
7334             'type' => 'uint16',
7335             'unit' => 'm'
7336             },
7337             '51' => {
7338             'id' => '51',
7339             'name' => 'gps_accuracy',
7340             'offset' => undef,
7341             'scale' => undef,
7342             'type' => 'uint8',
7343             'unit' => 'm'
7344             },
7345             '52' => {
7346             'id' => '52',
7347             'name' => 'avg_grade',
7348             'offset' => undef,
7349             'scale' => '100',
7350             'type' => 'sint16',
7351             'unit' => '%'
7352             },
7353             '53' => {
7354             'id' => '53',
7355             'name' => 'avg_pos_grade',
7356             'offset' => undef,
7357             'scale' => '100',
7358             'type' => 'sint16',
7359             'unit' => '%'
7360             },
7361             '54' => {
7362             'id' => '54',
7363             'name' => 'avg_neg_grade',
7364             'offset' => undef,
7365             'scale' => '100',
7366             'type' => 'sint16',
7367             'unit' => '%'
7368             },
7369             '55' => {
7370             'id' => '55',
7371             'name' => 'max_pos_grade',
7372             'offset' => undef,
7373             'scale' => '100',
7374             'type' => 'sint16',
7375             'unit' => '%'
7376             },
7377             '56' => {
7378             'id' => '56',
7379             'name' => 'max_neg_grade',
7380             'offset' => undef,
7381             'scale' => '100',
7382             'type' => 'sint16',
7383             'unit' => '%'
7384             },
7385             '57' => {
7386             'id' => '57',
7387             'name' => 'avg_temperature',
7388             'offset' => undef,
7389             'scale' => undef,
7390             'type' => 'sint8',
7391             'unit' => 'C'
7392             },
7393             '58' => {
7394             'id' => '58',
7395             'name' => 'max_temperature',
7396             'offset' => undef,
7397             'scale' => undef,
7398             'type' => 'sint8',
7399             'unit' => 'C'
7400             },
7401             '59' => {
7402             'id' => '59',
7403             'name' => 'total_moving_time',
7404             'offset' => undef,
7405             'scale' => '1000',
7406             'type' => 'uint32',
7407             'unit' => 's'
7408             },
7409             '6' => {
7410             'id' => '6',
7411             'name' => 'sub_sport',
7412             'offset' => undef,
7413             'scale' => undef,
7414             'type' => 'sub_sport',
7415             'unit' => undef
7416             },
7417             '60' => {
7418             'id' => '60',
7419             'name' => 'avg_pos_vertical_speed',
7420             'offset' => undef,
7421             'scale' => '1000',
7422             'type' => 'sint16',
7423             'unit' => 'm/s'
7424             },
7425             '61' => {
7426             'id' => '61',
7427             'name' => 'avg_neg_vertical_speed',
7428             'offset' => undef,
7429             'scale' => '1000',
7430             'type' => 'sint16',
7431             'unit' => 'm/s'
7432             },
7433             '62' => {
7434             'id' => '62',
7435             'name' => 'max_pos_vertical_speed',
7436             'offset' => undef,
7437             'scale' => '1000',
7438             'type' => 'sint16',
7439             'unit' => 'm/s'
7440             },
7441             '63' => {
7442             'id' => '63',
7443             'name' => 'max_neg_vertical_speed',
7444             'offset' => undef,
7445             'scale' => '1000',
7446             'type' => 'sint16',
7447             'unit' => 'm/s'
7448             },
7449             '64' => {
7450             'id' => '64',
7451             'name' => 'min_heart_rate',
7452             'offset' => undef,
7453             'scale' => undef,
7454             'type' => 'uint8',
7455             'unit' => 'bpm'
7456             },
7457             '65' => {
7458             'id' => '65',
7459             'name' => 'time_in_hr_zone',
7460             'offset' => undef,
7461             'scale' => '1000',
7462             'type' => 'uint32',
7463             'unit' => 's'
7464             },
7465             '66' => {
7466             'id' => '66',
7467             'name' => 'time_in_speed_zone',
7468             'offset' => undef,
7469             'scale' => '1000',
7470             'type' => 'uint32',
7471             'unit' => 's'
7472             },
7473             '67' => {
7474             'id' => '67',
7475             'name' => 'time_in_cadence_zone',
7476             'offset' => undef,
7477             'scale' => '1000',
7478             'type' => 'uint32',
7479             'unit' => 's'
7480             },
7481             '68' => {
7482             'id' => '68',
7483             'name' => 'time_in_power_zone',
7484             'offset' => undef,
7485             'scale' => '1000',
7486             'type' => 'uint32',
7487             'unit' => 's'
7488             },
7489             '69' => {
7490             'id' => '69',
7491             'name' => 'avg_lap_time',
7492             'offset' => undef,
7493             'scale' => '1000',
7494             'type' => 'uint32',
7495             'unit' => 's'
7496             },
7497             '7' => {
7498             'id' => '7',
7499             'name' => 'total_elapsed_time',
7500             'offset' => undef,
7501             'scale' => '1000',
7502             'type' => 'uint32',
7503             'unit' => 's'
7504             },
7505             '70' => {
7506             'id' => '70',
7507             'name' => 'best_lap_index',
7508             'offset' => undef,
7509             'scale' => undef,
7510             'type' => 'uint16',
7511             'unit' => undef
7512             },
7513             '71' => {
7514             'id' => '71',
7515             'name' => 'min_altitude',
7516             'offset' => '500',
7517             'scale' => '5',
7518             'type' => 'uint16',
7519             'unit' => 'm'
7520             },
7521             '8' => {
7522             'id' => '8',
7523             'name' => 'total_timer_time',
7524             'offset' => undef,
7525             'scale' => '1000',
7526             'type' => 'uint32',
7527             'unit' => 's'
7528             },
7529             '82' => {
7530             'id' => '82',
7531             'name' => 'player_score',
7532             'offset' => undef,
7533             'scale' => undef,
7534             'type' => 'uint16',
7535             'unit' => undef
7536             },
7537             '83' => {
7538             'id' => '83',
7539             'name' => 'opponent_score',
7540             'offset' => undef,
7541             'scale' => undef,
7542             'type' => 'uint16',
7543             'unit' => undef
7544             },
7545             '84' => {
7546             'id' => '84',
7547             'name' => 'opponent_name',
7548             'offset' => undef,
7549             'scale' => undef,
7550             'type' => 'string',
7551             'unit' => undef
7552             },
7553             '85' => {
7554             'id' => '85',
7555             'name' => 'stroke_count',
7556             'offset' => undef,
7557             'scale' => undef,
7558             'type' => 'uint16',
7559             'unit' => 'counts'
7560             },
7561             '86' => {
7562             'id' => '86',
7563             'name' => 'zone_count',
7564             'offset' => undef,
7565             'scale' => undef,
7566             'type' => 'uint16',
7567             'unit' => 'counts'
7568             },
7569             '87' => {
7570             'id' => '87',
7571             'name' => 'max_ball_speed',
7572             'offset' => undef,
7573             'scale' => '100',
7574             'type' => 'uint16',
7575             'unit' => 'm/s'
7576             },
7577             '88' => {
7578             'id' => '88',
7579             'name' => 'avg_ball_speed',
7580             'offset' => undef,
7581             'scale' => '100',
7582             'type' => 'uint16',
7583             'unit' => 'm/s'
7584             },
7585             '89' => {
7586             'id' => '89',
7587             'name' => 'avg_vertical_oscillation',
7588             'offset' => undef,
7589             'scale' => '10',
7590             'type' => 'uint16',
7591             'unit' => 'mm'
7592             },
7593             '9' => {
7594             'id' => '9',
7595             'name' => 'total_distance',
7596             'offset' => undef,
7597             'scale' => '100',
7598             'type' => 'uint32',
7599             'unit' => 'm'
7600             },
7601             '90' => {
7602             'id' => '90',
7603             'name' => 'avg_stance_time_percent',
7604             'offset' => undef,
7605             'scale' => '100',
7606             'type' => 'uint16',
7607             'unit' => '%'
7608             },
7609             '91' => {
7610             'id' => '91',
7611             'name' => 'avg_stance_time',
7612             'offset' => undef,
7613             'scale' => '10',
7614             'type' => 'uint16',
7615             'unit' => 'ms'
7616             },
7617             '92' => {
7618             'id' => '92',
7619             'name' => 'avg_fractional_cadence',
7620             'offset' => undef,
7621             'scale' => '128',
7622             'type' => 'uint8',
7623             'unit' => 'rpm'
7624             },
7625             '93' => {
7626             'id' => '93',
7627             'name' => 'max_fractional_cadence',
7628             'offset' => undef,
7629             'scale' => '128',
7630             'type' => 'uint8',
7631             'unit' => 'rpm'
7632             },
7633             '94' => {
7634             'id' => '94',
7635             'name' => 'total_fractional_cycles',
7636             'offset' => undef,
7637             'scale' => '128',
7638             'type' => 'uint8',
7639             'unit' => 'cycles'
7640             },
7641             '95' => {
7642             'id' => '95',
7643             'name' => 'avg_total_hemoglobin_conc',
7644             'offset' => undef,
7645             'scale' => '100',
7646             'type' => 'uint16',
7647             'unit' => 'g/dL'
7648             },
7649             '96' => {
7650             'id' => '96',
7651             'name' => 'min_total_hemoglobin_conc',
7652             'offset' => undef,
7653             'scale' => '100',
7654             'type' => 'uint16',
7655             'unit' => 'g/dL'
7656             },
7657             '97' => {
7658             'id' => '97',
7659             'name' => 'max_total_hemoglobin_conc',
7660             'offset' => undef,
7661             'scale' => '100',
7662             'type' => 'uint16',
7663             'unit' => 'g/dL'
7664             },
7665             '98' => {
7666             'id' => '98',
7667             'name' => 'avg_saturated_hemoglobin_percent',
7668             'offset' => undef,
7669             'scale' => '10',
7670             'type' => 'uint16',
7671             'unit' => '%'
7672             },
7673             '99' => {
7674             'id' => '99',
7675             'name' => 'min_saturated_hemoglobin_percent',
7676             'offset' => undef,
7677             'scale' => '10',
7678             'type' => 'uint16',
7679             'unit' => '%'
7680             }
7681             },
7682             'name' => 'session'
7683             },
7684             'set' => {
7685             'fields' => {
7686             '0' => {
7687             'id' => '0',
7688             'name' => 'duration',
7689             'offset' => undef,
7690             'scale' => '1000',
7691             'type' => 'uint32',
7692             'unit' => 's'
7693             },
7694             '10' => {
7695             'id' => '10',
7696             'name' => 'message_index',
7697             'offset' => undef,
7698             'scale' => undef,
7699             'type' => 'message_index',
7700             'unit' => undef
7701             },
7702             '11' => {
7703             'id' => '11',
7704             'name' => 'wkt_step_index',
7705             'offset' => undef,
7706             'scale' => undef,
7707             'type' => 'message_index',
7708             'unit' => undef
7709             },
7710             '254' => {
7711             'id' => '254',
7712             'name' => 'timestamp',
7713             'offset' => undef,
7714             'scale' => undef,
7715             'type' => 'date_time',
7716             'unit' => undef
7717             },
7718             '3' => {
7719             'id' => '3',
7720             'name' => 'repetitions',
7721             'offset' => undef,
7722             'scale' => undef,
7723             'type' => 'uint16',
7724             'unit' => undef
7725             },
7726             '4' => {
7727             'id' => '4',
7728             'name' => 'weight',
7729             'offset' => undef,
7730             'scale' => '16',
7731             'type' => 'uint16',
7732             'unit' => 'kg'
7733             },
7734             '5' => {
7735             'id' => '5',
7736             'name' => 'set_type',
7737             'offset' => undef,
7738             'scale' => undef,
7739             'type' => 'set_type',
7740             'unit' => undef
7741             },
7742             '6' => {
7743             'id' => '6',
7744             'name' => 'start_time',
7745             'offset' => undef,
7746             'scale' => undef,
7747             'type' => 'date_time',
7748             'unit' => undef
7749             },
7750             '7' => {
7751             'id' => '7',
7752             'name' => 'category',
7753             'offset' => undef,
7754             'scale' => undef,
7755             'type' => 'exercise_category',
7756             'unit' => undef
7757             },
7758             '8' => {
7759             'id' => '8',
7760             'name' => 'category_subtype',
7761             'offset' => undef,
7762             'scale' => undef,
7763             'type' => 'uint16',
7764             'unit' => undef
7765             },
7766             '9' => {
7767             'id' => '9',
7768             'name' => 'weight_display_unit',
7769             'offset' => undef,
7770             'scale' => undef,
7771             'type' => 'fit_base_unit',
7772             'unit' => undef
7773             }
7774             },
7775             'name' => 'set'
7776             },
7777             'slave_device' => {
7778             'fields' => {
7779             '0' => {
7780             'id' => '0',
7781             'name' => 'manufacturer',
7782             'offset' => undef,
7783             'scale' => undef,
7784             'type' => 'manufacturer',
7785             'unit' => undef
7786             },
7787             '1' => {
7788             'id' => '1',
7789             'name' => 'product',
7790             'offset' => undef,
7791             'scale' => undef,
7792             'type' => 'uint16',
7793             'unit' => undef
7794             }
7795             },
7796             'name' => 'slave_device'
7797             },
7798             'software' => {
7799             'fields' => {
7800             '254' => {
7801             'id' => '254',
7802             'name' => 'message_index',
7803             'offset' => undef,
7804             'scale' => undef,
7805             'type' => 'message_index',
7806             'unit' => undef
7807             },
7808             '3' => {
7809             'id' => '3',
7810             'name' => 'version',
7811             'offset' => undef,
7812             'scale' => '100',
7813             'type' => 'uint16',
7814             'unit' => undef
7815             },
7816             '5' => {
7817             'id' => '5',
7818             'name' => 'part_number',
7819             'offset' => undef,
7820             'scale' => undef,
7821             'type' => 'string',
7822             'unit' => undef
7823             }
7824             },
7825             'name' => 'software'
7826             },
7827             'speed_zone' => {
7828             'fields' => {
7829             '0' => {
7830             'id' => '0',
7831             'name' => 'high_value',
7832             'offset' => undef,
7833             'scale' => '1000',
7834             'type' => 'uint16',
7835             'unit' => 'm/s'
7836             },
7837             '1' => {
7838             'id' => '1',
7839             'name' => 'name',
7840             'offset' => undef,
7841             'scale' => undef,
7842             'type' => 'string',
7843             'unit' => undef
7844             },
7845             '254' => {
7846             'id' => '254',
7847             'name' => 'message_index',
7848             'offset' => undef,
7849             'scale' => undef,
7850             'type' => 'message_index',
7851             'unit' => undef
7852             }
7853             },
7854             'name' => 'speed_zone'
7855             },
7856             'sport' => {
7857             'fields' => {
7858             '0' => {
7859             'id' => '0',
7860             'name' => 'sport',
7861             'offset' => undef,
7862             'scale' => undef,
7863             'type' => 'sport',
7864             'unit' => undef
7865             },
7866             '1' => {
7867             'id' => '1',
7868             'name' => 'sub_sport',
7869             'offset' => undef,
7870             'scale' => undef,
7871             'type' => 'sub_sport',
7872             'unit' => undef
7873             },
7874             '3' => {
7875             'id' => '3',
7876             'name' => 'name',
7877             'offset' => undef,
7878             'scale' => undef,
7879             'type' => 'string',
7880             'unit' => undef
7881             }
7882             },
7883             'name' => 'sport'
7884             },
7885             'stress_level' => {
7886             'fields' => {
7887             '0' => {
7888             'id' => '0',
7889             'name' => 'stress_level_value',
7890             'offset' => undef,
7891             'scale' => undef,
7892             'type' => 'sint16',
7893             'unit' => undef
7894             },
7895             '1' => {
7896             'id' => '1',
7897             'name' => 'stress_level_time',
7898             'offset' => undef,
7899             'scale' => undef,
7900             'type' => 'date_time',
7901             'unit' => 's'
7902             }
7903             },
7904             'name' => 'stress_level'
7905             },
7906             'three_d_sensor_calibration' => {
7907             'fields' => {
7908             '0' => {
7909             'id' => '0',
7910             'name' => 'sensor_type',
7911             'offset' => undef,
7912             'scale' => undef,
7913             'type' => 'sensor_type',
7914             'unit' => undef
7915             },
7916             '1' => {
7917             'id' => '1',
7918             'name' => 'calibration_factor',
7919             'offset' => undef,
7920             'scale' => undef,
7921             'type' => 'uint32',
7922             'unit' => undef
7923             },
7924             '2' => {
7925             'id' => '2',
7926             'name' => 'calibration_divisor',
7927             'offset' => undef,
7928             'scale' => undef,
7929             'type' => 'uint32',
7930             'unit' => 'counts'
7931             },
7932             '253' => {
7933             'id' => '253',
7934             'name' => 'timestamp',
7935             'offset' => undef,
7936             'scale' => undef,
7937             'type' => 'date_time',
7938             'unit' => 's'
7939             },
7940             '3' => {
7941             'id' => '3',
7942             'name' => 'level_shift',
7943             'offset' => undef,
7944             'scale' => undef,
7945             'type' => 'uint32',
7946             'unit' => undef
7947             },
7948             '4' => {
7949             'id' => '4',
7950             'name' => 'offset_cal',
7951             'offset' => undef,
7952             'scale' => undef,
7953             'type' => 'sint32',
7954             'unit' => undef
7955             },
7956             '5' => {
7957             'id' => '5',
7958             'name' => 'orientation_matrix',
7959             'offset' => undef,
7960             'scale' => '65535',
7961             'type' => 'sint32',
7962             'unit' => undef
7963             }
7964             },
7965             'name' => 'three_d_sensor_calibration'
7966             },
7967             'timestamp_correlation' => {
7968             'fields' => {
7969             '0' => {
7970             'id' => '0',
7971             'name' => 'fractional_timestamp',
7972             'offset' => undef,
7973             'scale' => '32768',
7974             'type' => 'uint16',
7975             'unit' => 's'
7976             },
7977             '1' => {
7978             'id' => '1',
7979             'name' => 'system_timestamp',
7980             'offset' => undef,
7981             'scale' => undef,
7982             'type' => 'date_time',
7983             'unit' => 's'
7984             },
7985             '2' => {
7986             'id' => '2',
7987             'name' => 'fractional_system_timestamp',
7988             'offset' => undef,
7989             'scale' => '32768',
7990             'type' => 'uint16',
7991             'unit' => 's'
7992             },
7993             '253' => {
7994             'id' => '253',
7995             'name' => 'timestamp',
7996             'offset' => undef,
7997             'scale' => undef,
7998             'type' => 'date_time',
7999             'unit' => 's'
8000             },
8001             '3' => {
8002             'id' => '3',
8003             'name' => 'local_timestamp',
8004             'offset' => undef,
8005             'scale' => undef,
8006             'type' => 'local_date_time',
8007             'unit' => 's'
8008             },
8009             '4' => {
8010             'id' => '4',
8011             'name' => 'timestamp_ms',
8012             'offset' => undef,
8013             'scale' => undef,
8014             'type' => 'uint16',
8015             'unit' => 'ms'
8016             },
8017             '5' => {
8018             'id' => '5',
8019             'name' => 'system_timestamp_ms',
8020             'offset' => undef,
8021             'scale' => undef,
8022             'type' => 'uint16',
8023             'unit' => 'ms'
8024             }
8025             },
8026             'name' => 'timestamp_correlation'
8027             },
8028             'totals' => {
8029             'fields' => {
8030             '0' => {
8031             'id' => '0',
8032             'name' => 'timer_time',
8033             'offset' => undef,
8034             'scale' => undef,
8035             'type' => 'uint32',
8036             'unit' => 's'
8037             },
8038             '1' => {
8039             'id' => '1',
8040             'name' => 'distance',
8041             'offset' => undef,
8042             'scale' => undef,
8043             'type' => 'uint32',
8044             'unit' => 'm'
8045             },
8046             '2' => {
8047             'id' => '2',
8048             'name' => 'calories',
8049             'offset' => undef,
8050             'scale' => undef,
8051             'type' => 'uint32',
8052             'unit' => 'kcal'
8053             },
8054             '253' => {
8055             'id' => '253',
8056             'name' => 'timestamp',
8057             'offset' => undef,
8058             'scale' => undef,
8059             'type' => 'date_time',
8060             'unit' => 's'
8061             },
8062             '254' => {
8063             'id' => '254',
8064             'name' => 'message_index',
8065             'offset' => undef,
8066             'scale' => undef,
8067             'type' => 'message_index',
8068             'unit' => undef
8069             },
8070             '3' => {
8071             'id' => '3',
8072             'name' => 'sport',
8073             'offset' => undef,
8074             'scale' => undef,
8075             'type' => 'sport',
8076             'unit' => undef
8077             },
8078             '4' => {
8079             'id' => '4',
8080             'name' => 'elapsed_time',
8081             'offset' => undef,
8082             'scale' => undef,
8083             'type' => 'uint32',
8084             'unit' => 's'
8085             },
8086             '5' => {
8087             'id' => '5',
8088             'name' => 'sessions',
8089             'offset' => undef,
8090             'scale' => undef,
8091             'type' => 'uint16',
8092             'unit' => undef
8093             },
8094             '6' => {
8095             'id' => '6',
8096             'name' => 'active_time',
8097             'offset' => undef,
8098             'scale' => undef,
8099             'type' => 'uint32',
8100             'unit' => 's'
8101             },
8102             '9' => {
8103             'id' => '9',
8104             'name' => 'sport_index',
8105             'offset' => undef,
8106             'scale' => undef,
8107             'type' => 'uint8',
8108             'unit' => undef
8109             }
8110             },
8111             'name' => 'totals'
8112             },
8113             'training_file' => {
8114             'fields' => {
8115             '0' => {
8116             'id' => '0',
8117             'name' => 'type',
8118             'offset' => undef,
8119             'scale' => undef,
8120             'type' => 'file',
8121             'unit' => undef
8122             },
8123             '1' => {
8124             'id' => '1',
8125             'name' => 'manufacturer',
8126             'offset' => undef,
8127             'scale' => undef,
8128             'type' => 'manufacturer',
8129             'unit' => undef
8130             },
8131             '2' => {
8132             'id' => '2',
8133             'name' => 'product',
8134             'offset' => undef,
8135             'scale' => undef,
8136             'type' => 'uint16',
8137             'unit' => undef
8138             },
8139             '253' => {
8140             'id' => '253',
8141             'name' => 'timestamp',
8142             'offset' => undef,
8143             'scale' => undef,
8144             'type' => 'date_time',
8145             'unit' => undef
8146             },
8147             '3' => {
8148             'id' => '3',
8149             'name' => 'serial_number',
8150             'offset' => undef,
8151             'scale' => undef,
8152             'type' => 'uint32z',
8153             'unit' => undef
8154             },
8155             '4' => {
8156             'id' => '4',
8157             'name' => 'time_created',
8158             'offset' => undef,
8159             'scale' => undef,
8160             'type' => 'date_time',
8161             'unit' => undef
8162             }
8163             },
8164             'name' => 'training_file'
8165             },
8166             'user_profile' => {
8167             'fields' => {
8168             '0' => {
8169             'id' => '0',
8170             'name' => 'friendly_name',
8171             'offset' => undef,
8172             'scale' => undef,
8173             'type' => 'string',
8174             'unit' => undef
8175             },
8176             '1' => {
8177             'id' => '1',
8178             'name' => 'gender',
8179             'offset' => undef,
8180             'scale' => undef,
8181             'type' => 'gender',
8182             'unit' => undef
8183             },
8184             '10' => {
8185             'id' => '10',
8186             'name' => 'default_max_biking_heart_rate',
8187             'offset' => undef,
8188             'scale' => undef,
8189             'type' => 'uint8',
8190             'unit' => 'bpm'
8191             },
8192             '11' => {
8193             'id' => '11',
8194             'name' => 'default_max_heart_rate',
8195             'offset' => undef,
8196             'scale' => undef,
8197             'type' => 'uint8',
8198             'unit' => 'bpm'
8199             },
8200             '12' => {
8201             'id' => '12',
8202             'name' => 'hr_setting',
8203             'offset' => undef,
8204             'scale' => undef,
8205             'type' => 'display_heart',
8206             'unit' => undef
8207             },
8208             '13' => {
8209             'id' => '13',
8210             'name' => 'speed_setting',
8211             'offset' => undef,
8212             'scale' => undef,
8213             'type' => 'display_measure',
8214             'unit' => undef
8215             },
8216             '14' => {
8217             'id' => '14',
8218             'name' => 'dist_setting',
8219             'offset' => undef,
8220             'scale' => undef,
8221             'type' => 'display_measure',
8222             'unit' => undef
8223             },
8224             '16' => {
8225             'id' => '16',
8226             'name' => 'power_setting',
8227             'offset' => undef,
8228             'scale' => undef,
8229             'type' => 'display_power',
8230             'unit' => undef
8231             },
8232             '17' => {
8233             'id' => '17',
8234             'name' => 'activity_class',
8235             'offset' => undef,
8236             'scale' => undef,
8237             'type' => 'activity_class',
8238             'unit' => undef
8239             },
8240             '18' => {
8241             'id' => '18',
8242             'name' => 'position_setting',
8243             'offset' => undef,
8244             'scale' => undef,
8245             'type' => 'display_position',
8246             'unit' => undef
8247             },
8248             '2' => {
8249             'id' => '2',
8250             'name' => 'age',
8251             'offset' => undef,
8252             'scale' => undef,
8253             'type' => 'uint8',
8254             'unit' => 'years'
8255             },
8256             '21' => {
8257             'id' => '21',
8258             'name' => 'temperature_setting',
8259             'offset' => undef,
8260             'scale' => undef,
8261             'type' => 'display_measure',
8262             'unit' => undef
8263             },
8264             '22' => {
8265             'id' => '22',
8266             'name' => 'local_id',
8267             'offset' => undef,
8268             'scale' => undef,
8269             'type' => 'user_local_id',
8270             'unit' => undef
8271             },
8272             '23' => {
8273             'id' => '23',
8274             'name' => 'global_id',
8275             'offset' => undef,
8276             'scale' => undef,
8277             'type' => 'byte',
8278             'unit' => undef
8279             },
8280             '254' => {
8281             'id' => '254',
8282             'name' => 'message_index',
8283             'offset' => undef,
8284             'scale' => undef,
8285             'type' => 'message_index',
8286             'unit' => undef
8287             },
8288             '28' => {
8289             'id' => '28',
8290             'name' => 'wake_time',
8291             'offset' => undef,
8292             'scale' => undef,
8293             'type' => 'localtime_into_day',
8294             'unit' => undef
8295             },
8296             '29' => {
8297             'id' => '29',
8298             'name' => 'sleep_time',
8299             'offset' => undef,
8300             'scale' => undef,
8301             'type' => 'localtime_into_day',
8302             'unit' => undef
8303             },
8304             '3' => {
8305             'id' => '3',
8306             'name' => 'height',
8307             'offset' => undef,
8308             'scale' => '100',
8309             'type' => 'uint8',
8310             'unit' => 'm'
8311             },
8312             '30' => {
8313             'id' => '30',
8314             'name' => 'height_setting',
8315             'offset' => undef,
8316             'scale' => undef,
8317             'type' => 'display_measure',
8318             'unit' => undef
8319             },
8320             '31' => {
8321             'id' => '31',
8322             'name' => 'user_running_step_length',
8323             'offset' => undef,
8324             'scale' => '1000',
8325             'type' => 'uint16',
8326             'unit' => 'm'
8327             },
8328             '32' => {
8329             'id' => '32',
8330             'name' => 'user_walking_step_length',
8331             'offset' => undef,
8332             'scale' => '1000',
8333             'type' => 'uint16',
8334             'unit' => 'm'
8335             },
8336             '4' => {
8337             'id' => '4',
8338             'name' => 'weight',
8339             'offset' => undef,
8340             'scale' => '10',
8341             'type' => 'uint16',
8342             'unit' => 'kg'
8343             },
8344             '47' => {
8345             'id' => '47',
8346             'name' => 'depth_setting',
8347             'offset' => undef,
8348             'scale' => undef,
8349             'type' => 'display_measure',
8350             'unit' => undef
8351             },
8352             '49' => {
8353             'id' => '49',
8354             'name' => 'dive_count',
8355             'offset' => undef,
8356             'scale' => undef,
8357             'type' => 'uint32',
8358             'unit' => undef
8359             },
8360             '5' => {
8361             'id' => '5',
8362             'name' => 'language',
8363             'offset' => undef,
8364             'scale' => undef,
8365             'type' => 'language',
8366             'unit' => undef
8367             },
8368             '6' => {
8369             'id' => '6',
8370             'name' => 'elev_setting',
8371             'offset' => undef,
8372             'scale' => undef,
8373             'type' => 'display_measure',
8374             'unit' => undef
8375             },
8376             '7' => {
8377             'id' => '7',
8378             'name' => 'weight_setting',
8379             'offset' => undef,
8380             'scale' => undef,
8381             'type' => 'display_measure',
8382             'unit' => undef
8383             },
8384             '8' => {
8385             'id' => '8',
8386             'name' => 'resting_heart_rate',
8387             'offset' => undef,
8388             'scale' => undef,
8389             'type' => 'uint8',
8390             'unit' => 'bpm'
8391             },
8392             '9' => {
8393             'id' => '9',
8394             'name' => 'default_max_running_heart_rate',
8395             'offset' => undef,
8396             'scale' => undef,
8397             'type' => 'uint8',
8398             'unit' => 'bpm'
8399             }
8400             },
8401             'name' => 'user_profile'
8402             },
8403             'video' => {
8404             'fields' => {
8405             '0' => {
8406             'id' => '0',
8407             'name' => 'url',
8408             'offset' => undef,
8409             'scale' => undef,
8410             'type' => 'string',
8411             'unit' => undef
8412             },
8413             '1' => {
8414             'id' => '1',
8415             'name' => 'hosting_provider',
8416             'offset' => undef,
8417             'scale' => undef,
8418             'type' => 'string',
8419             'unit' => undef
8420             },
8421             '2' => {
8422             'id' => '2',
8423             'name' => 'duration',
8424             'offset' => undef,
8425             'scale' => undef,
8426             'type' => 'uint32',
8427             'unit' => 'ms'
8428             }
8429             },
8430             'name' => 'video'
8431             },
8432             'video_clip' => {
8433             'fields' => {
8434             '0' => {
8435             'id' => '0',
8436             'name' => 'clip_number',
8437             'offset' => undef,
8438             'scale' => undef,
8439             'type' => 'uint16',
8440             'unit' => undef
8441             },
8442             '1' => {
8443             'id' => '1',
8444             'name' => 'start_timestamp',
8445             'offset' => undef,
8446             'scale' => undef,
8447             'type' => 'date_time',
8448             'unit' => undef
8449             },
8450             '2' => {
8451             'id' => '2',
8452             'name' => 'start_timestamp_ms',
8453             'offset' => undef,
8454             'scale' => undef,
8455             'type' => 'uint16',
8456             'unit' => undef
8457             },
8458             '3' => {
8459             'id' => '3',
8460             'name' => 'end_timestamp',
8461             'offset' => undef,
8462             'scale' => undef,
8463             'type' => 'date_time',
8464             'unit' => undef
8465             },
8466             '4' => {
8467             'id' => '4',
8468             'name' => 'end_timestamp_ms',
8469             'offset' => undef,
8470             'scale' => undef,
8471             'type' => 'uint16',
8472             'unit' => undef
8473             },
8474             '6' => {
8475             'id' => '6',
8476             'name' => 'clip_start',
8477             'offset' => undef,
8478             'scale' => undef,
8479             'type' => 'uint32',
8480             'unit' => 'ms'
8481             },
8482             '7' => {
8483             'id' => '7',
8484             'name' => 'clip_end',
8485             'offset' => undef,
8486             'scale' => undef,
8487             'type' => 'uint32',
8488             'unit' => 'ms'
8489             }
8490             },
8491             'name' => 'video_clip'
8492             },
8493             'video_description' => {
8494             'fields' => {
8495             '0' => {
8496             'id' => '0',
8497             'name' => 'message_count',
8498             'offset' => undef,
8499             'scale' => undef,
8500             'type' => 'uint16',
8501             'unit' => undef
8502             },
8503             '1' => {
8504             'id' => '1',
8505             'name' => 'text',
8506             'offset' => undef,
8507             'scale' => undef,
8508             'type' => 'string',
8509             'unit' => undef
8510             },
8511             '254' => {
8512             'id' => '254',
8513             'name' => 'message_index',
8514             'offset' => undef,
8515             'scale' => undef,
8516             'type' => 'message_index',
8517             'unit' => undef
8518             }
8519             },
8520             'name' => 'video_description'
8521             },
8522             'video_frame' => {
8523             'fields' => {
8524             '0' => {
8525             'id' => '0',
8526             'name' => 'timestamp_ms',
8527             'offset' => undef,
8528             'scale' => undef,
8529             'type' => 'uint16',
8530             'unit' => 'ms'
8531             },
8532             '1' => {
8533             'id' => '1',
8534             'name' => 'frame_number',
8535             'offset' => undef,
8536             'scale' => undef,
8537             'type' => 'uint32',
8538             'unit' => undef
8539             },
8540             '253' => {
8541             'id' => '253',
8542             'name' => 'timestamp',
8543             'offset' => undef,
8544             'scale' => undef,
8545             'type' => 'date_time',
8546             'unit' => 's'
8547             }
8548             },
8549             'name' => 'video_frame'
8550             },
8551             'video_title' => {
8552             'fields' => {
8553             '0' => {
8554             'id' => '0',
8555             'name' => 'message_count',
8556             'offset' => undef,
8557             'scale' => undef,
8558             'type' => 'uint16',
8559             'unit' => undef
8560             },
8561             '1' => {
8562             'id' => '1',
8563             'name' => 'text',
8564             'offset' => undef,
8565             'scale' => undef,
8566             'type' => 'string',
8567             'unit' => undef
8568             },
8569             '254' => {
8570             'id' => '254',
8571             'name' => 'message_index',
8572             'offset' => undef,
8573             'scale' => undef,
8574             'type' => 'message_index',
8575             'unit' => undef
8576             }
8577             },
8578             'name' => 'video_title'
8579             },
8580             'watchface_settings' => {
8581             'fields' => {
8582             '0' => {
8583             'id' => '0',
8584             'name' => 'mode',
8585             'offset' => undef,
8586             'scale' => undef,
8587             'type' => 'watchface_mode',
8588             'unit' => undef
8589             },
8590             '1' => {
8591             'id' => '1',
8592             'name' => 'layout',
8593             'offset' => undef,
8594             'scale' => undef,
8595             'type' => 'byte',
8596             'unit' => undef
8597             },
8598             '254' => {
8599             'id' => '254',
8600             'name' => 'message_index',
8601             'offset' => undef,
8602             'scale' => undef,
8603             'type' => 'message_index',
8604             'unit' => undef
8605             }
8606             },
8607             'name' => 'watchface_settings'
8608             },
8609             'weather_alert' => {
8610             'fields' => {
8611             '0' => {
8612             'id' => '0',
8613             'name' => 'report_id',
8614             'offset' => undef,
8615             'scale' => undef,
8616             'type' => 'string',
8617             'unit' => undef
8618             },
8619             '1' => {
8620             'id' => '1',
8621             'name' => 'issue_time',
8622             'offset' => undef,
8623             'scale' => undef,
8624             'type' => 'date_time',
8625             'unit' => undef
8626             },
8627             '2' => {
8628             'id' => '2',
8629             'name' => 'expire_time',
8630             'offset' => undef,
8631             'scale' => undef,
8632             'type' => 'date_time',
8633             'unit' => undef
8634             },
8635             '253' => {
8636             'id' => '253',
8637             'name' => 'timestamp',
8638             'offset' => undef,
8639             'scale' => undef,
8640             'type' => 'date_time',
8641             'unit' => undef
8642             },
8643             '3' => {
8644             'id' => '3',
8645             'name' => 'severity',
8646             'offset' => undef,
8647             'scale' => undef,
8648             'type' => 'weather_severity',
8649             'unit' => undef
8650             },
8651             '4' => {
8652             'id' => '4',
8653             'name' => 'type',
8654             'offset' => undef,
8655             'scale' => undef,
8656             'type' => 'weather_severe_type',
8657             'unit' => undef
8658             }
8659             },
8660             'name' => 'weather_alert'
8661             },
8662             'weather_conditions' => {
8663             'fields' => {
8664             '0' => {
8665             'id' => '0',
8666             'name' => 'weather_report',
8667             'offset' => undef,
8668             'scale' => undef,
8669             'type' => 'weather_report',
8670             'unit' => undef
8671             },
8672             '1' => {
8673             'id' => '1',
8674             'name' => 'temperature',
8675             'offset' => undef,
8676             'scale' => undef,
8677             'type' => 'sint8',
8678             'unit' => 'C'
8679             },
8680             '10' => {
8681             'id' => '10',
8682             'name' => 'observed_location_lat',
8683             'offset' => undef,
8684             'scale' => undef,
8685             'type' => 'sint32',
8686             'unit' => 'semicircles'
8687             },
8688             '11' => {
8689             'id' => '11',
8690             'name' => 'observed_location_long',
8691             'offset' => undef,
8692             'scale' => undef,
8693             'type' => 'sint32',
8694             'unit' => 'semicircles'
8695             },
8696             '12' => {
8697             'id' => '12',
8698             'name' => 'day_of_week',
8699             'offset' => undef,
8700             'scale' => undef,
8701             'type' => 'day_of_week',
8702             'unit' => undef
8703             },
8704             '13' => {
8705             'id' => '13',
8706             'name' => 'high_temperature',
8707             'offset' => undef,
8708             'scale' => undef,
8709             'type' => 'sint8',
8710             'unit' => 'C'
8711             },
8712             '14' => {
8713             'id' => '14',
8714             'name' => 'low_temperature',
8715             'offset' => undef,
8716             'scale' => undef,
8717             'type' => 'sint8',
8718             'unit' => 'C'
8719             },
8720             '2' => {
8721             'id' => '2',
8722             'name' => 'condition',
8723             'offset' => undef,
8724             'scale' => undef,
8725             'type' => 'weather_status',
8726             'unit' => undef
8727             },
8728             '253' => {
8729             'id' => '253',
8730             'name' => 'timestamp',
8731             'offset' => undef,
8732             'scale' => undef,
8733             'type' => 'date_time',
8734             'unit' => undef
8735             },
8736             '3' => {
8737             'id' => '3',
8738             'name' => 'wind_direction',
8739             'offset' => undef,
8740             'scale' => undef,
8741             'type' => 'uint16',
8742             'unit' => 'degrees'
8743             },
8744             '4' => {
8745             'id' => '4',
8746             'name' => 'wind_speed',
8747             'offset' => undef,
8748             'scale' => '1000',
8749             'type' => 'uint16',
8750             'unit' => 'm/s'
8751             },
8752             '5' => {
8753             'id' => '5',
8754             'name' => 'precipitation_probability',
8755             'offset' => undef,
8756             'scale' => undef,
8757             'type' => 'uint8',
8758             'unit' => undef
8759             },
8760             '6' => {
8761             'id' => '6',
8762             'name' => 'temperature_feels_like',
8763             'offset' => undef,
8764             'scale' => undef,
8765             'type' => 'sint8',
8766             'unit' => 'C'
8767             },
8768             '7' => {
8769             'id' => '7',
8770             'name' => 'relative_humidity',
8771             'offset' => undef,
8772             'scale' => undef,
8773             'type' => 'uint8',
8774             'unit' => undef
8775             },
8776             '8' => {
8777             'id' => '8',
8778             'name' => 'location',
8779             'offset' => undef,
8780             'scale' => undef,
8781             'type' => 'string',
8782             'unit' => undef
8783             },
8784             '9' => {
8785             'id' => '9',
8786             'name' => 'observed_at_time',
8787             'offset' => undef,
8788             'scale' => undef,
8789             'type' => 'date_time',
8790             'unit' => undef
8791             }
8792             },
8793             'name' => 'weather_conditions'
8794             },
8795             'weight_scale' => {
8796             'fields' => {
8797             '0' => {
8798             'id' => '0',
8799             'name' => 'weight',
8800             'offset' => undef,
8801             'scale' => '100',
8802             'type' => 'weight',
8803             'unit' => 'kg'
8804             },
8805             '1' => {
8806             'id' => '1',
8807             'name' => 'percent_fat',
8808             'offset' => undef,
8809             'scale' => '100',
8810             'type' => 'uint16',
8811             'unit' => '%'
8812             },
8813             '10' => {
8814             'id' => '10',
8815             'name' => 'metabolic_age',
8816             'offset' => undef,
8817             'scale' => undef,
8818             'type' => 'uint8',
8819             'unit' => 'years'
8820             },
8821             '11' => {
8822             'id' => '11',
8823             'name' => 'visceral_fat_rating',
8824             'offset' => undef,
8825             'scale' => undef,
8826             'type' => 'uint8',
8827             'unit' => undef
8828             },
8829             '12' => {
8830             'id' => '12',
8831             'name' => 'user_profile_index',
8832             'offset' => undef,
8833             'scale' => undef,
8834             'type' => 'message_index',
8835             'unit' => undef
8836             },
8837             '2' => {
8838             'id' => '2',
8839             'name' => 'percent_hydration',
8840             'offset' => undef,
8841             'scale' => '100',
8842             'type' => 'uint16',
8843             'unit' => '%'
8844             },
8845             '253' => {
8846             'id' => '253',
8847             'name' => 'timestamp',
8848             'offset' => undef,
8849             'scale' => undef,
8850             'type' => 'date_time',
8851             'unit' => 's'
8852             },
8853             '3' => {
8854             'id' => '3',
8855             'name' => 'visceral_fat_mass',
8856             'offset' => undef,
8857             'scale' => '100',
8858             'type' => 'uint16',
8859             'unit' => 'kg'
8860             },
8861             '4' => {
8862             'id' => '4',
8863             'name' => 'bone_mass',
8864             'offset' => undef,
8865             'scale' => '100',
8866             'type' => 'uint16',
8867             'unit' => 'kg'
8868             },
8869             '5' => {
8870             'id' => '5',
8871             'name' => 'muscle_mass',
8872             'offset' => undef,
8873             'scale' => '100',
8874             'type' => 'uint16',
8875             'unit' => 'kg'
8876             },
8877             '7' => {
8878             'id' => '7',
8879             'name' => 'basal_met',
8880             'offset' => undef,
8881             'scale' => '4',
8882             'type' => 'uint16',
8883             'unit' => 'kcal/day'
8884             },
8885             '8' => {
8886             'id' => '8',
8887             'name' => 'physique_rating',
8888             'offset' => undef,
8889             'scale' => undef,
8890             'type' => 'uint8',
8891             'unit' => undef
8892             },
8893             '9' => {
8894             'id' => '9',
8895             'name' => 'active_met',
8896             'offset' => undef,
8897             'scale' => '4',
8898             'type' => 'uint16',
8899             'unit' => 'kcal/day'
8900             }
8901             },
8902             'name' => 'weight_scale'
8903             },
8904             'workout' => {
8905             'fields' => {
8906             '11' => {
8907             'id' => '11',
8908             'name' => 'sub_sport',
8909             'offset' => undef,
8910             'scale' => undef,
8911             'type' => 'sub_sport',
8912             'unit' => undef
8913             },
8914             '14' => {
8915             'id' => '14',
8916             'name' => 'pool_length',
8917             'offset' => undef,
8918             'scale' => '100',
8919             'type' => 'uint16',
8920             'unit' => 'm'
8921             },
8922             '15' => {
8923             'id' => '15',
8924             'name' => 'pool_length_unit',
8925             'offset' => undef,
8926             'scale' => undef,
8927             'type' => 'display_measure',
8928             'unit' => undef
8929             },
8930             '4' => {
8931             'id' => '4',
8932             'name' => 'sport',
8933             'offset' => undef,
8934             'scale' => undef,
8935             'type' => 'sport',
8936             'unit' => undef
8937             },
8938             '5' => {
8939             'id' => '5',
8940             'name' => 'capabilities',
8941             'offset' => undef,
8942             'scale' => undef,
8943             'type' => 'workout_capabilities',
8944             'unit' => undef
8945             },
8946             '6' => {
8947             'id' => '6',
8948             'name' => 'num_valid_steps',
8949             'offset' => undef,
8950             'scale' => undef,
8951             'type' => 'uint16',
8952             'unit' => undef
8953             },
8954             '8' => {
8955             'id' => '8',
8956             'name' => 'wkt_name',
8957             'offset' => undef,
8958             'scale' => undef,
8959             'type' => 'string',
8960             'unit' => undef
8961             }
8962             },
8963             'name' => 'workout'
8964             },
8965             'workout_session' => {
8966             'fields' => {
8967             '0' => {
8968             'id' => '0',
8969             'name' => 'sport',
8970             'offset' => undef,
8971             'scale' => undef,
8972             'type' => 'sport',
8973             'unit' => undef
8974             },
8975             '1' => {
8976             'id' => '1',
8977             'name' => 'sub_sport',
8978             'offset' => undef,
8979             'scale' => undef,
8980             'type' => 'sub_sport',
8981             'unit' => undef
8982             },
8983             '2' => {
8984             'id' => '2',
8985             'name' => 'num_valid_steps',
8986             'offset' => undef,
8987             'scale' => undef,
8988             'type' => 'uint16',
8989             'unit' => undef
8990             },
8991             '254' => {
8992             'id' => '254',
8993             'name' => 'message_index',
8994             'offset' => undef,
8995             'scale' => undef,
8996             'type' => 'message_index',
8997             'unit' => undef
8998             },
8999             '3' => {
9000             'id' => '3',
9001             'name' => 'first_step_index',
9002             'offset' => undef,
9003             'scale' => undef,
9004             'type' => 'uint16',
9005             'unit' => undef
9006             },
9007             '4' => {
9008             'id' => '4',
9009             'name' => 'pool_length',
9010             'offset' => undef,
9011             'scale' => '100',
9012             'type' => 'uint16',
9013             'unit' => 'm'
9014             },
9015             '5' => {
9016             'id' => '5',
9017             'name' => 'pool_length_unit',
9018             'offset' => undef,
9019             'scale' => undef,
9020             'type' => 'display_measure',
9021             'unit' => undef
9022             }
9023             },
9024             'name' => 'workout_session'
9025             },
9026             'workout_step' => {
9027             'fields' => {
9028             '0' => {
9029             'id' => '0',
9030             'name' => 'wkt_step_name',
9031             'offset' => undef,
9032             'scale' => undef,
9033             'type' => 'string',
9034             'unit' => undef
9035             },
9036             '1' => {
9037             'id' => '1',
9038             'name' => 'duration_type',
9039             'offset' => undef,
9040             'scale' => undef,
9041             'type' => 'wkt_step_duration',
9042             'unit' => undef
9043             },
9044             '10' => {
9045             'id' => '10',
9046             'name' => 'exercise_category',
9047             'offset' => undef,
9048             'scale' => undef,
9049             'type' => 'exercise_category',
9050             'unit' => undef
9051             },
9052             '11' => {
9053             'id' => '11',
9054             'name' => 'exercise_name',
9055             'offset' => undef,
9056             'scale' => undef,
9057             'type' => 'uint16',
9058             'unit' => undef
9059             },
9060             '12' => {
9061             'id' => '12',
9062             'name' => 'exercise_weight',
9063             'offset' => undef,
9064             'scale' => '100',
9065             'type' => 'uint16',
9066             'unit' => 'kg'
9067             },
9068             '13' => {
9069             'id' => '13',
9070             'name' => 'weight_display_unit',
9071             'offset' => undef,
9072             'scale' => undef,
9073             'type' => 'fit_base_unit',
9074             'unit' => undef
9075             },
9076             '2' => {
9077             'id' => '2',
9078             'name' => 'duration_value',
9079             'offset' => undef,
9080             'scale' => undef,
9081             'type' => 'uint32',
9082             'unit' => undef
9083             },
9084             '254' => {
9085             'id' => '254',
9086             'name' => 'message_index',
9087             'offset' => undef,
9088             'scale' => undef,
9089             'type' => 'message_index',
9090             'unit' => undef
9091             },
9092             '3' => {
9093             'id' => '3',
9094             'name' => 'target_type',
9095             'offset' => undef,
9096             'scale' => undef,
9097             'type' => 'wkt_step_target',
9098             'unit' => undef
9099             },
9100             '4' => {
9101             'id' => '4',
9102             'name' => 'target_value',
9103             'offset' => undef,
9104             'scale' => undef,
9105             'type' => 'uint32',
9106             'unit' => undef
9107             },
9108             '5' => {
9109             'id' => '5',
9110             'name' => 'custom_target_value_low',
9111             'offset' => undef,
9112             'scale' => undef,
9113             'type' => 'uint32',
9114             'unit' => undef
9115             },
9116             '6' => {
9117             'id' => '6',
9118             'name' => 'custom_target_value_high',
9119             'offset' => undef,
9120             'scale' => undef,
9121             'type' => 'uint32',
9122             'unit' => undef
9123             },
9124             '7' => {
9125             'id' => '7',
9126             'name' => 'intensity',
9127             'offset' => undef,
9128             'scale' => undef,
9129             'type' => 'intensity',
9130             'unit' => undef
9131             },
9132             '8' => {
9133             'id' => '8',
9134             'name' => 'notes',
9135             'offset' => undef,
9136             'scale' => undef,
9137             'type' => 'string',
9138             'unit' => undef
9139             },
9140             '9' => {
9141             'id' => '9',
9142             'name' => 'equipment',
9143             'offset' => undef,
9144             'scale' => undef,
9145             'type' => 'workout_equipment',
9146             'unit' => undef
9147             }
9148             },
9149             'name' => 'workout_step'
9150             },
9151             'zones_target' => {
9152             'fields' => {
9153             '1' => {
9154             'id' => '1',
9155             'name' => 'max_heart_rate',
9156             'offset' => undef,
9157             'scale' => undef,
9158             'type' => 'uint8',
9159             'unit' => undef
9160             },
9161             '2' => {
9162             'id' => '2',
9163             'name' => 'threshold_heart_rate',
9164             'offset' => undef,
9165             'scale' => undef,
9166             'type' => 'uint8',
9167             'unit' => undef
9168             },
9169             '3' => {
9170             'id' => '3',
9171             'name' => 'functional_threshold_power',
9172             'offset' => undef,
9173             'scale' => undef,
9174             'type' => 'uint16',
9175             'unit' => undef
9176             },
9177             '5' => {
9178             'id' => '5',
9179             'name' => 'hr_calc_type',
9180             'offset' => undef,
9181             'scale' => undef,
9182             'type' => 'hr_zone_calc',
9183             'unit' => undef
9184             },
9185             '7' => {
9186             'id' => '7',
9187             'name' => 'pwr_calc_type',
9188             'offset' => undef,
9189             'scale' => undef,
9190             'type' => 'pwr_zone_calc',
9191             'unit' => undef
9192             }
9193             },
9194             'name' => 'zones_target'
9195             }
9196             }