Skip to main content

fit/profile/generated/
messages.rs

1// @generated by fit-codegen. DO NOT EDIT.
2// Source: guide/garmin_fit_guide/Profile.xlsx
3
4//! Static metadata for every message in Profile.xlsx.
5//!
6//! Each message gets a `MESG_<NAME>` static. `ALL_MESSAGES` is an
7//! ordered slice over them. Field metadata is shared via interior
8//! `&'static [FieldInfo]` slices.
9
10#![allow(non_upper_case_globals, dead_code)]
11
12use crate::profile::{Component, FieldInfo, MesgInfo, SubField};
13
14static SUBFIELDS_FILE_ID_2: &[SubField] = &[
15    SubField {
16        name: "favero_product",
17        type_name: "favero_product",
18        conditions: &[("manufacturer", "favero_electronics")],
19        components: &[],
20        scale: None,
21        offset: None,
22        units: None,
23    },
24    SubField {
25        name: "garmin_product",
26        type_name: "garmin_product",
27        conditions: &[
28            ("manufacturer", "garmin"),
29            ("manufacturer", "dynastream"),
30            ("manufacturer", "dynastream_oem"),
31            ("manufacturer", "tacx"),
32        ],
33        components: &[],
34        scale: None,
35        offset: None,
36        units: None,
37    },
38];
39static FIELDS_FILE_ID: &[FieldInfo] = &[
40    FieldInfo {
41        field_def_num: 0,
42        name: "type",
43        type_name: "file",
44        array: None,
45        scale: None,
46        offset: None,
47        units: None,
48        components: &[],
49        sub_fields: &[],
50        accumulate: false,
51    },
52    FieldInfo {
53        field_def_num: 1,
54        name: "manufacturer",
55        type_name: "manufacturer",
56        array: None,
57        scale: None,
58        offset: None,
59        units: None,
60        components: &[],
61        sub_fields: &[],
62        accumulate: false,
63    },
64    FieldInfo {
65        field_def_num: 2,
66        name: "product",
67        type_name: "uint16",
68        array: None,
69        scale: None,
70        offset: None,
71        units: None,
72        components: &[],
73        sub_fields: SUBFIELDS_FILE_ID_2,
74        accumulate: false,
75    },
76    FieldInfo {
77        field_def_num: 3,
78        name: "serial_number",
79        type_name: "uint32z",
80        array: None,
81        scale: None,
82        offset: None,
83        units: None,
84        components: &[],
85        sub_fields: &[],
86        accumulate: false,
87    },
88    FieldInfo {
89        field_def_num: 4,
90        name: "time_created",
91        type_name: "date_time",
92        array: None,
93        scale: None,
94        offset: None,
95        units: None,
96        components: &[],
97        sub_fields: &[],
98        accumulate: false,
99    },
100    FieldInfo {
101        field_def_num: 5,
102        name: "number",
103        type_name: "uint16",
104        array: None,
105        scale: None,
106        offset: None,
107        units: None,
108        components: &[],
109        sub_fields: &[],
110        accumulate: false,
111    },
112    FieldInfo {
113        field_def_num: 8,
114        name: "product_name",
115        type_name: "string",
116        array: None,
117        scale: None,
118        offset: None,
119        units: None,
120        components: &[],
121        sub_fields: &[],
122        accumulate: false,
123    },
124];
125
126pub static MESG_FILE_ID: MesgInfo = MesgInfo {
127    name: "file_id",
128    fields: FIELDS_FILE_ID,
129};
130
131static FIELDS_FILE_CREATOR: &[FieldInfo] = &[
132    FieldInfo {
133        field_def_num: 0,
134        name: "software_version",
135        type_name: "uint16",
136        array: None,
137        scale: None,
138        offset: None,
139        units: None,
140        components: &[],
141        sub_fields: &[],
142        accumulate: false,
143    },
144    FieldInfo {
145        field_def_num: 1,
146        name: "hardware_version",
147        type_name: "uint8",
148        array: None,
149        scale: None,
150        offset: None,
151        units: None,
152        components: &[],
153        sub_fields: &[],
154        accumulate: false,
155    },
156];
157
158pub static MESG_FILE_CREATOR: MesgInfo = MesgInfo {
159    name: "file_creator",
160    fields: FIELDS_FILE_CREATOR,
161};
162
163static FIELDS_TIMESTAMP_CORRELATION: &[FieldInfo] = &[
164    FieldInfo {
165        field_def_num: 253,
166        name: "timestamp",
167        type_name: "date_time",
168        array: None,
169        scale: None,
170        offset: None,
171        units: Some("s"),
172        components: &[],
173        sub_fields: &[],
174        accumulate: false,
175    },
176    FieldInfo {
177        field_def_num: 0,
178        name: "fractional_timestamp",
179        type_name: "uint16",
180        array: None,
181        scale: Some(32768_f64),
182        offset: None,
183        units: Some("s"),
184        components: &[],
185        sub_fields: &[],
186        accumulate: false,
187    },
188    FieldInfo {
189        field_def_num: 1,
190        name: "system_timestamp",
191        type_name: "date_time",
192        array: None,
193        scale: None,
194        offset: None,
195        units: Some("s"),
196        components: &[],
197        sub_fields: &[],
198        accumulate: false,
199    },
200    FieldInfo {
201        field_def_num: 2,
202        name: "fractional_system_timestamp",
203        type_name: "uint16",
204        array: None,
205        scale: Some(32768_f64),
206        offset: None,
207        units: Some("s"),
208        components: &[],
209        sub_fields: &[],
210        accumulate: false,
211    },
212    FieldInfo {
213        field_def_num: 3,
214        name: "local_timestamp",
215        type_name: "local_date_time",
216        array: None,
217        scale: None,
218        offset: None,
219        units: Some("s"),
220        components: &[],
221        sub_fields: &[],
222        accumulate: false,
223    },
224    FieldInfo {
225        field_def_num: 4,
226        name: "timestamp_ms",
227        type_name: "uint16",
228        array: None,
229        scale: None,
230        offset: None,
231        units: Some("ms"),
232        components: &[],
233        sub_fields: &[],
234        accumulate: false,
235    },
236    FieldInfo {
237        field_def_num: 5,
238        name: "system_timestamp_ms",
239        type_name: "uint16",
240        array: None,
241        scale: None,
242        offset: None,
243        units: Some("ms"),
244        components: &[],
245        sub_fields: &[],
246        accumulate: false,
247    },
248];
249
250pub static MESG_TIMESTAMP_CORRELATION: MesgInfo = MesgInfo {
251    name: "timestamp_correlation",
252    fields: FIELDS_TIMESTAMP_CORRELATION,
253};
254
255static FIELDS_SOFTWARE: &[FieldInfo] = &[
256    FieldInfo {
257        field_def_num: 254,
258        name: "message_index",
259        type_name: "message_index",
260        array: None,
261        scale: None,
262        offset: None,
263        units: None,
264        components: &[],
265        sub_fields: &[],
266        accumulate: false,
267    },
268    FieldInfo {
269        field_def_num: 3,
270        name: "version",
271        type_name: "uint16",
272        array: None,
273        scale: Some(100_f64),
274        offset: None,
275        units: None,
276        components: &[],
277        sub_fields: &[],
278        accumulate: false,
279    },
280    FieldInfo {
281        field_def_num: 5,
282        name: "part_number",
283        type_name: "string",
284        array: None,
285        scale: None,
286        offset: None,
287        units: None,
288        components: &[],
289        sub_fields: &[],
290        accumulate: false,
291    },
292];
293
294pub static MESG_SOFTWARE: MesgInfo = MesgInfo {
295    name: "software",
296    fields: FIELDS_SOFTWARE,
297};
298
299static SUBFIELDS_SLAVE_DEVICE_1: &[SubField] = &[
300    SubField {
301        name: "favero_product",
302        type_name: "favero_product",
303        conditions: &[("manufacturer", "favero_electronics")],
304        components: &[],
305        scale: None,
306        offset: None,
307        units: None,
308    },
309    SubField {
310        name: "garmin_product",
311        type_name: "garmin_product",
312        conditions: &[
313            ("manufacturer", "garmin"),
314            ("manufacturer", "dynastream"),
315            ("manufacturer", "dynastream_oem"),
316            ("manufacturer", "tacx"),
317        ],
318        components: &[],
319        scale: None,
320        offset: None,
321        units: None,
322    },
323];
324static FIELDS_SLAVE_DEVICE: &[FieldInfo] = &[
325    FieldInfo {
326        field_def_num: 0,
327        name: "manufacturer",
328        type_name: "manufacturer",
329        array: None,
330        scale: None,
331        offset: None,
332        units: None,
333        components: &[],
334        sub_fields: &[],
335        accumulate: false,
336    },
337    FieldInfo {
338        field_def_num: 1,
339        name: "product",
340        type_name: "uint16",
341        array: None,
342        scale: None,
343        offset: None,
344        units: None,
345        components: &[],
346        sub_fields: SUBFIELDS_SLAVE_DEVICE_1,
347        accumulate: false,
348    },
349];
350
351pub static MESG_SLAVE_DEVICE: MesgInfo = MesgInfo {
352    name: "slave_device",
353    fields: FIELDS_SLAVE_DEVICE,
354};
355
356static FIELDS_CAPABILITIES: &[FieldInfo] = &[
357    FieldInfo {
358        field_def_num: 0,
359        name: "languages",
360        type_name: "uint8z",
361        array: Some("[N]"),
362        scale: None,
363        offset: None,
364        units: None,
365        components: &[],
366        sub_fields: &[],
367        accumulate: false,
368    },
369    FieldInfo {
370        field_def_num: 1,
371        name: "sports",
372        type_name: "sport_bits_0",
373        array: Some("[N]"),
374        scale: None,
375        offset: None,
376        units: None,
377        components: &[],
378        sub_fields: &[],
379        accumulate: false,
380    },
381    FieldInfo {
382        field_def_num: 21,
383        name: "workouts_supported",
384        type_name: "workout_capabilities",
385        array: None,
386        scale: None,
387        offset: None,
388        units: None,
389        components: &[],
390        sub_fields: &[],
391        accumulate: false,
392    },
393    FieldInfo {
394        field_def_num: 23,
395        name: "connectivity_supported",
396        type_name: "connectivity_capabilities",
397        array: None,
398        scale: None,
399        offset: None,
400        units: None,
401        components: &[],
402        sub_fields: &[],
403        accumulate: false,
404    },
405];
406
407pub static MESG_CAPABILITIES: MesgInfo = MesgInfo {
408    name: "capabilities",
409    fields: FIELDS_CAPABILITIES,
410};
411
412static FIELDS_FILE_CAPABILITIES: &[FieldInfo] = &[
413    FieldInfo {
414        field_def_num: 254,
415        name: "message_index",
416        type_name: "message_index",
417        array: None,
418        scale: None,
419        offset: None,
420        units: None,
421        components: &[],
422        sub_fields: &[],
423        accumulate: false,
424    },
425    FieldInfo {
426        field_def_num: 0,
427        name: "type",
428        type_name: "file",
429        array: None,
430        scale: None,
431        offset: None,
432        units: None,
433        components: &[],
434        sub_fields: &[],
435        accumulate: false,
436    },
437    FieldInfo {
438        field_def_num: 1,
439        name: "flags",
440        type_name: "file_flags",
441        array: None,
442        scale: None,
443        offset: None,
444        units: None,
445        components: &[],
446        sub_fields: &[],
447        accumulate: false,
448    },
449    FieldInfo {
450        field_def_num: 2,
451        name: "directory",
452        type_name: "string",
453        array: None,
454        scale: None,
455        offset: None,
456        units: None,
457        components: &[],
458        sub_fields: &[],
459        accumulate: false,
460    },
461    FieldInfo {
462        field_def_num: 3,
463        name: "max_count",
464        type_name: "uint16",
465        array: None,
466        scale: None,
467        offset: None,
468        units: None,
469        components: &[],
470        sub_fields: &[],
471        accumulate: false,
472    },
473    FieldInfo {
474        field_def_num: 4,
475        name: "max_size",
476        type_name: "uint32",
477        array: None,
478        scale: None,
479        offset: None,
480        units: Some("bytes"),
481        components: &[],
482        sub_fields: &[],
483        accumulate: false,
484    },
485];
486
487pub static MESG_FILE_CAPABILITIES: MesgInfo = MesgInfo {
488    name: "file_capabilities",
489    fields: FIELDS_FILE_CAPABILITIES,
490};
491
492static SUBFIELDS_MESG_CAPABILITIES_4: &[SubField] = &[
493    SubField {
494        name: "num_per_file",
495        type_name: "uint16",
496        conditions: &[("count_type", "num_per_file")],
497        components: &[],
498        scale: None,
499        offset: None,
500        units: None,
501    },
502    SubField {
503        name: "max_per_file",
504        type_name: "uint16",
505        conditions: &[("count_type", "max_per_file")],
506        components: &[],
507        scale: None,
508        offset: None,
509        units: None,
510    },
511    SubField {
512        name: "max_per_file_type",
513        type_name: "uint16",
514        conditions: &[("count_type", "max_per_file_type")],
515        components: &[],
516        scale: None,
517        offset: None,
518        units: None,
519    },
520];
521static FIELDS_MESG_CAPABILITIES: &[FieldInfo] = &[
522    FieldInfo {
523        field_def_num: 254,
524        name: "message_index",
525        type_name: "message_index",
526        array: None,
527        scale: None,
528        offset: None,
529        units: None,
530        components: &[],
531        sub_fields: &[],
532        accumulate: false,
533    },
534    FieldInfo {
535        field_def_num: 0,
536        name: "file",
537        type_name: "file",
538        array: None,
539        scale: None,
540        offset: None,
541        units: None,
542        components: &[],
543        sub_fields: &[],
544        accumulate: false,
545    },
546    FieldInfo {
547        field_def_num: 1,
548        name: "mesg_num",
549        type_name: "mesg_num",
550        array: None,
551        scale: None,
552        offset: None,
553        units: None,
554        components: &[],
555        sub_fields: &[],
556        accumulate: false,
557    },
558    FieldInfo {
559        field_def_num: 2,
560        name: "count_type",
561        type_name: "mesg_count",
562        array: None,
563        scale: None,
564        offset: None,
565        units: None,
566        components: &[],
567        sub_fields: &[],
568        accumulate: false,
569    },
570    FieldInfo {
571        field_def_num: 3,
572        name: "count",
573        type_name: "uint16",
574        array: None,
575        scale: None,
576        offset: None,
577        units: None,
578        components: &[],
579        sub_fields: SUBFIELDS_MESG_CAPABILITIES_4,
580        accumulate: false,
581    },
582];
583
584pub static MESG_MESG_CAPABILITIES: MesgInfo = MesgInfo {
585    name: "mesg_capabilities",
586    fields: FIELDS_MESG_CAPABILITIES,
587};
588
589static FIELDS_FIELD_CAPABILITIES: &[FieldInfo] = &[
590    FieldInfo {
591        field_def_num: 254,
592        name: "message_index",
593        type_name: "message_index",
594        array: None,
595        scale: None,
596        offset: None,
597        units: None,
598        components: &[],
599        sub_fields: &[],
600        accumulate: false,
601    },
602    FieldInfo {
603        field_def_num: 0,
604        name: "file",
605        type_name: "file",
606        array: None,
607        scale: None,
608        offset: None,
609        units: None,
610        components: &[],
611        sub_fields: &[],
612        accumulate: false,
613    },
614    FieldInfo {
615        field_def_num: 1,
616        name: "mesg_num",
617        type_name: "mesg_num",
618        array: None,
619        scale: None,
620        offset: None,
621        units: None,
622        components: &[],
623        sub_fields: &[],
624        accumulate: false,
625    },
626    FieldInfo {
627        field_def_num: 2,
628        name: "field_num",
629        type_name: "uint8",
630        array: None,
631        scale: None,
632        offset: None,
633        units: None,
634        components: &[],
635        sub_fields: &[],
636        accumulate: false,
637    },
638    FieldInfo {
639        field_def_num: 3,
640        name: "count",
641        type_name: "uint16",
642        array: None,
643        scale: None,
644        offset: None,
645        units: None,
646        components: &[],
647        sub_fields: &[],
648        accumulate: false,
649    },
650];
651
652pub static MESG_FIELD_CAPABILITIES: MesgInfo = MesgInfo {
653    name: "field_capabilities",
654    fields: FIELDS_FIELD_CAPABILITIES,
655};
656
657static FIELDS_DEVICE_SETTINGS: &[FieldInfo] = &[
658    FieldInfo {
659        field_def_num: 0,
660        name: "active_time_zone",
661        type_name: "uint8",
662        array: None,
663        scale: None,
664        offset: None,
665        units: None,
666        components: &[],
667        sub_fields: &[],
668        accumulate: false,
669    },
670    FieldInfo {
671        field_def_num: 1,
672        name: "utc_offset",
673        type_name: "uint32",
674        array: None,
675        scale: None,
676        offset: None,
677        units: None,
678        components: &[],
679        sub_fields: &[],
680        accumulate: false,
681    },
682    FieldInfo {
683        field_def_num: 2,
684        name: "time_offset",
685        type_name: "uint32",
686        array: Some("[N]"),
687        scale: None,
688        offset: None,
689        units: Some("s"),
690        components: &[],
691        sub_fields: &[],
692        accumulate: false,
693    },
694    FieldInfo {
695        field_def_num: 4,
696        name: "time_mode",
697        type_name: "time_mode",
698        array: Some("[N]"),
699        scale: None,
700        offset: None,
701        units: None,
702        components: &[],
703        sub_fields: &[],
704        accumulate: false,
705    },
706    FieldInfo {
707        field_def_num: 5,
708        name: "time_zone_offset",
709        type_name: "sint8",
710        array: Some("[N]"),
711        scale: Some(4_f64),
712        offset: None,
713        units: Some("hr"),
714        components: &[],
715        sub_fields: &[],
716        accumulate: false,
717    },
718    FieldInfo {
719        field_def_num: 12,
720        name: "backlight_mode",
721        type_name: "backlight_mode",
722        array: None,
723        scale: None,
724        offset: None,
725        units: None,
726        components: &[],
727        sub_fields: &[],
728        accumulate: false,
729    },
730    FieldInfo {
731        field_def_num: 36,
732        name: "activity_tracker_enabled",
733        type_name: "bool",
734        array: None,
735        scale: None,
736        offset: None,
737        units: None,
738        components: &[],
739        sub_fields: &[],
740        accumulate: false,
741    },
742    FieldInfo {
743        field_def_num: 39,
744        name: "clock_time",
745        type_name: "date_time",
746        array: None,
747        scale: None,
748        offset: None,
749        units: None,
750        components: &[],
751        sub_fields: &[],
752        accumulate: false,
753    },
754    FieldInfo {
755        field_def_num: 40,
756        name: "pages_enabled",
757        type_name: "uint16",
758        array: Some("[N]"),
759        scale: None,
760        offset: None,
761        units: None,
762        components: &[],
763        sub_fields: &[],
764        accumulate: false,
765    },
766    FieldInfo {
767        field_def_num: 46,
768        name: "move_alert_enabled",
769        type_name: "bool",
770        array: None,
771        scale: None,
772        offset: None,
773        units: None,
774        components: &[],
775        sub_fields: &[],
776        accumulate: false,
777    },
778    FieldInfo {
779        field_def_num: 47,
780        name: "date_mode",
781        type_name: "date_mode",
782        array: None,
783        scale: None,
784        offset: None,
785        units: None,
786        components: &[],
787        sub_fields: &[],
788        accumulate: false,
789    },
790    FieldInfo {
791        field_def_num: 55,
792        name: "display_orientation",
793        type_name: "display_orientation",
794        array: None,
795        scale: None,
796        offset: None,
797        units: None,
798        components: &[],
799        sub_fields: &[],
800        accumulate: false,
801    },
802    FieldInfo {
803        field_def_num: 56,
804        name: "mounting_side",
805        type_name: "side",
806        array: None,
807        scale: None,
808        offset: None,
809        units: None,
810        components: &[],
811        sub_fields: &[],
812        accumulate: false,
813    },
814    FieldInfo {
815        field_def_num: 57,
816        name: "default_page",
817        type_name: "uint16",
818        array: Some("[N]"),
819        scale: None,
820        offset: None,
821        units: None,
822        components: &[],
823        sub_fields: &[],
824        accumulate: false,
825    },
826    FieldInfo {
827        field_def_num: 58,
828        name: "autosync_min_steps",
829        type_name: "uint16",
830        array: None,
831        scale: None,
832        offset: None,
833        units: Some("steps"),
834        components: &[],
835        sub_fields: &[],
836        accumulate: false,
837    },
838    FieldInfo {
839        field_def_num: 59,
840        name: "autosync_min_time",
841        type_name: "uint16",
842        array: None,
843        scale: None,
844        offset: None,
845        units: Some("minutes"),
846        components: &[],
847        sub_fields: &[],
848        accumulate: false,
849    },
850    FieldInfo {
851        field_def_num: 80,
852        name: "lactate_threshold_autodetect_enabled",
853        type_name: "bool",
854        array: None,
855        scale: None,
856        offset: None,
857        units: None,
858        components: &[],
859        sub_fields: &[],
860        accumulate: false,
861    },
862    FieldInfo {
863        field_def_num: 86,
864        name: "ble_auto_upload_enabled",
865        type_name: "bool",
866        array: None,
867        scale: None,
868        offset: None,
869        units: None,
870        components: &[],
871        sub_fields: &[],
872        accumulate: false,
873    },
874    FieldInfo {
875        field_def_num: 89,
876        name: "auto_sync_frequency",
877        type_name: "auto_sync_frequency",
878        array: None,
879        scale: None,
880        offset: None,
881        units: None,
882        components: &[],
883        sub_fields: &[],
884        accumulate: false,
885    },
886    FieldInfo {
887        field_def_num: 90,
888        name: "auto_activity_detect",
889        type_name: "auto_activity_detect",
890        array: None,
891        scale: None,
892        offset: None,
893        units: None,
894        components: &[],
895        sub_fields: &[],
896        accumulate: false,
897    },
898    FieldInfo {
899        field_def_num: 94,
900        name: "number_of_screens",
901        type_name: "uint8",
902        array: None,
903        scale: None,
904        offset: None,
905        units: None,
906        components: &[],
907        sub_fields: &[],
908        accumulate: false,
909    },
910    FieldInfo {
911        field_def_num: 95,
912        name: "smart_notification_display_orientation",
913        type_name: "display_orientation",
914        array: None,
915        scale: None,
916        offset: None,
917        units: None,
918        components: &[],
919        sub_fields: &[],
920        accumulate: false,
921    },
922    FieldInfo {
923        field_def_num: 134,
924        name: "tap_interface",
925        type_name: "switch",
926        array: None,
927        scale: None,
928        offset: None,
929        units: None,
930        components: &[],
931        sub_fields: &[],
932        accumulate: false,
933    },
934    FieldInfo {
935        field_def_num: 174,
936        name: "tap_sensitivity",
937        type_name: "tap_sensitivity",
938        array: None,
939        scale: None,
940        offset: None,
941        units: None,
942        components: &[],
943        sub_fields: &[],
944        accumulate: false,
945    },
946];
947
948pub static MESG_DEVICE_SETTINGS: MesgInfo = MesgInfo {
949    name: "device_settings",
950    fields: FIELDS_DEVICE_SETTINGS,
951};
952
953static FIELDS_USER_PROFILE: &[FieldInfo] = &[
954    FieldInfo {
955        field_def_num: 254,
956        name: "message_index",
957        type_name: "message_index",
958        array: None,
959        scale: None,
960        offset: None,
961        units: None,
962        components: &[],
963        sub_fields: &[],
964        accumulate: false,
965    },
966    FieldInfo {
967        field_def_num: 0,
968        name: "friendly_name",
969        type_name: "string",
970        array: None,
971        scale: None,
972        offset: None,
973        units: None,
974        components: &[],
975        sub_fields: &[],
976        accumulate: false,
977    },
978    FieldInfo {
979        field_def_num: 1,
980        name: "gender",
981        type_name: "gender",
982        array: None,
983        scale: None,
984        offset: None,
985        units: None,
986        components: &[],
987        sub_fields: &[],
988        accumulate: false,
989    },
990    FieldInfo {
991        field_def_num: 2,
992        name: "age",
993        type_name: "uint8",
994        array: None,
995        scale: None,
996        offset: None,
997        units: Some("years"),
998        components: &[],
999        sub_fields: &[],
1000        accumulate: false,
1001    },
1002    FieldInfo {
1003        field_def_num: 3,
1004        name: "height",
1005        type_name: "uint8",
1006        array: None,
1007        scale: Some(100_f64),
1008        offset: None,
1009        units: Some("m"),
1010        components: &[],
1011        sub_fields: &[],
1012        accumulate: false,
1013    },
1014    FieldInfo {
1015        field_def_num: 4,
1016        name: "weight",
1017        type_name: "uint16",
1018        array: None,
1019        scale: Some(10_f64),
1020        offset: None,
1021        units: Some("kg"),
1022        components: &[],
1023        sub_fields: &[],
1024        accumulate: false,
1025    },
1026    FieldInfo {
1027        field_def_num: 5,
1028        name: "language",
1029        type_name: "language",
1030        array: None,
1031        scale: None,
1032        offset: None,
1033        units: None,
1034        components: &[],
1035        sub_fields: &[],
1036        accumulate: false,
1037    },
1038    FieldInfo {
1039        field_def_num: 6,
1040        name: "elev_setting",
1041        type_name: "display_measure",
1042        array: None,
1043        scale: None,
1044        offset: None,
1045        units: None,
1046        components: &[],
1047        sub_fields: &[],
1048        accumulate: false,
1049    },
1050    FieldInfo {
1051        field_def_num: 7,
1052        name: "weight_setting",
1053        type_name: "display_measure",
1054        array: None,
1055        scale: None,
1056        offset: None,
1057        units: None,
1058        components: &[],
1059        sub_fields: &[],
1060        accumulate: false,
1061    },
1062    FieldInfo {
1063        field_def_num: 8,
1064        name: "resting_heart_rate",
1065        type_name: "uint8",
1066        array: None,
1067        scale: None,
1068        offset: None,
1069        units: Some("bpm"),
1070        components: &[],
1071        sub_fields: &[],
1072        accumulate: false,
1073    },
1074    FieldInfo {
1075        field_def_num: 9,
1076        name: "default_max_running_heart_rate",
1077        type_name: "uint8",
1078        array: None,
1079        scale: None,
1080        offset: None,
1081        units: Some("bpm"),
1082        components: &[],
1083        sub_fields: &[],
1084        accumulate: false,
1085    },
1086    FieldInfo {
1087        field_def_num: 10,
1088        name: "default_max_biking_heart_rate",
1089        type_name: "uint8",
1090        array: None,
1091        scale: None,
1092        offset: None,
1093        units: Some("bpm"),
1094        components: &[],
1095        sub_fields: &[],
1096        accumulate: false,
1097    },
1098    FieldInfo {
1099        field_def_num: 11,
1100        name: "default_max_heart_rate",
1101        type_name: "uint8",
1102        array: None,
1103        scale: None,
1104        offset: None,
1105        units: Some("bpm"),
1106        components: &[],
1107        sub_fields: &[],
1108        accumulate: false,
1109    },
1110    FieldInfo {
1111        field_def_num: 12,
1112        name: "hr_setting",
1113        type_name: "display_heart",
1114        array: None,
1115        scale: None,
1116        offset: None,
1117        units: None,
1118        components: &[],
1119        sub_fields: &[],
1120        accumulate: false,
1121    },
1122    FieldInfo {
1123        field_def_num: 13,
1124        name: "speed_setting",
1125        type_name: "display_measure",
1126        array: None,
1127        scale: None,
1128        offset: None,
1129        units: None,
1130        components: &[],
1131        sub_fields: &[],
1132        accumulate: false,
1133    },
1134    FieldInfo {
1135        field_def_num: 14,
1136        name: "dist_setting",
1137        type_name: "display_measure",
1138        array: None,
1139        scale: None,
1140        offset: None,
1141        units: None,
1142        components: &[],
1143        sub_fields: &[],
1144        accumulate: false,
1145    },
1146    FieldInfo {
1147        field_def_num: 16,
1148        name: "power_setting",
1149        type_name: "display_power",
1150        array: None,
1151        scale: None,
1152        offset: None,
1153        units: None,
1154        components: &[],
1155        sub_fields: &[],
1156        accumulate: false,
1157    },
1158    FieldInfo {
1159        field_def_num: 17,
1160        name: "activity_class",
1161        type_name: "activity_class",
1162        array: None,
1163        scale: None,
1164        offset: None,
1165        units: None,
1166        components: &[],
1167        sub_fields: &[],
1168        accumulate: false,
1169    },
1170    FieldInfo {
1171        field_def_num: 18,
1172        name: "position_setting",
1173        type_name: "display_position",
1174        array: None,
1175        scale: None,
1176        offset: None,
1177        units: None,
1178        components: &[],
1179        sub_fields: &[],
1180        accumulate: false,
1181    },
1182    FieldInfo {
1183        field_def_num: 21,
1184        name: "temperature_setting",
1185        type_name: "display_measure",
1186        array: None,
1187        scale: None,
1188        offset: None,
1189        units: None,
1190        components: &[],
1191        sub_fields: &[],
1192        accumulate: false,
1193    },
1194    FieldInfo {
1195        field_def_num: 22,
1196        name: "local_id",
1197        type_name: "user_local_id",
1198        array: None,
1199        scale: None,
1200        offset: None,
1201        units: None,
1202        components: &[],
1203        sub_fields: &[],
1204        accumulate: false,
1205    },
1206    FieldInfo {
1207        field_def_num: 23,
1208        name: "global_id",
1209        type_name: "byte",
1210        array: Some("[6]"),
1211        scale: None,
1212        offset: None,
1213        units: None,
1214        components: &[],
1215        sub_fields: &[],
1216        accumulate: false,
1217    },
1218    FieldInfo {
1219        field_def_num: 28,
1220        name: "wake_time",
1221        type_name: "localtime_into_day",
1222        array: None,
1223        scale: None,
1224        offset: None,
1225        units: None,
1226        components: &[],
1227        sub_fields: &[],
1228        accumulate: false,
1229    },
1230    FieldInfo {
1231        field_def_num: 29,
1232        name: "sleep_time",
1233        type_name: "localtime_into_day",
1234        array: None,
1235        scale: None,
1236        offset: None,
1237        units: None,
1238        components: &[],
1239        sub_fields: &[],
1240        accumulate: false,
1241    },
1242    FieldInfo {
1243        field_def_num: 30,
1244        name: "height_setting",
1245        type_name: "display_measure",
1246        array: None,
1247        scale: None,
1248        offset: None,
1249        units: None,
1250        components: &[],
1251        sub_fields: &[],
1252        accumulate: false,
1253    },
1254    FieldInfo {
1255        field_def_num: 31,
1256        name: "user_running_step_length",
1257        type_name: "uint16",
1258        array: None,
1259        scale: Some(1000_f64),
1260        offset: None,
1261        units: Some("m"),
1262        components: &[],
1263        sub_fields: &[],
1264        accumulate: false,
1265    },
1266    FieldInfo {
1267        field_def_num: 32,
1268        name: "user_walking_step_length",
1269        type_name: "uint16",
1270        array: None,
1271        scale: Some(1000_f64),
1272        offset: None,
1273        units: Some("m"),
1274        components: &[],
1275        sub_fields: &[],
1276        accumulate: false,
1277    },
1278    FieldInfo {
1279        field_def_num: 47,
1280        name: "depth_setting",
1281        type_name: "display_measure",
1282        array: None,
1283        scale: None,
1284        offset: None,
1285        units: None,
1286        components: &[],
1287        sub_fields: &[],
1288        accumulate: false,
1289    },
1290    FieldInfo {
1291        field_def_num: 49,
1292        name: "dive_count",
1293        type_name: "uint32",
1294        array: None,
1295        scale: None,
1296        offset: None,
1297        units: None,
1298        components: &[],
1299        sub_fields: &[],
1300        accumulate: false,
1301    },
1302];
1303
1304pub static MESG_USER_PROFILE: MesgInfo = MesgInfo {
1305    name: "user_profile",
1306    fields: FIELDS_USER_PROFILE,
1307};
1308
1309static FIELDS_HRM_PROFILE: &[FieldInfo] = &[
1310    FieldInfo {
1311        field_def_num: 254,
1312        name: "message_index",
1313        type_name: "message_index",
1314        array: None,
1315        scale: None,
1316        offset: None,
1317        units: None,
1318        components: &[],
1319        sub_fields: &[],
1320        accumulate: false,
1321    },
1322    FieldInfo {
1323        field_def_num: 0,
1324        name: "enabled",
1325        type_name: "bool",
1326        array: None,
1327        scale: None,
1328        offset: None,
1329        units: None,
1330        components: &[],
1331        sub_fields: &[],
1332        accumulate: false,
1333    },
1334    FieldInfo {
1335        field_def_num: 1,
1336        name: "hrm_ant_id",
1337        type_name: "uint16z",
1338        array: None,
1339        scale: None,
1340        offset: None,
1341        units: None,
1342        components: &[],
1343        sub_fields: &[],
1344        accumulate: false,
1345    },
1346    FieldInfo {
1347        field_def_num: 2,
1348        name: "log_hrv",
1349        type_name: "bool",
1350        array: None,
1351        scale: None,
1352        offset: None,
1353        units: None,
1354        components: &[],
1355        sub_fields: &[],
1356        accumulate: false,
1357    },
1358    FieldInfo {
1359        field_def_num: 3,
1360        name: "hrm_ant_id_trans_type",
1361        type_name: "uint8z",
1362        array: None,
1363        scale: None,
1364        offset: None,
1365        units: None,
1366        components: &[],
1367        sub_fields: &[],
1368        accumulate: false,
1369    },
1370];
1371
1372pub static MESG_HRM_PROFILE: MesgInfo = MesgInfo {
1373    name: "hrm_profile",
1374    fields: FIELDS_HRM_PROFILE,
1375};
1376
1377static FIELDS_SDM_PROFILE: &[FieldInfo] = &[
1378    FieldInfo {
1379        field_def_num: 254,
1380        name: "message_index",
1381        type_name: "message_index",
1382        array: None,
1383        scale: None,
1384        offset: None,
1385        units: None,
1386        components: &[],
1387        sub_fields: &[],
1388        accumulate: false,
1389    },
1390    FieldInfo {
1391        field_def_num: 0,
1392        name: "enabled",
1393        type_name: "bool",
1394        array: None,
1395        scale: None,
1396        offset: None,
1397        units: None,
1398        components: &[],
1399        sub_fields: &[],
1400        accumulate: false,
1401    },
1402    FieldInfo {
1403        field_def_num: 1,
1404        name: "sdm_ant_id",
1405        type_name: "uint16z",
1406        array: None,
1407        scale: None,
1408        offset: None,
1409        units: None,
1410        components: &[],
1411        sub_fields: &[],
1412        accumulate: false,
1413    },
1414    FieldInfo {
1415        field_def_num: 2,
1416        name: "sdm_cal_factor",
1417        type_name: "uint16",
1418        array: None,
1419        scale: Some(10_f64),
1420        offset: None,
1421        units: Some("%"),
1422        components: &[],
1423        sub_fields: &[],
1424        accumulate: false,
1425    },
1426    FieldInfo {
1427        field_def_num: 3,
1428        name: "odometer",
1429        type_name: "uint32",
1430        array: None,
1431        scale: Some(100_f64),
1432        offset: None,
1433        units: Some("m"),
1434        components: &[],
1435        sub_fields: &[],
1436        accumulate: false,
1437    },
1438    FieldInfo {
1439        field_def_num: 4,
1440        name: "speed_source",
1441        type_name: "bool",
1442        array: None,
1443        scale: None,
1444        offset: None,
1445        units: None,
1446        components: &[],
1447        sub_fields: &[],
1448        accumulate: false,
1449    },
1450    FieldInfo {
1451        field_def_num: 5,
1452        name: "sdm_ant_id_trans_type",
1453        type_name: "uint8z",
1454        array: None,
1455        scale: None,
1456        offset: None,
1457        units: None,
1458        components: &[],
1459        sub_fields: &[],
1460        accumulate: false,
1461    },
1462    FieldInfo {
1463        field_def_num: 7,
1464        name: "odometer_rollover",
1465        type_name: "uint8",
1466        array: None,
1467        scale: None,
1468        offset: None,
1469        units: None,
1470        components: &[],
1471        sub_fields: &[],
1472        accumulate: false,
1473    },
1474];
1475
1476pub static MESG_SDM_PROFILE: MesgInfo = MesgInfo {
1477    name: "sdm_profile",
1478    fields: FIELDS_SDM_PROFILE,
1479};
1480
1481static FIELDS_BIKE_PROFILE: &[FieldInfo] = &[
1482    FieldInfo {
1483        field_def_num: 254,
1484        name: "message_index",
1485        type_name: "message_index",
1486        array: None,
1487        scale: None,
1488        offset: None,
1489        units: None,
1490        components: &[],
1491        sub_fields: &[],
1492        accumulate: false,
1493    },
1494    FieldInfo {
1495        field_def_num: 0,
1496        name: "name",
1497        type_name: "string",
1498        array: None,
1499        scale: None,
1500        offset: None,
1501        units: None,
1502        components: &[],
1503        sub_fields: &[],
1504        accumulate: false,
1505    },
1506    FieldInfo {
1507        field_def_num: 1,
1508        name: "sport",
1509        type_name: "sport",
1510        array: None,
1511        scale: None,
1512        offset: None,
1513        units: None,
1514        components: &[],
1515        sub_fields: &[],
1516        accumulate: false,
1517    },
1518    FieldInfo {
1519        field_def_num: 2,
1520        name: "sub_sport",
1521        type_name: "sub_sport",
1522        array: None,
1523        scale: None,
1524        offset: None,
1525        units: None,
1526        components: &[],
1527        sub_fields: &[],
1528        accumulate: false,
1529    },
1530    FieldInfo {
1531        field_def_num: 3,
1532        name: "odometer",
1533        type_name: "uint32",
1534        array: None,
1535        scale: Some(100_f64),
1536        offset: None,
1537        units: Some("m"),
1538        components: &[],
1539        sub_fields: &[],
1540        accumulate: false,
1541    },
1542    FieldInfo {
1543        field_def_num: 4,
1544        name: "bike_spd_ant_id",
1545        type_name: "uint16z",
1546        array: None,
1547        scale: None,
1548        offset: None,
1549        units: None,
1550        components: &[],
1551        sub_fields: &[],
1552        accumulate: false,
1553    },
1554    FieldInfo {
1555        field_def_num: 5,
1556        name: "bike_cad_ant_id",
1557        type_name: "uint16z",
1558        array: None,
1559        scale: None,
1560        offset: None,
1561        units: None,
1562        components: &[],
1563        sub_fields: &[],
1564        accumulate: false,
1565    },
1566    FieldInfo {
1567        field_def_num: 6,
1568        name: "bike_spdcad_ant_id",
1569        type_name: "uint16z",
1570        array: None,
1571        scale: None,
1572        offset: None,
1573        units: None,
1574        components: &[],
1575        sub_fields: &[],
1576        accumulate: false,
1577    },
1578    FieldInfo {
1579        field_def_num: 7,
1580        name: "bike_power_ant_id",
1581        type_name: "uint16z",
1582        array: None,
1583        scale: None,
1584        offset: None,
1585        units: None,
1586        components: &[],
1587        sub_fields: &[],
1588        accumulate: false,
1589    },
1590    FieldInfo {
1591        field_def_num: 8,
1592        name: "custom_wheelsize",
1593        type_name: "uint16",
1594        array: None,
1595        scale: Some(1000_f64),
1596        offset: None,
1597        units: Some("m"),
1598        components: &[],
1599        sub_fields: &[],
1600        accumulate: false,
1601    },
1602    FieldInfo {
1603        field_def_num: 9,
1604        name: "auto_wheelsize",
1605        type_name: "uint16",
1606        array: None,
1607        scale: Some(1000_f64),
1608        offset: None,
1609        units: Some("m"),
1610        components: &[],
1611        sub_fields: &[],
1612        accumulate: false,
1613    },
1614    FieldInfo {
1615        field_def_num: 10,
1616        name: "bike_weight",
1617        type_name: "uint16",
1618        array: None,
1619        scale: Some(10_f64),
1620        offset: None,
1621        units: Some("kg"),
1622        components: &[],
1623        sub_fields: &[],
1624        accumulate: false,
1625    },
1626    FieldInfo {
1627        field_def_num: 11,
1628        name: "power_cal_factor",
1629        type_name: "uint16",
1630        array: None,
1631        scale: Some(10_f64),
1632        offset: None,
1633        units: Some("%"),
1634        components: &[],
1635        sub_fields: &[],
1636        accumulate: false,
1637    },
1638    FieldInfo {
1639        field_def_num: 12,
1640        name: "auto_wheel_cal",
1641        type_name: "bool",
1642        array: None,
1643        scale: None,
1644        offset: None,
1645        units: None,
1646        components: &[],
1647        sub_fields: &[],
1648        accumulate: false,
1649    },
1650    FieldInfo {
1651        field_def_num: 13,
1652        name: "auto_power_zero",
1653        type_name: "bool",
1654        array: None,
1655        scale: None,
1656        offset: None,
1657        units: None,
1658        components: &[],
1659        sub_fields: &[],
1660        accumulate: false,
1661    },
1662    FieldInfo {
1663        field_def_num: 14,
1664        name: "id",
1665        type_name: "uint8",
1666        array: None,
1667        scale: None,
1668        offset: None,
1669        units: None,
1670        components: &[],
1671        sub_fields: &[],
1672        accumulate: false,
1673    },
1674    FieldInfo {
1675        field_def_num: 15,
1676        name: "spd_enabled",
1677        type_name: "bool",
1678        array: None,
1679        scale: None,
1680        offset: None,
1681        units: None,
1682        components: &[],
1683        sub_fields: &[],
1684        accumulate: false,
1685    },
1686    FieldInfo {
1687        field_def_num: 16,
1688        name: "cad_enabled",
1689        type_name: "bool",
1690        array: None,
1691        scale: None,
1692        offset: None,
1693        units: None,
1694        components: &[],
1695        sub_fields: &[],
1696        accumulate: false,
1697    },
1698    FieldInfo {
1699        field_def_num: 17,
1700        name: "spdcad_enabled",
1701        type_name: "bool",
1702        array: None,
1703        scale: None,
1704        offset: None,
1705        units: None,
1706        components: &[],
1707        sub_fields: &[],
1708        accumulate: false,
1709    },
1710    FieldInfo {
1711        field_def_num: 18,
1712        name: "power_enabled",
1713        type_name: "bool",
1714        array: None,
1715        scale: None,
1716        offset: None,
1717        units: None,
1718        components: &[],
1719        sub_fields: &[],
1720        accumulate: false,
1721    },
1722    FieldInfo {
1723        field_def_num: 19,
1724        name: "crank_length",
1725        type_name: "uint8",
1726        array: None,
1727        scale: Some(2_f64),
1728        offset: Some(-110_f64),
1729        units: Some("mm"),
1730        components: &[],
1731        sub_fields: &[],
1732        accumulate: false,
1733    },
1734    FieldInfo {
1735        field_def_num: 20,
1736        name: "enabled",
1737        type_name: "bool",
1738        array: None,
1739        scale: None,
1740        offset: None,
1741        units: None,
1742        components: &[],
1743        sub_fields: &[],
1744        accumulate: false,
1745    },
1746    FieldInfo {
1747        field_def_num: 21,
1748        name: "bike_spd_ant_id_trans_type",
1749        type_name: "uint8z",
1750        array: None,
1751        scale: None,
1752        offset: None,
1753        units: None,
1754        components: &[],
1755        sub_fields: &[],
1756        accumulate: false,
1757    },
1758    FieldInfo {
1759        field_def_num: 22,
1760        name: "bike_cad_ant_id_trans_type",
1761        type_name: "uint8z",
1762        array: None,
1763        scale: None,
1764        offset: None,
1765        units: None,
1766        components: &[],
1767        sub_fields: &[],
1768        accumulate: false,
1769    },
1770    FieldInfo {
1771        field_def_num: 23,
1772        name: "bike_spdcad_ant_id_trans_type",
1773        type_name: "uint8z",
1774        array: None,
1775        scale: None,
1776        offset: None,
1777        units: None,
1778        components: &[],
1779        sub_fields: &[],
1780        accumulate: false,
1781    },
1782    FieldInfo {
1783        field_def_num: 24,
1784        name: "bike_power_ant_id_trans_type",
1785        type_name: "uint8z",
1786        array: None,
1787        scale: None,
1788        offset: None,
1789        units: None,
1790        components: &[],
1791        sub_fields: &[],
1792        accumulate: false,
1793    },
1794    FieldInfo {
1795        field_def_num: 37,
1796        name: "odometer_rollover",
1797        type_name: "uint8",
1798        array: None,
1799        scale: None,
1800        offset: None,
1801        units: None,
1802        components: &[],
1803        sub_fields: &[],
1804        accumulate: false,
1805    },
1806    FieldInfo {
1807        field_def_num: 38,
1808        name: "front_gear_num",
1809        type_name: "uint8z",
1810        array: None,
1811        scale: None,
1812        offset: None,
1813        units: None,
1814        components: &[],
1815        sub_fields: &[],
1816        accumulate: false,
1817    },
1818    FieldInfo {
1819        field_def_num: 39,
1820        name: "front_gear",
1821        type_name: "uint8z",
1822        array: Some("[N]"),
1823        scale: None,
1824        offset: None,
1825        units: None,
1826        components: &[],
1827        sub_fields: &[],
1828        accumulate: false,
1829    },
1830    FieldInfo {
1831        field_def_num: 40,
1832        name: "rear_gear_num",
1833        type_name: "uint8z",
1834        array: None,
1835        scale: None,
1836        offset: None,
1837        units: None,
1838        components: &[],
1839        sub_fields: &[],
1840        accumulate: false,
1841    },
1842    FieldInfo {
1843        field_def_num: 41,
1844        name: "rear_gear",
1845        type_name: "uint8z",
1846        array: Some("[N]"),
1847        scale: None,
1848        offset: None,
1849        units: None,
1850        components: &[],
1851        sub_fields: &[],
1852        accumulate: false,
1853    },
1854    FieldInfo {
1855        field_def_num: 44,
1856        name: "shimano_di2_enabled",
1857        type_name: "bool",
1858        array: None,
1859        scale: None,
1860        offset: None,
1861        units: None,
1862        components: &[],
1863        sub_fields: &[],
1864        accumulate: false,
1865    },
1866];
1867
1868pub static MESG_BIKE_PROFILE: MesgInfo = MesgInfo {
1869    name: "bike_profile",
1870    fields: FIELDS_BIKE_PROFILE,
1871};
1872
1873static FIELDS_CONNECTIVITY: &[FieldInfo] = &[
1874    FieldInfo {
1875        field_def_num: 0,
1876        name: "bluetooth_enabled",
1877        type_name: "bool",
1878        array: None,
1879        scale: None,
1880        offset: None,
1881        units: None,
1882        components: &[],
1883        sub_fields: &[],
1884        accumulate: false,
1885    },
1886    FieldInfo {
1887        field_def_num: 1,
1888        name: "bluetooth_le_enabled",
1889        type_name: "bool",
1890        array: None,
1891        scale: None,
1892        offset: None,
1893        units: None,
1894        components: &[],
1895        sub_fields: &[],
1896        accumulate: false,
1897    },
1898    FieldInfo {
1899        field_def_num: 2,
1900        name: "ant_enabled",
1901        type_name: "bool",
1902        array: None,
1903        scale: None,
1904        offset: None,
1905        units: None,
1906        components: &[],
1907        sub_fields: &[],
1908        accumulate: false,
1909    },
1910    FieldInfo {
1911        field_def_num: 3,
1912        name: "name",
1913        type_name: "string",
1914        array: None,
1915        scale: None,
1916        offset: None,
1917        units: None,
1918        components: &[],
1919        sub_fields: &[],
1920        accumulate: false,
1921    },
1922    FieldInfo {
1923        field_def_num: 4,
1924        name: "live_tracking_enabled",
1925        type_name: "bool",
1926        array: None,
1927        scale: None,
1928        offset: None,
1929        units: None,
1930        components: &[],
1931        sub_fields: &[],
1932        accumulate: false,
1933    },
1934    FieldInfo {
1935        field_def_num: 5,
1936        name: "weather_conditions_enabled",
1937        type_name: "bool",
1938        array: None,
1939        scale: None,
1940        offset: None,
1941        units: None,
1942        components: &[],
1943        sub_fields: &[],
1944        accumulate: false,
1945    },
1946    FieldInfo {
1947        field_def_num: 6,
1948        name: "weather_alerts_enabled",
1949        type_name: "bool",
1950        array: None,
1951        scale: None,
1952        offset: None,
1953        units: None,
1954        components: &[],
1955        sub_fields: &[],
1956        accumulate: false,
1957    },
1958    FieldInfo {
1959        field_def_num: 7,
1960        name: "auto_activity_upload_enabled",
1961        type_name: "bool",
1962        array: None,
1963        scale: None,
1964        offset: None,
1965        units: None,
1966        components: &[],
1967        sub_fields: &[],
1968        accumulate: false,
1969    },
1970    FieldInfo {
1971        field_def_num: 8,
1972        name: "course_download_enabled",
1973        type_name: "bool",
1974        array: None,
1975        scale: None,
1976        offset: None,
1977        units: None,
1978        components: &[],
1979        sub_fields: &[],
1980        accumulate: false,
1981    },
1982    FieldInfo {
1983        field_def_num: 9,
1984        name: "workout_download_enabled",
1985        type_name: "bool",
1986        array: None,
1987        scale: None,
1988        offset: None,
1989        units: None,
1990        components: &[],
1991        sub_fields: &[],
1992        accumulate: false,
1993    },
1994    FieldInfo {
1995        field_def_num: 10,
1996        name: "gps_ephemeris_download_enabled",
1997        type_name: "bool",
1998        array: None,
1999        scale: None,
2000        offset: None,
2001        units: None,
2002        components: &[],
2003        sub_fields: &[],
2004        accumulate: false,
2005    },
2006    FieldInfo {
2007        field_def_num: 11,
2008        name: "incident_detection_enabled",
2009        type_name: "bool",
2010        array: None,
2011        scale: None,
2012        offset: None,
2013        units: None,
2014        components: &[],
2015        sub_fields: &[],
2016        accumulate: false,
2017    },
2018    FieldInfo {
2019        field_def_num: 12,
2020        name: "grouptrack_enabled",
2021        type_name: "bool",
2022        array: None,
2023        scale: None,
2024        offset: None,
2025        units: None,
2026        components: &[],
2027        sub_fields: &[],
2028        accumulate: false,
2029    },
2030];
2031
2032pub static MESG_CONNECTIVITY: MesgInfo = MesgInfo {
2033    name: "connectivity",
2034    fields: FIELDS_CONNECTIVITY,
2035};
2036
2037static SUBFIELDS_WATCHFACE_SETTINGS_2: &[SubField] = &[
2038    SubField {
2039        name: "digital_layout",
2040        type_name: "digital_watchface_layout",
2041        conditions: &[("mode", "digital")],
2042        components: &[],
2043        scale: None,
2044        offset: None,
2045        units: None,
2046    },
2047    SubField {
2048        name: "analog_layout",
2049        type_name: "analog_watchface_layout",
2050        conditions: &[("mode", "analog")],
2051        components: &[],
2052        scale: None,
2053        offset: None,
2054        units: None,
2055    },
2056];
2057static FIELDS_WATCHFACE_SETTINGS: &[FieldInfo] = &[
2058    FieldInfo {
2059        field_def_num: 254,
2060        name: "message_index",
2061        type_name: "message_index",
2062        array: None,
2063        scale: None,
2064        offset: None,
2065        units: None,
2066        components: &[],
2067        sub_fields: &[],
2068        accumulate: false,
2069    },
2070    FieldInfo {
2071        field_def_num: 0,
2072        name: "mode",
2073        type_name: "watchface_mode",
2074        array: None,
2075        scale: None,
2076        offset: None,
2077        units: None,
2078        components: &[],
2079        sub_fields: &[],
2080        accumulate: false,
2081    },
2082    FieldInfo {
2083        field_def_num: 1,
2084        name: "layout",
2085        type_name: "byte",
2086        array: None,
2087        scale: None,
2088        offset: None,
2089        units: None,
2090        components: &[],
2091        sub_fields: SUBFIELDS_WATCHFACE_SETTINGS_2,
2092        accumulate: false,
2093    },
2094];
2095
2096pub static MESG_WATCHFACE_SETTINGS: MesgInfo = MesgInfo {
2097    name: "watchface_settings",
2098    fields: FIELDS_WATCHFACE_SETTINGS,
2099};
2100
2101static FIELDS_OHR_SETTINGS: &[FieldInfo] = &[
2102    FieldInfo {
2103        field_def_num: 253,
2104        name: "timestamp",
2105        type_name: "date_time",
2106        array: None,
2107        scale: None,
2108        offset: None,
2109        units: Some("s"),
2110        components: &[],
2111        sub_fields: &[],
2112        accumulate: false,
2113    },
2114    FieldInfo {
2115        field_def_num: 0,
2116        name: "enabled",
2117        type_name: "switch",
2118        array: None,
2119        scale: None,
2120        offset: None,
2121        units: None,
2122        components: &[],
2123        sub_fields: &[],
2124        accumulate: false,
2125    },
2126];
2127
2128pub static MESG_OHR_SETTINGS: MesgInfo = MesgInfo {
2129    name: "ohr_settings",
2130    fields: FIELDS_OHR_SETTINGS,
2131};
2132
2133static FIELDS_TIME_IN_ZONE: &[FieldInfo] = &[
2134    FieldInfo {
2135        field_def_num: 253,
2136        name: "timestamp",
2137        type_name: "date_time",
2138        array: None,
2139        scale: None,
2140        offset: None,
2141        units: Some("s"),
2142        components: &[],
2143        sub_fields: &[],
2144        accumulate: false,
2145    },
2146    FieldInfo {
2147        field_def_num: 0,
2148        name: "reference_mesg",
2149        type_name: "mesg_num",
2150        array: None,
2151        scale: None,
2152        offset: None,
2153        units: None,
2154        components: &[],
2155        sub_fields: &[],
2156        accumulate: false,
2157    },
2158    FieldInfo {
2159        field_def_num: 1,
2160        name: "reference_index",
2161        type_name: "message_index",
2162        array: None,
2163        scale: None,
2164        offset: None,
2165        units: None,
2166        components: &[],
2167        sub_fields: &[],
2168        accumulate: false,
2169    },
2170    FieldInfo {
2171        field_def_num: 2,
2172        name: "time_in_hr_zone",
2173        type_name: "uint32",
2174        array: Some("[N]"),
2175        scale: Some(1000_f64),
2176        offset: None,
2177        units: Some("s"),
2178        components: &[],
2179        sub_fields: &[],
2180        accumulate: false,
2181    },
2182    FieldInfo {
2183        field_def_num: 3,
2184        name: "time_in_speed_zone",
2185        type_name: "uint32",
2186        array: Some("[N]"),
2187        scale: Some(1000_f64),
2188        offset: None,
2189        units: Some("s"),
2190        components: &[],
2191        sub_fields: &[],
2192        accumulate: false,
2193    },
2194    FieldInfo {
2195        field_def_num: 4,
2196        name: "time_in_cadence_zone",
2197        type_name: "uint32",
2198        array: Some("[N]"),
2199        scale: Some(1000_f64),
2200        offset: None,
2201        units: Some("s"),
2202        components: &[],
2203        sub_fields: &[],
2204        accumulate: false,
2205    },
2206    FieldInfo {
2207        field_def_num: 5,
2208        name: "time_in_power_zone",
2209        type_name: "uint32",
2210        array: Some("[N]"),
2211        scale: Some(1000_f64),
2212        offset: None,
2213        units: Some("s"),
2214        components: &[],
2215        sub_fields: &[],
2216        accumulate: false,
2217    },
2218    FieldInfo {
2219        field_def_num: 6,
2220        name: "hr_zone_high_boundary",
2221        type_name: "uint8",
2222        array: Some("[N]"),
2223        scale: None,
2224        offset: None,
2225        units: Some("bpm"),
2226        components: &[],
2227        sub_fields: &[],
2228        accumulate: false,
2229    },
2230    FieldInfo {
2231        field_def_num: 7,
2232        name: "speed_zone_high_boundary",
2233        type_name: "uint16",
2234        array: Some("[N]"),
2235        scale: Some(1000_f64),
2236        offset: None,
2237        units: Some("m/s"),
2238        components: &[],
2239        sub_fields: &[],
2240        accumulate: false,
2241    },
2242    FieldInfo {
2243        field_def_num: 8,
2244        name: "cadence_zone_high_bondary",
2245        type_name: "uint8",
2246        array: Some("[N]"),
2247        scale: None,
2248        offset: None,
2249        units: Some("rpm"),
2250        components: &[],
2251        sub_fields: &[],
2252        accumulate: false,
2253    },
2254    FieldInfo {
2255        field_def_num: 9,
2256        name: "power_zone_high_boundary",
2257        type_name: "uint16",
2258        array: Some("[N]"),
2259        scale: None,
2260        offset: None,
2261        units: Some("watts"),
2262        components: &[],
2263        sub_fields: &[],
2264        accumulate: false,
2265    },
2266    FieldInfo {
2267        field_def_num: 10,
2268        name: "hr_calc_type",
2269        type_name: "hr_zone_calc",
2270        array: None,
2271        scale: None,
2272        offset: None,
2273        units: None,
2274        components: &[],
2275        sub_fields: &[],
2276        accumulate: false,
2277    },
2278    FieldInfo {
2279        field_def_num: 11,
2280        name: "max_heart_rate",
2281        type_name: "uint8",
2282        array: None,
2283        scale: None,
2284        offset: None,
2285        units: None,
2286        components: &[],
2287        sub_fields: &[],
2288        accumulate: false,
2289    },
2290    FieldInfo {
2291        field_def_num: 12,
2292        name: "resting_heart_rate",
2293        type_name: "uint8",
2294        array: None,
2295        scale: None,
2296        offset: None,
2297        units: None,
2298        components: &[],
2299        sub_fields: &[],
2300        accumulate: false,
2301    },
2302    FieldInfo {
2303        field_def_num: 13,
2304        name: "threshold_heart_rate",
2305        type_name: "uint8",
2306        array: None,
2307        scale: None,
2308        offset: None,
2309        units: None,
2310        components: &[],
2311        sub_fields: &[],
2312        accumulate: false,
2313    },
2314    FieldInfo {
2315        field_def_num: 14,
2316        name: "pwr_calc_type",
2317        type_name: "pwr_zone_calc",
2318        array: None,
2319        scale: None,
2320        offset: None,
2321        units: None,
2322        components: &[],
2323        sub_fields: &[],
2324        accumulate: false,
2325    },
2326    FieldInfo {
2327        field_def_num: 15,
2328        name: "functional_threshold_power",
2329        type_name: "uint16",
2330        array: None,
2331        scale: None,
2332        offset: None,
2333        units: None,
2334        components: &[],
2335        sub_fields: &[],
2336        accumulate: false,
2337    },
2338];
2339
2340pub static MESG_TIME_IN_ZONE: MesgInfo = MesgInfo {
2341    name: "time_in_zone",
2342    fields: FIELDS_TIME_IN_ZONE,
2343};
2344
2345static FIELDS_ZONES_TARGET: &[FieldInfo] = &[
2346    FieldInfo {
2347        field_def_num: 1,
2348        name: "max_heart_rate",
2349        type_name: "uint8",
2350        array: None,
2351        scale: None,
2352        offset: None,
2353        units: None,
2354        components: &[],
2355        sub_fields: &[],
2356        accumulate: false,
2357    },
2358    FieldInfo {
2359        field_def_num: 2,
2360        name: "threshold_heart_rate",
2361        type_name: "uint8",
2362        array: None,
2363        scale: None,
2364        offset: None,
2365        units: None,
2366        components: &[],
2367        sub_fields: &[],
2368        accumulate: false,
2369    },
2370    FieldInfo {
2371        field_def_num: 3,
2372        name: "functional_threshold_power",
2373        type_name: "uint16",
2374        array: None,
2375        scale: None,
2376        offset: None,
2377        units: None,
2378        components: &[],
2379        sub_fields: &[],
2380        accumulate: false,
2381    },
2382    FieldInfo {
2383        field_def_num: 5,
2384        name: "hr_calc_type",
2385        type_name: "hr_zone_calc",
2386        array: None,
2387        scale: None,
2388        offset: None,
2389        units: None,
2390        components: &[],
2391        sub_fields: &[],
2392        accumulate: false,
2393    },
2394    FieldInfo {
2395        field_def_num: 7,
2396        name: "pwr_calc_type",
2397        type_name: "pwr_zone_calc",
2398        array: None,
2399        scale: None,
2400        offset: None,
2401        units: None,
2402        components: &[],
2403        sub_fields: &[],
2404        accumulate: false,
2405    },
2406];
2407
2408pub static MESG_ZONES_TARGET: MesgInfo = MesgInfo {
2409    name: "zones_target",
2410    fields: FIELDS_ZONES_TARGET,
2411};
2412
2413static FIELDS_SPORT: &[FieldInfo] = &[
2414    FieldInfo {
2415        field_def_num: 0,
2416        name: "sport",
2417        type_name: "sport",
2418        array: None,
2419        scale: None,
2420        offset: None,
2421        units: None,
2422        components: &[],
2423        sub_fields: &[],
2424        accumulate: false,
2425    },
2426    FieldInfo {
2427        field_def_num: 1,
2428        name: "sub_sport",
2429        type_name: "sub_sport",
2430        array: None,
2431        scale: None,
2432        offset: None,
2433        units: None,
2434        components: &[],
2435        sub_fields: &[],
2436        accumulate: false,
2437    },
2438    FieldInfo {
2439        field_def_num: 3,
2440        name: "name",
2441        type_name: "string",
2442        array: None,
2443        scale: None,
2444        offset: None,
2445        units: None,
2446        components: &[],
2447        sub_fields: &[],
2448        accumulate: false,
2449    },
2450];
2451
2452pub static MESG_SPORT: MesgInfo = MesgInfo {
2453    name: "sport",
2454    fields: FIELDS_SPORT,
2455};
2456
2457static FIELDS_HR_ZONE: &[FieldInfo] = &[
2458    FieldInfo {
2459        field_def_num: 254,
2460        name: "message_index",
2461        type_name: "message_index",
2462        array: None,
2463        scale: None,
2464        offset: None,
2465        units: None,
2466        components: &[],
2467        sub_fields: &[],
2468        accumulate: false,
2469    },
2470    FieldInfo {
2471        field_def_num: 1,
2472        name: "high_bpm",
2473        type_name: "uint8",
2474        array: None,
2475        scale: None,
2476        offset: None,
2477        units: Some("bpm"),
2478        components: &[],
2479        sub_fields: &[],
2480        accumulate: false,
2481    },
2482    FieldInfo {
2483        field_def_num: 2,
2484        name: "name",
2485        type_name: "string",
2486        array: None,
2487        scale: None,
2488        offset: None,
2489        units: None,
2490        components: &[],
2491        sub_fields: &[],
2492        accumulate: false,
2493    },
2494];
2495
2496pub static MESG_HR_ZONE: MesgInfo = MesgInfo {
2497    name: "hr_zone",
2498    fields: FIELDS_HR_ZONE,
2499};
2500
2501static FIELDS_SPEED_ZONE: &[FieldInfo] = &[
2502    FieldInfo {
2503        field_def_num: 254,
2504        name: "message_index",
2505        type_name: "message_index",
2506        array: None,
2507        scale: None,
2508        offset: None,
2509        units: None,
2510        components: &[],
2511        sub_fields: &[],
2512        accumulate: false,
2513    },
2514    FieldInfo {
2515        field_def_num: 0,
2516        name: "high_value",
2517        type_name: "uint16",
2518        array: None,
2519        scale: Some(1000_f64),
2520        offset: None,
2521        units: Some("m/s"),
2522        components: &[],
2523        sub_fields: &[],
2524        accumulate: false,
2525    },
2526    FieldInfo {
2527        field_def_num: 1,
2528        name: "name",
2529        type_name: "string",
2530        array: None,
2531        scale: None,
2532        offset: None,
2533        units: None,
2534        components: &[],
2535        sub_fields: &[],
2536        accumulate: false,
2537    },
2538];
2539
2540pub static MESG_SPEED_ZONE: MesgInfo = MesgInfo {
2541    name: "speed_zone",
2542    fields: FIELDS_SPEED_ZONE,
2543};
2544
2545static FIELDS_CADENCE_ZONE: &[FieldInfo] = &[
2546    FieldInfo {
2547        field_def_num: 254,
2548        name: "message_index",
2549        type_name: "message_index",
2550        array: None,
2551        scale: None,
2552        offset: None,
2553        units: None,
2554        components: &[],
2555        sub_fields: &[],
2556        accumulate: false,
2557    },
2558    FieldInfo {
2559        field_def_num: 0,
2560        name: "high_value",
2561        type_name: "uint8",
2562        array: None,
2563        scale: None,
2564        offset: None,
2565        units: Some("rpm"),
2566        components: &[],
2567        sub_fields: &[],
2568        accumulate: false,
2569    },
2570    FieldInfo {
2571        field_def_num: 1,
2572        name: "name",
2573        type_name: "string",
2574        array: None,
2575        scale: None,
2576        offset: None,
2577        units: None,
2578        components: &[],
2579        sub_fields: &[],
2580        accumulate: false,
2581    },
2582];
2583
2584pub static MESG_CADENCE_ZONE: MesgInfo = MesgInfo {
2585    name: "cadence_zone",
2586    fields: FIELDS_CADENCE_ZONE,
2587};
2588
2589static FIELDS_POWER_ZONE: &[FieldInfo] = &[
2590    FieldInfo {
2591        field_def_num: 254,
2592        name: "message_index",
2593        type_name: "message_index",
2594        array: None,
2595        scale: None,
2596        offset: None,
2597        units: None,
2598        components: &[],
2599        sub_fields: &[],
2600        accumulate: false,
2601    },
2602    FieldInfo {
2603        field_def_num: 1,
2604        name: "high_value",
2605        type_name: "uint16",
2606        array: None,
2607        scale: None,
2608        offset: None,
2609        units: Some("watts"),
2610        components: &[],
2611        sub_fields: &[],
2612        accumulate: false,
2613    },
2614    FieldInfo {
2615        field_def_num: 2,
2616        name: "name",
2617        type_name: "string",
2618        array: None,
2619        scale: None,
2620        offset: None,
2621        units: None,
2622        components: &[],
2623        sub_fields: &[],
2624        accumulate: false,
2625    },
2626];
2627
2628pub static MESG_POWER_ZONE: MesgInfo = MesgInfo {
2629    name: "power_zone",
2630    fields: FIELDS_POWER_ZONE,
2631};
2632
2633static FIELDS_MET_ZONE: &[FieldInfo] = &[
2634    FieldInfo {
2635        field_def_num: 254,
2636        name: "message_index",
2637        type_name: "message_index",
2638        array: None,
2639        scale: None,
2640        offset: None,
2641        units: None,
2642        components: &[],
2643        sub_fields: &[],
2644        accumulate: false,
2645    },
2646    FieldInfo {
2647        field_def_num: 1,
2648        name: "high_bpm",
2649        type_name: "uint8",
2650        array: None,
2651        scale: None,
2652        offset: None,
2653        units: None,
2654        components: &[],
2655        sub_fields: &[],
2656        accumulate: false,
2657    },
2658    FieldInfo {
2659        field_def_num: 2,
2660        name: "calories",
2661        type_name: "uint16",
2662        array: None,
2663        scale: Some(10_f64),
2664        offset: None,
2665        units: Some("kcal / min"),
2666        components: &[],
2667        sub_fields: &[],
2668        accumulate: false,
2669    },
2670    FieldInfo {
2671        field_def_num: 3,
2672        name: "fat_calories",
2673        type_name: "uint8",
2674        array: None,
2675        scale: Some(10_f64),
2676        offset: None,
2677        units: Some("kcal / min"),
2678        components: &[],
2679        sub_fields: &[],
2680        accumulate: false,
2681    },
2682];
2683
2684pub static MESG_MET_ZONE: MesgInfo = MesgInfo {
2685    name: "met_zone",
2686    fields: FIELDS_MET_ZONE,
2687};
2688
2689static FIELDS_TRAINING_SETTINGS: &[FieldInfo] = &[
2690    FieldInfo {
2691        field_def_num: 31,
2692        name: "target_distance",
2693        type_name: "uint32",
2694        array: None,
2695        scale: Some(100_f64),
2696        offset: None,
2697        units: Some("m"),
2698        components: &[],
2699        sub_fields: &[],
2700        accumulate: false,
2701    },
2702    FieldInfo {
2703        field_def_num: 32,
2704        name: "target_speed",
2705        type_name: "uint16",
2706        array: None,
2707        scale: Some(1000_f64),
2708        offset: None,
2709        units: Some("m/s"),
2710        components: &[],
2711        sub_fields: &[],
2712        accumulate: false,
2713    },
2714    FieldInfo {
2715        field_def_num: 33,
2716        name: "target_time",
2717        type_name: "uint32",
2718        array: None,
2719        scale: None,
2720        offset: None,
2721        units: Some("s"),
2722        components: &[],
2723        sub_fields: &[],
2724        accumulate: false,
2725    },
2726    FieldInfo {
2727        field_def_num: 153,
2728        name: "precise_target_speed",
2729        type_name: "uint32",
2730        array: None,
2731        scale: Some(1000000_f64),
2732        offset: None,
2733        units: Some("m/s"),
2734        components: &[],
2735        sub_fields: &[],
2736        accumulate: false,
2737    },
2738];
2739
2740pub static MESG_TRAINING_SETTINGS: MesgInfo = MesgInfo {
2741    name: "training_settings",
2742    fields: FIELDS_TRAINING_SETTINGS,
2743};
2744
2745static SUBFIELDS_DIVE_SETTINGS_22: &[SubField] = &[
2746    SubField {
2747        name: "heart_rate_antplus_device_type",
2748        type_name: "antplus_device_type",
2749        conditions: &[("heart_rate_source_type", "antplus")],
2750        components: &[],
2751        scale: None,
2752        offset: None,
2753        units: None,
2754    },
2755    SubField {
2756        name: "heart_rate_local_device_type",
2757        type_name: "local_device_type",
2758        conditions: &[("heart_rate_source_type", "local")],
2759        components: &[],
2760        scale: None,
2761        offset: None,
2762        units: None,
2763    },
2764];
2765static FIELDS_DIVE_SETTINGS: &[FieldInfo] = &[
2766    FieldInfo {
2767        field_def_num: 253,
2768        name: "timestamp",
2769        type_name: "date_time",
2770        array: None,
2771        scale: None,
2772        offset: None,
2773        units: None,
2774        components: &[],
2775        sub_fields: &[],
2776        accumulate: false,
2777    },
2778    FieldInfo {
2779        field_def_num: 254,
2780        name: "message_index",
2781        type_name: "message_index",
2782        array: None,
2783        scale: None,
2784        offset: None,
2785        units: None,
2786        components: &[],
2787        sub_fields: &[],
2788        accumulate: false,
2789    },
2790    FieldInfo {
2791        field_def_num: 0,
2792        name: "name",
2793        type_name: "string",
2794        array: None,
2795        scale: None,
2796        offset: None,
2797        units: None,
2798        components: &[],
2799        sub_fields: &[],
2800        accumulate: false,
2801    },
2802    FieldInfo {
2803        field_def_num: 1,
2804        name: "model",
2805        type_name: "tissue_model_type",
2806        array: None,
2807        scale: None,
2808        offset: None,
2809        units: None,
2810        components: &[],
2811        sub_fields: &[],
2812        accumulate: false,
2813    },
2814    FieldInfo {
2815        field_def_num: 2,
2816        name: "gf_low",
2817        type_name: "uint8",
2818        array: None,
2819        scale: None,
2820        offset: None,
2821        units: Some("percent"),
2822        components: &[],
2823        sub_fields: &[],
2824        accumulate: false,
2825    },
2826    FieldInfo {
2827        field_def_num: 3,
2828        name: "gf_high",
2829        type_name: "uint8",
2830        array: None,
2831        scale: None,
2832        offset: None,
2833        units: Some("percent"),
2834        components: &[],
2835        sub_fields: &[],
2836        accumulate: false,
2837    },
2838    FieldInfo {
2839        field_def_num: 4,
2840        name: "water_type",
2841        type_name: "water_type",
2842        array: None,
2843        scale: None,
2844        offset: None,
2845        units: None,
2846        components: &[],
2847        sub_fields: &[],
2848        accumulate: false,
2849    },
2850    FieldInfo {
2851        field_def_num: 5,
2852        name: "water_density",
2853        type_name: "float32",
2854        array: None,
2855        scale: None,
2856        offset: None,
2857        units: Some("kg/m^3"),
2858        components: &[],
2859        sub_fields: &[],
2860        accumulate: false,
2861    },
2862    FieldInfo {
2863        field_def_num: 6,
2864        name: "po2_warn",
2865        type_name: "uint8",
2866        array: None,
2867        scale: Some(100_f64),
2868        offset: None,
2869        units: Some("percent"),
2870        components: &[],
2871        sub_fields: &[],
2872        accumulate: false,
2873    },
2874    FieldInfo {
2875        field_def_num: 7,
2876        name: "po2_critical",
2877        type_name: "uint8",
2878        array: None,
2879        scale: Some(100_f64),
2880        offset: None,
2881        units: Some("percent"),
2882        components: &[],
2883        sub_fields: &[],
2884        accumulate: false,
2885    },
2886    FieldInfo {
2887        field_def_num: 8,
2888        name: "po2_deco",
2889        type_name: "uint8",
2890        array: None,
2891        scale: Some(100_f64),
2892        offset: None,
2893        units: Some("percent"),
2894        components: &[],
2895        sub_fields: &[],
2896        accumulate: false,
2897    },
2898    FieldInfo {
2899        field_def_num: 9,
2900        name: "safety_stop_enabled",
2901        type_name: "bool",
2902        array: None,
2903        scale: None,
2904        offset: None,
2905        units: None,
2906        components: &[],
2907        sub_fields: &[],
2908        accumulate: false,
2909    },
2910    FieldInfo {
2911        field_def_num: 10,
2912        name: "bottom_depth",
2913        type_name: "float32",
2914        array: None,
2915        scale: None,
2916        offset: None,
2917        units: None,
2918        components: &[],
2919        sub_fields: &[],
2920        accumulate: false,
2921    },
2922    FieldInfo {
2923        field_def_num: 11,
2924        name: "bottom_time",
2925        type_name: "uint32",
2926        array: None,
2927        scale: None,
2928        offset: None,
2929        units: None,
2930        components: &[],
2931        sub_fields: &[],
2932        accumulate: false,
2933    },
2934    FieldInfo {
2935        field_def_num: 12,
2936        name: "apnea_countdown_enabled",
2937        type_name: "bool",
2938        array: None,
2939        scale: None,
2940        offset: None,
2941        units: None,
2942        components: &[],
2943        sub_fields: &[],
2944        accumulate: false,
2945    },
2946    FieldInfo {
2947        field_def_num: 13,
2948        name: "apnea_countdown_time",
2949        type_name: "uint32",
2950        array: None,
2951        scale: None,
2952        offset: None,
2953        units: None,
2954        components: &[],
2955        sub_fields: &[],
2956        accumulate: false,
2957    },
2958    FieldInfo {
2959        field_def_num: 14,
2960        name: "backlight_mode",
2961        type_name: "dive_backlight_mode",
2962        array: None,
2963        scale: None,
2964        offset: None,
2965        units: None,
2966        components: &[],
2967        sub_fields: &[],
2968        accumulate: false,
2969    },
2970    FieldInfo {
2971        field_def_num: 15,
2972        name: "backlight_brightness",
2973        type_name: "uint8",
2974        array: None,
2975        scale: None,
2976        offset: None,
2977        units: None,
2978        components: &[],
2979        sub_fields: &[],
2980        accumulate: false,
2981    },
2982    FieldInfo {
2983        field_def_num: 16,
2984        name: "backlight_timeout",
2985        type_name: "backlight_timeout",
2986        array: None,
2987        scale: None,
2988        offset: None,
2989        units: None,
2990        components: &[],
2991        sub_fields: &[],
2992        accumulate: false,
2993    },
2994    FieldInfo {
2995        field_def_num: 17,
2996        name: "repeat_dive_interval",
2997        type_name: "uint16",
2998        array: None,
2999        scale: Some(1_f64),
3000        offset: None,
3001        units: Some("s"),
3002        components: &[],
3003        sub_fields: &[],
3004        accumulate: false,
3005    },
3006    FieldInfo {
3007        field_def_num: 18,
3008        name: "safety_stop_time",
3009        type_name: "uint16",
3010        array: None,
3011        scale: Some(1_f64),
3012        offset: None,
3013        units: Some("s"),
3014        components: &[],
3015        sub_fields: &[],
3016        accumulate: false,
3017    },
3018    FieldInfo {
3019        field_def_num: 19,
3020        name: "heart_rate_source_type",
3021        type_name: "source_type",
3022        array: None,
3023        scale: None,
3024        offset: None,
3025        units: None,
3026        components: &[],
3027        sub_fields: &[],
3028        accumulate: false,
3029    },
3030    FieldInfo {
3031        field_def_num: 20,
3032        name: "heart_rate_source",
3033        type_name: "uint8",
3034        array: None,
3035        scale: None,
3036        offset: None,
3037        units: None,
3038        components: &[],
3039        sub_fields: SUBFIELDS_DIVE_SETTINGS_22,
3040        accumulate: false,
3041    },
3042    FieldInfo {
3043        field_def_num: 21,
3044        name: "travel_gas",
3045        type_name: "message_index",
3046        array: None,
3047        scale: None,
3048        offset: None,
3049        units: None,
3050        components: &[],
3051        sub_fields: &[],
3052        accumulate: false,
3053    },
3054    FieldInfo {
3055        field_def_num: 22,
3056        name: "ccr_low_setpoint_switch_mode",
3057        type_name: "ccr_setpoint_switch_mode",
3058        array: None,
3059        scale: None,
3060        offset: None,
3061        units: None,
3062        components: &[],
3063        sub_fields: &[],
3064        accumulate: false,
3065    },
3066    FieldInfo {
3067        field_def_num: 23,
3068        name: "ccr_low_setpoint",
3069        type_name: "uint8",
3070        array: None,
3071        scale: Some(100_f64),
3072        offset: None,
3073        units: Some("percent"),
3074        components: &[],
3075        sub_fields: &[],
3076        accumulate: false,
3077    },
3078    FieldInfo {
3079        field_def_num: 24,
3080        name: "ccr_low_setpoint_depth",
3081        type_name: "uint32",
3082        array: None,
3083        scale: Some(1000_f64),
3084        offset: None,
3085        units: Some("m"),
3086        components: &[],
3087        sub_fields: &[],
3088        accumulate: false,
3089    },
3090    FieldInfo {
3091        field_def_num: 25,
3092        name: "ccr_high_setpoint_switch_mode",
3093        type_name: "ccr_setpoint_switch_mode",
3094        array: None,
3095        scale: None,
3096        offset: None,
3097        units: None,
3098        components: &[],
3099        sub_fields: &[],
3100        accumulate: false,
3101    },
3102    FieldInfo {
3103        field_def_num: 26,
3104        name: "ccr_high_setpoint",
3105        type_name: "uint8",
3106        array: None,
3107        scale: Some(100_f64),
3108        offset: None,
3109        units: Some("percent"),
3110        components: &[],
3111        sub_fields: &[],
3112        accumulate: false,
3113    },
3114    FieldInfo {
3115        field_def_num: 27,
3116        name: "ccr_high_setpoint_depth",
3117        type_name: "uint32",
3118        array: None,
3119        scale: Some(1000_f64),
3120        offset: None,
3121        units: Some("m"),
3122        components: &[],
3123        sub_fields: &[],
3124        accumulate: false,
3125    },
3126    FieldInfo {
3127        field_def_num: 29,
3128        name: "gas_consumption_display",
3129        type_name: "gas_consumption_rate_type",
3130        array: None,
3131        scale: None,
3132        offset: None,
3133        units: None,
3134        components: &[],
3135        sub_fields: &[],
3136        accumulate: false,
3137    },
3138    FieldInfo {
3139        field_def_num: 30,
3140        name: "up_key_enabled",
3141        type_name: "bool",
3142        array: None,
3143        scale: None,
3144        offset: None,
3145        units: None,
3146        components: &[],
3147        sub_fields: &[],
3148        accumulate: false,
3149    },
3150    FieldInfo {
3151        field_def_num: 35,
3152        name: "dive_sounds",
3153        type_name: "tone",
3154        array: None,
3155        scale: None,
3156        offset: None,
3157        units: None,
3158        components: &[],
3159        sub_fields: &[],
3160        accumulate: false,
3161    },
3162    FieldInfo {
3163        field_def_num: 36,
3164        name: "last_stop_multiple",
3165        type_name: "uint8",
3166        array: None,
3167        scale: Some(10_f64),
3168        offset: None,
3169        units: None,
3170        components: &[],
3171        sub_fields: &[],
3172        accumulate: false,
3173    },
3174    FieldInfo {
3175        field_def_num: 37,
3176        name: "no_fly_time_mode",
3177        type_name: "no_fly_time_mode",
3178        array: None,
3179        scale: None,
3180        offset: None,
3181        units: None,
3182        components: &[],
3183        sub_fields: &[],
3184        accumulate: false,
3185    },
3186];
3187
3188pub static MESG_DIVE_SETTINGS: MesgInfo = MesgInfo {
3189    name: "dive_settings",
3190    fields: FIELDS_DIVE_SETTINGS,
3191};
3192
3193static FIELDS_DIVE_ALARM: &[FieldInfo] = &[
3194    FieldInfo {
3195        field_def_num: 254,
3196        name: "message_index",
3197        type_name: "message_index",
3198        array: None,
3199        scale: None,
3200        offset: None,
3201        units: None,
3202        components: &[],
3203        sub_fields: &[],
3204        accumulate: false,
3205    },
3206    FieldInfo {
3207        field_def_num: 0,
3208        name: "depth",
3209        type_name: "uint32",
3210        array: None,
3211        scale: Some(1000_f64),
3212        offset: None,
3213        units: Some("m"),
3214        components: &[],
3215        sub_fields: &[],
3216        accumulate: false,
3217    },
3218    FieldInfo {
3219        field_def_num: 1,
3220        name: "time",
3221        type_name: "sint32",
3222        array: None,
3223        scale: Some(1_f64),
3224        offset: None,
3225        units: Some("s"),
3226        components: &[],
3227        sub_fields: &[],
3228        accumulate: false,
3229    },
3230    FieldInfo {
3231        field_def_num: 2,
3232        name: "enabled",
3233        type_name: "bool",
3234        array: None,
3235        scale: None,
3236        offset: None,
3237        units: None,
3238        components: &[],
3239        sub_fields: &[],
3240        accumulate: false,
3241    },
3242    FieldInfo {
3243        field_def_num: 3,
3244        name: "alarm_type",
3245        type_name: "dive_alarm_type",
3246        array: None,
3247        scale: None,
3248        offset: None,
3249        units: None,
3250        components: &[],
3251        sub_fields: &[],
3252        accumulate: false,
3253    },
3254    FieldInfo {
3255        field_def_num: 4,
3256        name: "sound",
3257        type_name: "tone",
3258        array: None,
3259        scale: None,
3260        offset: None,
3261        units: None,
3262        components: &[],
3263        sub_fields: &[],
3264        accumulate: false,
3265    },
3266    FieldInfo {
3267        field_def_num: 5,
3268        name: "dive_types",
3269        type_name: "sub_sport",
3270        array: Some("[N]"),
3271        scale: None,
3272        offset: None,
3273        units: None,
3274        components: &[],
3275        sub_fields: &[],
3276        accumulate: false,
3277    },
3278    FieldInfo {
3279        field_def_num: 6,
3280        name: "id",
3281        type_name: "uint32",
3282        array: None,
3283        scale: None,
3284        offset: None,
3285        units: None,
3286        components: &[],
3287        sub_fields: &[],
3288        accumulate: false,
3289    },
3290    FieldInfo {
3291        field_def_num: 7,
3292        name: "popup_enabled",
3293        type_name: "bool",
3294        array: None,
3295        scale: None,
3296        offset: None,
3297        units: None,
3298        components: &[],
3299        sub_fields: &[],
3300        accumulate: false,
3301    },
3302    FieldInfo {
3303        field_def_num: 8,
3304        name: "trigger_on_descent",
3305        type_name: "bool",
3306        array: None,
3307        scale: None,
3308        offset: None,
3309        units: None,
3310        components: &[],
3311        sub_fields: &[],
3312        accumulate: false,
3313    },
3314    FieldInfo {
3315        field_def_num: 9,
3316        name: "trigger_on_ascent",
3317        type_name: "bool",
3318        array: None,
3319        scale: None,
3320        offset: None,
3321        units: None,
3322        components: &[],
3323        sub_fields: &[],
3324        accumulate: false,
3325    },
3326    FieldInfo {
3327        field_def_num: 10,
3328        name: "repeating",
3329        type_name: "bool",
3330        array: None,
3331        scale: None,
3332        offset: None,
3333        units: None,
3334        components: &[],
3335        sub_fields: &[],
3336        accumulate: false,
3337    },
3338    FieldInfo {
3339        field_def_num: 11,
3340        name: "speed",
3341        type_name: "sint32",
3342        array: None,
3343        scale: Some(1000_f64),
3344        offset: None,
3345        units: Some("mps"),
3346        components: &[],
3347        sub_fields: &[],
3348        accumulate: false,
3349    },
3350];
3351
3352pub static MESG_DIVE_ALARM: MesgInfo = MesgInfo {
3353    name: "dive_alarm",
3354    fields: FIELDS_DIVE_ALARM,
3355};
3356
3357static FIELDS_DIVE_APNEA_ALARM: &[FieldInfo] = &[
3358    FieldInfo {
3359        field_def_num: 254,
3360        name: "message_index",
3361        type_name: "message_index",
3362        array: None,
3363        scale: None,
3364        offset: None,
3365        units: None,
3366        components: &[],
3367        sub_fields: &[],
3368        accumulate: false,
3369    },
3370    FieldInfo {
3371        field_def_num: 0,
3372        name: "depth",
3373        type_name: "uint32",
3374        array: None,
3375        scale: Some(1000_f64),
3376        offset: None,
3377        units: Some("m"),
3378        components: &[],
3379        sub_fields: &[],
3380        accumulate: false,
3381    },
3382    FieldInfo {
3383        field_def_num: 1,
3384        name: "time",
3385        type_name: "sint32",
3386        array: None,
3387        scale: Some(1_f64),
3388        offset: None,
3389        units: Some("s"),
3390        components: &[],
3391        sub_fields: &[],
3392        accumulate: false,
3393    },
3394    FieldInfo {
3395        field_def_num: 2,
3396        name: "enabled",
3397        type_name: "bool",
3398        array: None,
3399        scale: None,
3400        offset: None,
3401        units: None,
3402        components: &[],
3403        sub_fields: &[],
3404        accumulate: false,
3405    },
3406    FieldInfo {
3407        field_def_num: 3,
3408        name: "alarm_type",
3409        type_name: "dive_alarm_type",
3410        array: None,
3411        scale: None,
3412        offset: None,
3413        units: None,
3414        components: &[],
3415        sub_fields: &[],
3416        accumulate: false,
3417    },
3418    FieldInfo {
3419        field_def_num: 4,
3420        name: "sound",
3421        type_name: "tone",
3422        array: None,
3423        scale: None,
3424        offset: None,
3425        units: None,
3426        components: &[],
3427        sub_fields: &[],
3428        accumulate: false,
3429    },
3430    FieldInfo {
3431        field_def_num: 5,
3432        name: "dive_types",
3433        type_name: "sub_sport",
3434        array: Some("[N]"),
3435        scale: None,
3436        offset: None,
3437        units: None,
3438        components: &[],
3439        sub_fields: &[],
3440        accumulate: false,
3441    },
3442    FieldInfo {
3443        field_def_num: 6,
3444        name: "id",
3445        type_name: "uint32",
3446        array: None,
3447        scale: None,
3448        offset: None,
3449        units: None,
3450        components: &[],
3451        sub_fields: &[],
3452        accumulate: false,
3453    },
3454    FieldInfo {
3455        field_def_num: 7,
3456        name: "popup_enabled",
3457        type_name: "bool",
3458        array: None,
3459        scale: None,
3460        offset: None,
3461        units: None,
3462        components: &[],
3463        sub_fields: &[],
3464        accumulate: false,
3465    },
3466    FieldInfo {
3467        field_def_num: 8,
3468        name: "trigger_on_descent",
3469        type_name: "bool",
3470        array: None,
3471        scale: None,
3472        offset: None,
3473        units: None,
3474        components: &[],
3475        sub_fields: &[],
3476        accumulate: false,
3477    },
3478    FieldInfo {
3479        field_def_num: 9,
3480        name: "trigger_on_ascent",
3481        type_name: "bool",
3482        array: None,
3483        scale: None,
3484        offset: None,
3485        units: None,
3486        components: &[],
3487        sub_fields: &[],
3488        accumulate: false,
3489    },
3490    FieldInfo {
3491        field_def_num: 10,
3492        name: "repeating",
3493        type_name: "bool",
3494        array: None,
3495        scale: None,
3496        offset: None,
3497        units: None,
3498        components: &[],
3499        sub_fields: &[],
3500        accumulate: false,
3501    },
3502    FieldInfo {
3503        field_def_num: 11,
3504        name: "speed",
3505        type_name: "sint32",
3506        array: None,
3507        scale: Some(1000_f64),
3508        offset: None,
3509        units: Some("mps"),
3510        components: &[],
3511        sub_fields: &[],
3512        accumulate: false,
3513    },
3514];
3515
3516pub static MESG_DIVE_APNEA_ALARM: MesgInfo = MesgInfo {
3517    name: "dive_apnea_alarm",
3518    fields: FIELDS_DIVE_APNEA_ALARM,
3519};
3520
3521static FIELDS_DIVE_GAS: &[FieldInfo] = &[
3522    FieldInfo {
3523        field_def_num: 254,
3524        name: "message_index",
3525        type_name: "message_index",
3526        array: None,
3527        scale: None,
3528        offset: None,
3529        units: None,
3530        components: &[],
3531        sub_fields: &[],
3532        accumulate: false,
3533    },
3534    FieldInfo {
3535        field_def_num: 0,
3536        name: "helium_content",
3537        type_name: "uint8",
3538        array: None,
3539        scale: None,
3540        offset: None,
3541        units: Some("percent"),
3542        components: &[],
3543        sub_fields: &[],
3544        accumulate: false,
3545    },
3546    FieldInfo {
3547        field_def_num: 1,
3548        name: "oxygen_content",
3549        type_name: "uint8",
3550        array: None,
3551        scale: None,
3552        offset: None,
3553        units: Some("percent"),
3554        components: &[],
3555        sub_fields: &[],
3556        accumulate: false,
3557    },
3558    FieldInfo {
3559        field_def_num: 2,
3560        name: "status",
3561        type_name: "dive_gas_status",
3562        array: None,
3563        scale: None,
3564        offset: None,
3565        units: None,
3566        components: &[],
3567        sub_fields: &[],
3568        accumulate: false,
3569    },
3570    FieldInfo {
3571        field_def_num: 3,
3572        name: "mode",
3573        type_name: "dive_gas_mode",
3574        array: None,
3575        scale: None,
3576        offset: None,
3577        units: None,
3578        components: &[],
3579        sub_fields: &[],
3580        accumulate: false,
3581    },
3582];
3583
3584pub static MESG_DIVE_GAS: MesgInfo = MesgInfo {
3585    name: "dive_gas",
3586    fields: FIELDS_DIVE_GAS,
3587};
3588
3589static FIELDS_GOAL: &[FieldInfo] = &[
3590    FieldInfo {
3591        field_def_num: 254,
3592        name: "message_index",
3593        type_name: "message_index",
3594        array: None,
3595        scale: None,
3596        offset: None,
3597        units: None,
3598        components: &[],
3599        sub_fields: &[],
3600        accumulate: false,
3601    },
3602    FieldInfo {
3603        field_def_num: 0,
3604        name: "sport",
3605        type_name: "sport",
3606        array: None,
3607        scale: None,
3608        offset: None,
3609        units: None,
3610        components: &[],
3611        sub_fields: &[],
3612        accumulate: false,
3613    },
3614    FieldInfo {
3615        field_def_num: 1,
3616        name: "sub_sport",
3617        type_name: "sub_sport",
3618        array: None,
3619        scale: None,
3620        offset: None,
3621        units: None,
3622        components: &[],
3623        sub_fields: &[],
3624        accumulate: false,
3625    },
3626    FieldInfo {
3627        field_def_num: 2,
3628        name: "start_date",
3629        type_name: "date_time",
3630        array: None,
3631        scale: None,
3632        offset: None,
3633        units: None,
3634        components: &[],
3635        sub_fields: &[],
3636        accumulate: false,
3637    },
3638    FieldInfo {
3639        field_def_num: 3,
3640        name: "end_date",
3641        type_name: "date_time",
3642        array: None,
3643        scale: None,
3644        offset: None,
3645        units: None,
3646        components: &[],
3647        sub_fields: &[],
3648        accumulate: false,
3649    },
3650    FieldInfo {
3651        field_def_num: 4,
3652        name: "type",
3653        type_name: "goal",
3654        array: None,
3655        scale: None,
3656        offset: None,
3657        units: None,
3658        components: &[],
3659        sub_fields: &[],
3660        accumulate: false,
3661    },
3662    FieldInfo {
3663        field_def_num: 5,
3664        name: "value",
3665        type_name: "uint32",
3666        array: None,
3667        scale: None,
3668        offset: None,
3669        units: None,
3670        components: &[],
3671        sub_fields: &[],
3672        accumulate: false,
3673    },
3674    FieldInfo {
3675        field_def_num: 6,
3676        name: "repeat",
3677        type_name: "bool",
3678        array: None,
3679        scale: None,
3680        offset: None,
3681        units: None,
3682        components: &[],
3683        sub_fields: &[],
3684        accumulate: false,
3685    },
3686    FieldInfo {
3687        field_def_num: 7,
3688        name: "target_value",
3689        type_name: "uint32",
3690        array: None,
3691        scale: None,
3692        offset: None,
3693        units: None,
3694        components: &[],
3695        sub_fields: &[],
3696        accumulate: false,
3697    },
3698    FieldInfo {
3699        field_def_num: 8,
3700        name: "recurrence",
3701        type_name: "goal_recurrence",
3702        array: None,
3703        scale: None,
3704        offset: None,
3705        units: None,
3706        components: &[],
3707        sub_fields: &[],
3708        accumulate: false,
3709    },
3710    FieldInfo {
3711        field_def_num: 9,
3712        name: "recurrence_value",
3713        type_name: "uint16",
3714        array: None,
3715        scale: None,
3716        offset: None,
3717        units: None,
3718        components: &[],
3719        sub_fields: &[],
3720        accumulate: false,
3721    },
3722    FieldInfo {
3723        field_def_num: 10,
3724        name: "enabled",
3725        type_name: "bool",
3726        array: None,
3727        scale: None,
3728        offset: None,
3729        units: None,
3730        components: &[],
3731        sub_fields: &[],
3732        accumulate: false,
3733    },
3734    FieldInfo {
3735        field_def_num: 11,
3736        name: "source",
3737        type_name: "goal_source",
3738        array: None,
3739        scale: None,
3740        offset: None,
3741        units: None,
3742        components: &[],
3743        sub_fields: &[],
3744        accumulate: false,
3745    },
3746];
3747
3748pub static MESG_GOAL: MesgInfo = MesgInfo {
3749    name: "goal",
3750    fields: FIELDS_GOAL,
3751};
3752
3753static FIELDS_ACTIVITY: &[FieldInfo] = &[
3754    FieldInfo {
3755        field_def_num: 253,
3756        name: "timestamp",
3757        type_name: "date_time",
3758        array: None,
3759        scale: None,
3760        offset: None,
3761        units: None,
3762        components: &[],
3763        sub_fields: &[],
3764        accumulate: false,
3765    },
3766    FieldInfo {
3767        field_def_num: 0,
3768        name: "total_timer_time",
3769        type_name: "uint32",
3770        array: None,
3771        scale: Some(1000_f64),
3772        offset: None,
3773        units: Some("s"),
3774        components: &[],
3775        sub_fields: &[],
3776        accumulate: false,
3777    },
3778    FieldInfo {
3779        field_def_num: 1,
3780        name: "num_sessions",
3781        type_name: "uint16",
3782        array: None,
3783        scale: None,
3784        offset: None,
3785        units: None,
3786        components: &[],
3787        sub_fields: &[],
3788        accumulate: false,
3789    },
3790    FieldInfo {
3791        field_def_num: 2,
3792        name: "type",
3793        type_name: "activity",
3794        array: None,
3795        scale: None,
3796        offset: None,
3797        units: None,
3798        components: &[],
3799        sub_fields: &[],
3800        accumulate: false,
3801    },
3802    FieldInfo {
3803        field_def_num: 3,
3804        name: "event",
3805        type_name: "event",
3806        array: None,
3807        scale: None,
3808        offset: None,
3809        units: None,
3810        components: &[],
3811        sub_fields: &[],
3812        accumulate: false,
3813    },
3814    FieldInfo {
3815        field_def_num: 4,
3816        name: "event_type",
3817        type_name: "event_type",
3818        array: None,
3819        scale: None,
3820        offset: None,
3821        units: None,
3822        components: &[],
3823        sub_fields: &[],
3824        accumulate: false,
3825    },
3826    FieldInfo {
3827        field_def_num: 5,
3828        name: "local_timestamp",
3829        type_name: "local_date_time",
3830        array: None,
3831        scale: None,
3832        offset: None,
3833        units: None,
3834        components: &[],
3835        sub_fields: &[],
3836        accumulate: false,
3837    },
3838    FieldInfo {
3839        field_def_num: 6,
3840        name: "event_group",
3841        type_name: "uint8",
3842        array: None,
3843        scale: None,
3844        offset: None,
3845        units: None,
3846        components: &[],
3847        sub_fields: &[],
3848        accumulate: false,
3849    },
3850];
3851
3852pub static MESG_ACTIVITY: MesgInfo = MesgInfo {
3853    name: "activity",
3854    fields: FIELDS_ACTIVITY,
3855};
3856
3857static SUBFIELDS_SESSION_12: &[SubField] = &[
3858    SubField {
3859        name: "total_strides",
3860        type_name: "uint32",
3861        conditions: &[("sport", "running"), ("sport", "walking")],
3862        components: &[],
3863        scale: None,
3864        offset: None,
3865        units: Some("strides"),
3866    },
3867    SubField {
3868        name: "total_strokes",
3869        type_name: "uint32",
3870        conditions: &[
3871            ("sport", "cycling"),
3872            ("sport", "swimming"),
3873            ("sport", "rowing"),
3874            ("sport", "stand_up_paddleboarding"),
3875        ],
3876        components: &[],
3877        scale: None,
3878        offset: None,
3879        units: Some("strokes"),
3880    },
3881];
3882static COMPONENTS_SESSION_15: &[Component] = &[Component {
3883    name: "enhanced_avg_speed",
3884    bits: 16,
3885    scale: None,
3886    offset: None,
3887    units: None,
3888    accumulate: false,
3889}];
3890static COMPONENTS_SESSION_16: &[Component] = &[Component {
3891    name: "enhanced_max_speed",
3892    bits: 16,
3893    scale: None,
3894    offset: None,
3895    units: None,
3896    accumulate: false,
3897}];
3898static SUBFIELDS_SESSION_19: &[SubField] = &[SubField {
3899    name: "avg_running_cadence",
3900    type_name: "uint8",
3901    conditions: &[("sport", "running")],
3902    components: &[],
3903    scale: None,
3904    offset: None,
3905    units: Some("strides/min"),
3906}];
3907static SUBFIELDS_SESSION_20: &[SubField] = &[SubField {
3908    name: "max_running_cadence",
3909    type_name: "uint8",
3910    conditions: &[("sport", "running")],
3911    components: &[],
3912    scale: None,
3913    offset: None,
3914    units: Some("strides/min"),
3915}];
3916static COMPONENTS_SESSION_49: &[Component] = &[Component {
3917    name: "enhanced_avg_altitude",
3918    bits: 16,
3919    scale: None,
3920    offset: None,
3921    units: None,
3922    accumulate: false,
3923}];
3924static COMPONENTS_SESSION_50: &[Component] = &[Component {
3925    name: "enhanced_max_altitude",
3926    bits: 16,
3927    scale: None,
3928    offset: None,
3929    units: None,
3930    accumulate: false,
3931}];
3932static COMPONENTS_SESSION_71: &[Component] = &[Component {
3933    name: "enhanced_min_altitude",
3934    bits: 16,
3935    scale: None,
3936    offset: None,
3937    units: None,
3938    accumulate: false,
3939}];
3940static COMPONENTS_SESSION_130: &[Component] = &[Component {
3941    name: "enhanced_avg_respiration_rate",
3942    bits: 8,
3943    scale: None,
3944    offset: None,
3945    units: None,
3946    accumulate: false,
3947}];
3948static COMPONENTS_SESSION_131: &[Component] = &[Component {
3949    name: "enhanced_max_respiration_rate",
3950    bits: 8,
3951    scale: None,
3952    offset: None,
3953    units: None,
3954    accumulate: false,
3955}];
3956static COMPONENTS_SESSION_132: &[Component] = &[Component {
3957    name: "enhanced_min_respiration_rate",
3958    bits: 8,
3959    scale: None,
3960    offset: None,
3961    units: None,
3962    accumulate: false,
3963}];
3964static FIELDS_SESSION: &[FieldInfo] = &[
3965    FieldInfo {
3966        field_def_num: 254,
3967        name: "message_index",
3968        type_name: "message_index",
3969        array: None,
3970        scale: None,
3971        offset: None,
3972        units: None,
3973        components: &[],
3974        sub_fields: &[],
3975        accumulate: false,
3976    },
3977    FieldInfo {
3978        field_def_num: 253,
3979        name: "timestamp",
3980        type_name: "date_time",
3981        array: None,
3982        scale: None,
3983        offset: None,
3984        units: Some("s"),
3985        components: &[],
3986        sub_fields: &[],
3987        accumulate: false,
3988    },
3989    FieldInfo {
3990        field_def_num: 0,
3991        name: "event",
3992        type_name: "event",
3993        array: None,
3994        scale: None,
3995        offset: None,
3996        units: None,
3997        components: &[],
3998        sub_fields: &[],
3999        accumulate: false,
4000    },
4001    FieldInfo {
4002        field_def_num: 1,
4003        name: "event_type",
4004        type_name: "event_type",
4005        array: None,
4006        scale: None,
4007        offset: None,
4008        units: None,
4009        components: &[],
4010        sub_fields: &[],
4011        accumulate: false,
4012    },
4013    FieldInfo {
4014        field_def_num: 2,
4015        name: "start_time",
4016        type_name: "date_time",
4017        array: None,
4018        scale: None,
4019        offset: None,
4020        units: None,
4021        components: &[],
4022        sub_fields: &[],
4023        accumulate: false,
4024    },
4025    FieldInfo {
4026        field_def_num: 3,
4027        name: "start_position_lat",
4028        type_name: "sint32",
4029        array: None,
4030        scale: None,
4031        offset: None,
4032        units: Some("semicircles"),
4033        components: &[],
4034        sub_fields: &[],
4035        accumulate: false,
4036    },
4037    FieldInfo {
4038        field_def_num: 4,
4039        name: "start_position_long",
4040        type_name: "sint32",
4041        array: None,
4042        scale: None,
4043        offset: None,
4044        units: Some("semicircles"),
4045        components: &[],
4046        sub_fields: &[],
4047        accumulate: false,
4048    },
4049    FieldInfo {
4050        field_def_num: 5,
4051        name: "sport",
4052        type_name: "sport",
4053        array: None,
4054        scale: None,
4055        offset: None,
4056        units: None,
4057        components: &[],
4058        sub_fields: &[],
4059        accumulate: false,
4060    },
4061    FieldInfo {
4062        field_def_num: 6,
4063        name: "sub_sport",
4064        type_name: "sub_sport",
4065        array: None,
4066        scale: None,
4067        offset: None,
4068        units: None,
4069        components: &[],
4070        sub_fields: &[],
4071        accumulate: false,
4072    },
4073    FieldInfo {
4074        field_def_num: 7,
4075        name: "total_elapsed_time",
4076        type_name: "uint32",
4077        array: None,
4078        scale: Some(1000_f64),
4079        offset: None,
4080        units: Some("s"),
4081        components: &[],
4082        sub_fields: &[],
4083        accumulate: false,
4084    },
4085    FieldInfo {
4086        field_def_num: 8,
4087        name: "total_timer_time",
4088        type_name: "uint32",
4089        array: None,
4090        scale: Some(1000_f64),
4091        offset: None,
4092        units: Some("s"),
4093        components: &[],
4094        sub_fields: &[],
4095        accumulate: false,
4096    },
4097    FieldInfo {
4098        field_def_num: 9,
4099        name: "total_distance",
4100        type_name: "uint32",
4101        array: None,
4102        scale: Some(100_f64),
4103        offset: None,
4104        units: Some("m"),
4105        components: &[],
4106        sub_fields: &[],
4107        accumulate: false,
4108    },
4109    FieldInfo {
4110        field_def_num: 10,
4111        name: "total_cycles",
4112        type_name: "uint32",
4113        array: None,
4114        scale: None,
4115        offset: None,
4116        units: Some("cycles"),
4117        components: &[],
4118        sub_fields: SUBFIELDS_SESSION_12,
4119        accumulate: false,
4120    },
4121    FieldInfo {
4122        field_def_num: 11,
4123        name: "total_calories",
4124        type_name: "uint16",
4125        array: None,
4126        scale: None,
4127        offset: None,
4128        units: Some("kcal"),
4129        components: &[],
4130        sub_fields: &[],
4131        accumulate: false,
4132    },
4133    FieldInfo {
4134        field_def_num: 13,
4135        name: "total_fat_calories",
4136        type_name: "uint16",
4137        array: None,
4138        scale: None,
4139        offset: None,
4140        units: Some("kcal"),
4141        components: &[],
4142        sub_fields: &[],
4143        accumulate: false,
4144    },
4145    FieldInfo {
4146        field_def_num: 14,
4147        name: "avg_speed",
4148        type_name: "uint16",
4149        array: None,
4150        scale: Some(1000_f64),
4151        offset: None,
4152        units: Some("m/s"),
4153        components: COMPONENTS_SESSION_15,
4154        sub_fields: &[],
4155        accumulate: false,
4156    },
4157    FieldInfo {
4158        field_def_num: 15,
4159        name: "max_speed",
4160        type_name: "uint16",
4161        array: None,
4162        scale: Some(1000_f64),
4163        offset: None,
4164        units: Some("m/s"),
4165        components: COMPONENTS_SESSION_16,
4166        sub_fields: &[],
4167        accumulate: false,
4168    },
4169    FieldInfo {
4170        field_def_num: 16,
4171        name: "avg_heart_rate",
4172        type_name: "uint8",
4173        array: None,
4174        scale: None,
4175        offset: None,
4176        units: Some("bpm"),
4177        components: &[],
4178        sub_fields: &[],
4179        accumulate: false,
4180    },
4181    FieldInfo {
4182        field_def_num: 17,
4183        name: "max_heart_rate",
4184        type_name: "uint8",
4185        array: None,
4186        scale: None,
4187        offset: None,
4188        units: Some("bpm"),
4189        components: &[],
4190        sub_fields: &[],
4191        accumulate: false,
4192    },
4193    FieldInfo {
4194        field_def_num: 18,
4195        name: "avg_cadence",
4196        type_name: "uint8",
4197        array: None,
4198        scale: None,
4199        offset: None,
4200        units: Some("rpm"),
4201        components: &[],
4202        sub_fields: SUBFIELDS_SESSION_19,
4203        accumulate: false,
4204    },
4205    FieldInfo {
4206        field_def_num: 19,
4207        name: "max_cadence",
4208        type_name: "uint8",
4209        array: None,
4210        scale: None,
4211        offset: None,
4212        units: Some("rpm"),
4213        components: &[],
4214        sub_fields: SUBFIELDS_SESSION_20,
4215        accumulate: false,
4216    },
4217    FieldInfo {
4218        field_def_num: 20,
4219        name: "avg_power",
4220        type_name: "uint16",
4221        array: None,
4222        scale: None,
4223        offset: None,
4224        units: Some("watts"),
4225        components: &[],
4226        sub_fields: &[],
4227        accumulate: false,
4228    },
4229    FieldInfo {
4230        field_def_num: 21,
4231        name: "max_power",
4232        type_name: "uint16",
4233        array: None,
4234        scale: None,
4235        offset: None,
4236        units: Some("watts"),
4237        components: &[],
4238        sub_fields: &[],
4239        accumulate: false,
4240    },
4241    FieldInfo {
4242        field_def_num: 22,
4243        name: "total_ascent",
4244        type_name: "uint16",
4245        array: None,
4246        scale: None,
4247        offset: None,
4248        units: Some("m"),
4249        components: &[],
4250        sub_fields: &[],
4251        accumulate: false,
4252    },
4253    FieldInfo {
4254        field_def_num: 23,
4255        name: "total_descent",
4256        type_name: "uint16",
4257        array: None,
4258        scale: None,
4259        offset: None,
4260        units: Some("m"),
4261        components: &[],
4262        sub_fields: &[],
4263        accumulate: false,
4264    },
4265    FieldInfo {
4266        field_def_num: 24,
4267        name: "total_training_effect",
4268        type_name: "uint8",
4269        array: None,
4270        scale: Some(10_f64),
4271        offset: None,
4272        units: None,
4273        components: &[],
4274        sub_fields: &[],
4275        accumulate: false,
4276    },
4277    FieldInfo {
4278        field_def_num: 25,
4279        name: "first_lap_index",
4280        type_name: "uint16",
4281        array: None,
4282        scale: None,
4283        offset: None,
4284        units: None,
4285        components: &[],
4286        sub_fields: &[],
4287        accumulate: false,
4288    },
4289    FieldInfo {
4290        field_def_num: 26,
4291        name: "num_laps",
4292        type_name: "uint16",
4293        array: None,
4294        scale: None,
4295        offset: None,
4296        units: None,
4297        components: &[],
4298        sub_fields: &[],
4299        accumulate: false,
4300    },
4301    FieldInfo {
4302        field_def_num: 27,
4303        name: "event_group",
4304        type_name: "uint8",
4305        array: None,
4306        scale: None,
4307        offset: None,
4308        units: None,
4309        components: &[],
4310        sub_fields: &[],
4311        accumulate: false,
4312    },
4313    FieldInfo {
4314        field_def_num: 28,
4315        name: "trigger",
4316        type_name: "session_trigger",
4317        array: None,
4318        scale: None,
4319        offset: None,
4320        units: None,
4321        components: &[],
4322        sub_fields: &[],
4323        accumulate: false,
4324    },
4325    FieldInfo {
4326        field_def_num: 29,
4327        name: "nec_lat",
4328        type_name: "sint32",
4329        array: None,
4330        scale: None,
4331        offset: None,
4332        units: Some("semicircles"),
4333        components: &[],
4334        sub_fields: &[],
4335        accumulate: false,
4336    },
4337    FieldInfo {
4338        field_def_num: 30,
4339        name: "nec_long",
4340        type_name: "sint32",
4341        array: None,
4342        scale: None,
4343        offset: None,
4344        units: Some("semicircles"),
4345        components: &[],
4346        sub_fields: &[],
4347        accumulate: false,
4348    },
4349    FieldInfo {
4350        field_def_num: 31,
4351        name: "swc_lat",
4352        type_name: "sint32",
4353        array: None,
4354        scale: None,
4355        offset: None,
4356        units: Some("semicircles"),
4357        components: &[],
4358        sub_fields: &[],
4359        accumulate: false,
4360    },
4361    FieldInfo {
4362        field_def_num: 32,
4363        name: "swc_long",
4364        type_name: "sint32",
4365        array: None,
4366        scale: None,
4367        offset: None,
4368        units: Some("semicircles"),
4369        components: &[],
4370        sub_fields: &[],
4371        accumulate: false,
4372    },
4373    FieldInfo {
4374        field_def_num: 33,
4375        name: "num_lengths",
4376        type_name: "uint16",
4377        array: None,
4378        scale: None,
4379        offset: None,
4380        units: Some("lengths"),
4381        components: &[],
4382        sub_fields: &[],
4383        accumulate: false,
4384    },
4385    FieldInfo {
4386        field_def_num: 34,
4387        name: "normalized_power",
4388        type_name: "uint16",
4389        array: None,
4390        scale: None,
4391        offset: None,
4392        units: Some("watts"),
4393        components: &[],
4394        sub_fields: &[],
4395        accumulate: false,
4396    },
4397    FieldInfo {
4398        field_def_num: 35,
4399        name: "training_stress_score",
4400        type_name: "uint16",
4401        array: None,
4402        scale: Some(10_f64),
4403        offset: None,
4404        units: Some("tss"),
4405        components: &[],
4406        sub_fields: &[],
4407        accumulate: false,
4408    },
4409    FieldInfo {
4410        field_def_num: 36,
4411        name: "intensity_factor",
4412        type_name: "uint16",
4413        array: None,
4414        scale: Some(1000_f64),
4415        offset: None,
4416        units: Some("if"),
4417        components: &[],
4418        sub_fields: &[],
4419        accumulate: false,
4420    },
4421    FieldInfo {
4422        field_def_num: 37,
4423        name: "left_right_balance",
4424        type_name: "left_right_balance_100",
4425        array: None,
4426        scale: None,
4427        offset: None,
4428        units: None,
4429        components: &[],
4430        sub_fields: &[],
4431        accumulate: false,
4432    },
4433    FieldInfo {
4434        field_def_num: 38,
4435        name: "end_position_lat",
4436        type_name: "sint32",
4437        array: None,
4438        scale: None,
4439        offset: None,
4440        units: Some("semicircles"),
4441        components: &[],
4442        sub_fields: &[],
4443        accumulate: false,
4444    },
4445    FieldInfo {
4446        field_def_num: 39,
4447        name: "end_position_long",
4448        type_name: "sint32",
4449        array: None,
4450        scale: None,
4451        offset: None,
4452        units: Some("semicircles"),
4453        components: &[],
4454        sub_fields: &[],
4455        accumulate: false,
4456    },
4457    FieldInfo {
4458        field_def_num: 41,
4459        name: "avg_stroke_count",
4460        type_name: "uint32",
4461        array: None,
4462        scale: Some(10_f64),
4463        offset: None,
4464        units: Some("strokes/lap"),
4465        components: &[],
4466        sub_fields: &[],
4467        accumulate: false,
4468    },
4469    FieldInfo {
4470        field_def_num: 42,
4471        name: "avg_stroke_distance",
4472        type_name: "uint16",
4473        array: None,
4474        scale: Some(100_f64),
4475        offset: None,
4476        units: Some("m"),
4477        components: &[],
4478        sub_fields: &[],
4479        accumulate: false,
4480    },
4481    FieldInfo {
4482        field_def_num: 43,
4483        name: "swim_stroke",
4484        type_name: "swim_stroke",
4485        array: None,
4486        scale: None,
4487        offset: None,
4488        units: Some("swim_stroke"),
4489        components: &[],
4490        sub_fields: &[],
4491        accumulate: false,
4492    },
4493    FieldInfo {
4494        field_def_num: 44,
4495        name: "pool_length",
4496        type_name: "uint16",
4497        array: None,
4498        scale: Some(100_f64),
4499        offset: None,
4500        units: Some("m"),
4501        components: &[],
4502        sub_fields: &[],
4503        accumulate: false,
4504    },
4505    FieldInfo {
4506        field_def_num: 45,
4507        name: "threshold_power",
4508        type_name: "uint16",
4509        array: None,
4510        scale: None,
4511        offset: None,
4512        units: Some("watts"),
4513        components: &[],
4514        sub_fields: &[],
4515        accumulate: false,
4516    },
4517    FieldInfo {
4518        field_def_num: 46,
4519        name: "pool_length_unit",
4520        type_name: "display_measure",
4521        array: None,
4522        scale: None,
4523        offset: None,
4524        units: None,
4525        components: &[],
4526        sub_fields: &[],
4527        accumulate: false,
4528    },
4529    FieldInfo {
4530        field_def_num: 47,
4531        name: "num_active_lengths",
4532        type_name: "uint16",
4533        array: None,
4534        scale: None,
4535        offset: None,
4536        units: Some("lengths"),
4537        components: &[],
4538        sub_fields: &[],
4539        accumulate: false,
4540    },
4541    FieldInfo {
4542        field_def_num: 48,
4543        name: "total_work",
4544        type_name: "uint32",
4545        array: None,
4546        scale: None,
4547        offset: None,
4548        units: Some("J"),
4549        components: &[],
4550        sub_fields: &[],
4551        accumulate: false,
4552    },
4553    FieldInfo {
4554        field_def_num: 49,
4555        name: "avg_altitude",
4556        type_name: "uint16",
4557        array: None,
4558        scale: Some(5_f64),
4559        offset: Some(500_f64),
4560        units: Some("m"),
4561        components: COMPONENTS_SESSION_49,
4562        sub_fields: &[],
4563        accumulate: false,
4564    },
4565    FieldInfo {
4566        field_def_num: 50,
4567        name: "max_altitude",
4568        type_name: "uint16",
4569        array: None,
4570        scale: Some(5_f64),
4571        offset: Some(500_f64),
4572        units: Some("m"),
4573        components: COMPONENTS_SESSION_50,
4574        sub_fields: &[],
4575        accumulate: false,
4576    },
4577    FieldInfo {
4578        field_def_num: 51,
4579        name: "gps_accuracy",
4580        type_name: "uint8",
4581        array: None,
4582        scale: None,
4583        offset: None,
4584        units: Some("m"),
4585        components: &[],
4586        sub_fields: &[],
4587        accumulate: false,
4588    },
4589    FieldInfo {
4590        field_def_num: 52,
4591        name: "avg_grade",
4592        type_name: "sint16",
4593        array: None,
4594        scale: Some(100_f64),
4595        offset: None,
4596        units: Some("%"),
4597        components: &[],
4598        sub_fields: &[],
4599        accumulate: false,
4600    },
4601    FieldInfo {
4602        field_def_num: 53,
4603        name: "avg_pos_grade",
4604        type_name: "sint16",
4605        array: None,
4606        scale: Some(100_f64),
4607        offset: None,
4608        units: Some("%"),
4609        components: &[],
4610        sub_fields: &[],
4611        accumulate: false,
4612    },
4613    FieldInfo {
4614        field_def_num: 54,
4615        name: "avg_neg_grade",
4616        type_name: "sint16",
4617        array: None,
4618        scale: Some(100_f64),
4619        offset: None,
4620        units: Some("%"),
4621        components: &[],
4622        sub_fields: &[],
4623        accumulate: false,
4624    },
4625    FieldInfo {
4626        field_def_num: 55,
4627        name: "max_pos_grade",
4628        type_name: "sint16",
4629        array: None,
4630        scale: Some(100_f64),
4631        offset: None,
4632        units: Some("%"),
4633        components: &[],
4634        sub_fields: &[],
4635        accumulate: false,
4636    },
4637    FieldInfo {
4638        field_def_num: 56,
4639        name: "max_neg_grade",
4640        type_name: "sint16",
4641        array: None,
4642        scale: Some(100_f64),
4643        offset: None,
4644        units: Some("%"),
4645        components: &[],
4646        sub_fields: &[],
4647        accumulate: false,
4648    },
4649    FieldInfo {
4650        field_def_num: 57,
4651        name: "avg_temperature",
4652        type_name: "sint8",
4653        array: None,
4654        scale: None,
4655        offset: None,
4656        units: Some("C"),
4657        components: &[],
4658        sub_fields: &[],
4659        accumulate: false,
4660    },
4661    FieldInfo {
4662        field_def_num: 58,
4663        name: "max_temperature",
4664        type_name: "sint8",
4665        array: None,
4666        scale: None,
4667        offset: None,
4668        units: Some("C"),
4669        components: &[],
4670        sub_fields: &[],
4671        accumulate: false,
4672    },
4673    FieldInfo {
4674        field_def_num: 59,
4675        name: "total_moving_time",
4676        type_name: "uint32",
4677        array: None,
4678        scale: Some(1000_f64),
4679        offset: None,
4680        units: Some("s"),
4681        components: &[],
4682        sub_fields: &[],
4683        accumulate: false,
4684    },
4685    FieldInfo {
4686        field_def_num: 60,
4687        name: "avg_pos_vertical_speed",
4688        type_name: "sint16",
4689        array: None,
4690        scale: Some(1000_f64),
4691        offset: None,
4692        units: Some("m/s"),
4693        components: &[],
4694        sub_fields: &[],
4695        accumulate: false,
4696    },
4697    FieldInfo {
4698        field_def_num: 61,
4699        name: "avg_neg_vertical_speed",
4700        type_name: "sint16",
4701        array: None,
4702        scale: Some(1000_f64),
4703        offset: None,
4704        units: Some("m/s"),
4705        components: &[],
4706        sub_fields: &[],
4707        accumulate: false,
4708    },
4709    FieldInfo {
4710        field_def_num: 62,
4711        name: "max_pos_vertical_speed",
4712        type_name: "sint16",
4713        array: None,
4714        scale: Some(1000_f64),
4715        offset: None,
4716        units: Some("m/s"),
4717        components: &[],
4718        sub_fields: &[],
4719        accumulate: false,
4720    },
4721    FieldInfo {
4722        field_def_num: 63,
4723        name: "max_neg_vertical_speed",
4724        type_name: "sint16",
4725        array: None,
4726        scale: Some(1000_f64),
4727        offset: None,
4728        units: Some("m/s"),
4729        components: &[],
4730        sub_fields: &[],
4731        accumulate: false,
4732    },
4733    FieldInfo {
4734        field_def_num: 64,
4735        name: "min_heart_rate",
4736        type_name: "uint8",
4737        array: None,
4738        scale: None,
4739        offset: None,
4740        units: Some("bpm"),
4741        components: &[],
4742        sub_fields: &[],
4743        accumulate: false,
4744    },
4745    FieldInfo {
4746        field_def_num: 65,
4747        name: "time_in_hr_zone",
4748        type_name: "uint32",
4749        array: Some("[N]"),
4750        scale: Some(1000_f64),
4751        offset: None,
4752        units: Some("s"),
4753        components: &[],
4754        sub_fields: &[],
4755        accumulate: false,
4756    },
4757    FieldInfo {
4758        field_def_num: 66,
4759        name: "time_in_speed_zone",
4760        type_name: "uint32",
4761        array: Some("[N]"),
4762        scale: Some(1000_f64),
4763        offset: None,
4764        units: Some("s"),
4765        components: &[],
4766        sub_fields: &[],
4767        accumulate: false,
4768    },
4769    FieldInfo {
4770        field_def_num: 67,
4771        name: "time_in_cadence_zone",
4772        type_name: "uint32",
4773        array: Some("[N]"),
4774        scale: Some(1000_f64),
4775        offset: None,
4776        units: Some("s"),
4777        components: &[],
4778        sub_fields: &[],
4779        accumulate: false,
4780    },
4781    FieldInfo {
4782        field_def_num: 68,
4783        name: "time_in_power_zone",
4784        type_name: "uint32",
4785        array: Some("[N]"),
4786        scale: Some(1000_f64),
4787        offset: None,
4788        units: Some("s"),
4789        components: &[],
4790        sub_fields: &[],
4791        accumulate: false,
4792    },
4793    FieldInfo {
4794        field_def_num: 69,
4795        name: "avg_lap_time",
4796        type_name: "uint32",
4797        array: None,
4798        scale: Some(1000_f64),
4799        offset: None,
4800        units: Some("s"),
4801        components: &[],
4802        sub_fields: &[],
4803        accumulate: false,
4804    },
4805    FieldInfo {
4806        field_def_num: 70,
4807        name: "best_lap_index",
4808        type_name: "uint16",
4809        array: None,
4810        scale: None,
4811        offset: None,
4812        units: None,
4813        components: &[],
4814        sub_fields: &[],
4815        accumulate: false,
4816    },
4817    FieldInfo {
4818        field_def_num: 71,
4819        name: "min_altitude",
4820        type_name: "uint16",
4821        array: None,
4822        scale: Some(5_f64),
4823        offset: Some(500_f64),
4824        units: Some("m"),
4825        components: COMPONENTS_SESSION_71,
4826        sub_fields: &[],
4827        accumulate: false,
4828    },
4829    FieldInfo {
4830        field_def_num: 82,
4831        name: "player_score",
4832        type_name: "uint16",
4833        array: None,
4834        scale: None,
4835        offset: None,
4836        units: None,
4837        components: &[],
4838        sub_fields: &[],
4839        accumulate: false,
4840    },
4841    FieldInfo {
4842        field_def_num: 83,
4843        name: "opponent_score",
4844        type_name: "uint16",
4845        array: None,
4846        scale: None,
4847        offset: None,
4848        units: None,
4849        components: &[],
4850        sub_fields: &[],
4851        accumulate: false,
4852    },
4853    FieldInfo {
4854        field_def_num: 84,
4855        name: "opponent_name",
4856        type_name: "string",
4857        array: None,
4858        scale: None,
4859        offset: None,
4860        units: None,
4861        components: &[],
4862        sub_fields: &[],
4863        accumulate: false,
4864    },
4865    FieldInfo {
4866        field_def_num: 85,
4867        name: "stroke_count",
4868        type_name: "uint16",
4869        array: Some("[N]"),
4870        scale: None,
4871        offset: None,
4872        units: Some("counts"),
4873        components: &[],
4874        sub_fields: &[],
4875        accumulate: false,
4876    },
4877    FieldInfo {
4878        field_def_num: 86,
4879        name: "zone_count",
4880        type_name: "uint16",
4881        array: Some("[N]"),
4882        scale: None,
4883        offset: None,
4884        units: Some("counts"),
4885        components: &[],
4886        sub_fields: &[],
4887        accumulate: false,
4888    },
4889    FieldInfo {
4890        field_def_num: 87,
4891        name: "max_ball_speed",
4892        type_name: "uint16",
4893        array: None,
4894        scale: Some(100_f64),
4895        offset: None,
4896        units: Some("m/s"),
4897        components: &[],
4898        sub_fields: &[],
4899        accumulate: false,
4900    },
4901    FieldInfo {
4902        field_def_num: 88,
4903        name: "avg_ball_speed",
4904        type_name: "uint16",
4905        array: None,
4906        scale: Some(100_f64),
4907        offset: None,
4908        units: Some("m/s"),
4909        components: &[],
4910        sub_fields: &[],
4911        accumulate: false,
4912    },
4913    FieldInfo {
4914        field_def_num: 89,
4915        name: "avg_vertical_oscillation",
4916        type_name: "uint16",
4917        array: None,
4918        scale: Some(10_f64),
4919        offset: None,
4920        units: Some("mm"),
4921        components: &[],
4922        sub_fields: &[],
4923        accumulate: false,
4924    },
4925    FieldInfo {
4926        field_def_num: 90,
4927        name: "avg_stance_time_percent",
4928        type_name: "uint16",
4929        array: None,
4930        scale: Some(100_f64),
4931        offset: None,
4932        units: Some("percent"),
4933        components: &[],
4934        sub_fields: &[],
4935        accumulate: false,
4936    },
4937    FieldInfo {
4938        field_def_num: 91,
4939        name: "avg_stance_time",
4940        type_name: "uint16",
4941        array: None,
4942        scale: Some(10_f64),
4943        offset: None,
4944        units: Some("ms"),
4945        components: &[],
4946        sub_fields: &[],
4947        accumulate: false,
4948    },
4949    FieldInfo {
4950        field_def_num: 92,
4951        name: "avg_fractional_cadence",
4952        type_name: "uint8",
4953        array: None,
4954        scale: Some(128_f64),
4955        offset: None,
4956        units: Some("rpm"),
4957        components: &[],
4958        sub_fields: &[],
4959        accumulate: false,
4960    },
4961    FieldInfo {
4962        field_def_num: 93,
4963        name: "max_fractional_cadence",
4964        type_name: "uint8",
4965        array: None,
4966        scale: Some(128_f64),
4967        offset: None,
4968        units: Some("rpm"),
4969        components: &[],
4970        sub_fields: &[],
4971        accumulate: false,
4972    },
4973    FieldInfo {
4974        field_def_num: 94,
4975        name: "total_fractional_cycles",
4976        type_name: "uint8",
4977        array: None,
4978        scale: Some(128_f64),
4979        offset: None,
4980        units: Some("cycles"),
4981        components: &[],
4982        sub_fields: &[],
4983        accumulate: false,
4984    },
4985    FieldInfo {
4986        field_def_num: 95,
4987        name: "avg_total_hemoglobin_conc",
4988        type_name: "uint16",
4989        array: Some("[N]"),
4990        scale: Some(100_f64),
4991        offset: None,
4992        units: Some("g/dL"),
4993        components: &[],
4994        sub_fields: &[],
4995        accumulate: false,
4996    },
4997    FieldInfo {
4998        field_def_num: 96,
4999        name: "min_total_hemoglobin_conc",
5000        type_name: "uint16",
5001        array: Some("[N]"),
5002        scale: Some(100_f64),
5003        offset: None,
5004        units: Some("g/dL"),
5005        components: &[],
5006        sub_fields: &[],
5007        accumulate: false,
5008    },
5009    FieldInfo {
5010        field_def_num: 97,
5011        name: "max_total_hemoglobin_conc",
5012        type_name: "uint16",
5013        array: Some("[N]"),
5014        scale: Some(100_f64),
5015        offset: None,
5016        units: Some("g/dL"),
5017        components: &[],
5018        sub_fields: &[],
5019        accumulate: false,
5020    },
5021    FieldInfo {
5022        field_def_num: 98,
5023        name: "avg_saturated_hemoglobin_percent",
5024        type_name: "uint16",
5025        array: Some("[N]"),
5026        scale: Some(10_f64),
5027        offset: None,
5028        units: Some("%"),
5029        components: &[],
5030        sub_fields: &[],
5031        accumulate: false,
5032    },
5033    FieldInfo {
5034        field_def_num: 99,
5035        name: "min_saturated_hemoglobin_percent",
5036        type_name: "uint16",
5037        array: Some("[N]"),
5038        scale: Some(10_f64),
5039        offset: None,
5040        units: Some("%"),
5041        components: &[],
5042        sub_fields: &[],
5043        accumulate: false,
5044    },
5045    FieldInfo {
5046        field_def_num: 100,
5047        name: "max_saturated_hemoglobin_percent",
5048        type_name: "uint16",
5049        array: Some("[N]"),
5050        scale: Some(10_f64),
5051        offset: None,
5052        units: Some("%"),
5053        components: &[],
5054        sub_fields: &[],
5055        accumulate: false,
5056    },
5057    FieldInfo {
5058        field_def_num: 101,
5059        name: "avg_left_torque_effectiveness",
5060        type_name: "uint8",
5061        array: None,
5062        scale: Some(2_f64),
5063        offset: None,
5064        units: Some("percent"),
5065        components: &[],
5066        sub_fields: &[],
5067        accumulate: false,
5068    },
5069    FieldInfo {
5070        field_def_num: 102,
5071        name: "avg_right_torque_effectiveness",
5072        type_name: "uint8",
5073        array: None,
5074        scale: Some(2_f64),
5075        offset: None,
5076        units: Some("percent"),
5077        components: &[],
5078        sub_fields: &[],
5079        accumulate: false,
5080    },
5081    FieldInfo {
5082        field_def_num: 103,
5083        name: "avg_left_pedal_smoothness",
5084        type_name: "uint8",
5085        array: None,
5086        scale: Some(2_f64),
5087        offset: None,
5088        units: Some("percent"),
5089        components: &[],
5090        sub_fields: &[],
5091        accumulate: false,
5092    },
5093    FieldInfo {
5094        field_def_num: 104,
5095        name: "avg_right_pedal_smoothness",
5096        type_name: "uint8",
5097        array: None,
5098        scale: Some(2_f64),
5099        offset: None,
5100        units: Some("percent"),
5101        components: &[],
5102        sub_fields: &[],
5103        accumulate: false,
5104    },
5105    FieldInfo {
5106        field_def_num: 105,
5107        name: "avg_combined_pedal_smoothness",
5108        type_name: "uint8",
5109        array: None,
5110        scale: Some(2_f64),
5111        offset: None,
5112        units: Some("percent"),
5113        components: &[],
5114        sub_fields: &[],
5115        accumulate: false,
5116    },
5117    FieldInfo {
5118        field_def_num: 110,
5119        name: "sport_profile_name",
5120        type_name: "string",
5121        array: None,
5122        scale: None,
5123        offset: None,
5124        units: None,
5125        components: &[],
5126        sub_fields: &[],
5127        accumulate: false,
5128    },
5129    FieldInfo {
5130        field_def_num: 111,
5131        name: "sport_index",
5132        type_name: "uint8",
5133        array: None,
5134        scale: None,
5135        offset: None,
5136        units: None,
5137        components: &[],
5138        sub_fields: &[],
5139        accumulate: false,
5140    },
5141    FieldInfo {
5142        field_def_num: 112,
5143        name: "time_standing",
5144        type_name: "uint32",
5145        array: None,
5146        scale: Some(1000_f64),
5147        offset: None,
5148        units: Some("s"),
5149        components: &[],
5150        sub_fields: &[],
5151        accumulate: false,
5152    },
5153    FieldInfo {
5154        field_def_num: 113,
5155        name: "stand_count",
5156        type_name: "uint16",
5157        array: None,
5158        scale: None,
5159        offset: None,
5160        units: None,
5161        components: &[],
5162        sub_fields: &[],
5163        accumulate: false,
5164    },
5165    FieldInfo {
5166        field_def_num: 114,
5167        name: "avg_left_pco",
5168        type_name: "sint8",
5169        array: None,
5170        scale: None,
5171        offset: None,
5172        units: Some("mm"),
5173        components: &[],
5174        sub_fields: &[],
5175        accumulate: false,
5176    },
5177    FieldInfo {
5178        field_def_num: 115,
5179        name: "avg_right_pco",
5180        type_name: "sint8",
5181        array: None,
5182        scale: None,
5183        offset: None,
5184        units: Some("mm"),
5185        components: &[],
5186        sub_fields: &[],
5187        accumulate: false,
5188    },
5189    FieldInfo {
5190        field_def_num: 116,
5191        name: "avg_left_power_phase",
5192        type_name: "uint8",
5193        array: Some("[N]"),
5194        scale: Some(0.7111111_f64),
5195        offset: None,
5196        units: Some("degrees"),
5197        components: &[],
5198        sub_fields: &[],
5199        accumulate: false,
5200    },
5201    FieldInfo {
5202        field_def_num: 117,
5203        name: "avg_left_power_phase_peak",
5204        type_name: "uint8",
5205        array: Some("[N]"),
5206        scale: Some(0.7111111_f64),
5207        offset: None,
5208        units: Some("degrees"),
5209        components: &[],
5210        sub_fields: &[],
5211        accumulate: false,
5212    },
5213    FieldInfo {
5214        field_def_num: 118,
5215        name: "avg_right_power_phase",
5216        type_name: "uint8",
5217        array: Some("[N]"),
5218        scale: Some(0.7111111_f64),
5219        offset: None,
5220        units: Some("degrees"),
5221        components: &[],
5222        sub_fields: &[],
5223        accumulate: false,
5224    },
5225    FieldInfo {
5226        field_def_num: 119,
5227        name: "avg_right_power_phase_peak",
5228        type_name: "uint8",
5229        array: Some("[N]"),
5230        scale: Some(0.7111111_f64),
5231        offset: None,
5232        units: Some("degrees"),
5233        components: &[],
5234        sub_fields: &[],
5235        accumulate: false,
5236    },
5237    FieldInfo {
5238        field_def_num: 120,
5239        name: "avg_power_position",
5240        type_name: "uint16",
5241        array: Some("[N]"),
5242        scale: None,
5243        offset: None,
5244        units: Some("watts"),
5245        components: &[],
5246        sub_fields: &[],
5247        accumulate: false,
5248    },
5249    FieldInfo {
5250        field_def_num: 121,
5251        name: "max_power_position",
5252        type_name: "uint16",
5253        array: Some("[N]"),
5254        scale: None,
5255        offset: None,
5256        units: Some("watts"),
5257        components: &[],
5258        sub_fields: &[],
5259        accumulate: false,
5260    },
5261    FieldInfo {
5262        field_def_num: 122,
5263        name: "avg_cadence_position",
5264        type_name: "uint8",
5265        array: Some("[N]"),
5266        scale: None,
5267        offset: None,
5268        units: Some("rpm"),
5269        components: &[],
5270        sub_fields: &[],
5271        accumulate: false,
5272    },
5273    FieldInfo {
5274        field_def_num: 123,
5275        name: "max_cadence_position",
5276        type_name: "uint8",
5277        array: Some("[N]"),
5278        scale: None,
5279        offset: None,
5280        units: Some("rpm"),
5281        components: &[],
5282        sub_fields: &[],
5283        accumulate: false,
5284    },
5285    FieldInfo {
5286        field_def_num: 124,
5287        name: "enhanced_avg_speed",
5288        type_name: "uint32",
5289        array: None,
5290        scale: Some(1000_f64),
5291        offset: None,
5292        units: Some("m/s"),
5293        components: &[],
5294        sub_fields: &[],
5295        accumulate: false,
5296    },
5297    FieldInfo {
5298        field_def_num: 125,
5299        name: "enhanced_max_speed",
5300        type_name: "uint32",
5301        array: None,
5302        scale: Some(1000_f64),
5303        offset: None,
5304        units: Some("m/s"),
5305        components: &[],
5306        sub_fields: &[],
5307        accumulate: false,
5308    },
5309    FieldInfo {
5310        field_def_num: 126,
5311        name: "enhanced_avg_altitude",
5312        type_name: "uint32",
5313        array: None,
5314        scale: Some(5_f64),
5315        offset: Some(500_f64),
5316        units: Some("m"),
5317        components: &[],
5318        sub_fields: &[],
5319        accumulate: false,
5320    },
5321    FieldInfo {
5322        field_def_num: 127,
5323        name: "enhanced_min_altitude",
5324        type_name: "uint32",
5325        array: None,
5326        scale: Some(5_f64),
5327        offset: Some(500_f64),
5328        units: Some("m"),
5329        components: &[],
5330        sub_fields: &[],
5331        accumulate: false,
5332    },
5333    FieldInfo {
5334        field_def_num: 128,
5335        name: "enhanced_max_altitude",
5336        type_name: "uint32",
5337        array: None,
5338        scale: Some(5_f64),
5339        offset: Some(500_f64),
5340        units: Some("m"),
5341        components: &[],
5342        sub_fields: &[],
5343        accumulate: false,
5344    },
5345    FieldInfo {
5346        field_def_num: 129,
5347        name: "avg_lev_motor_power",
5348        type_name: "uint16",
5349        array: None,
5350        scale: None,
5351        offset: None,
5352        units: Some("watts"),
5353        components: &[],
5354        sub_fields: &[],
5355        accumulate: false,
5356    },
5357    FieldInfo {
5358        field_def_num: 130,
5359        name: "max_lev_motor_power",
5360        type_name: "uint16",
5361        array: None,
5362        scale: None,
5363        offset: None,
5364        units: Some("watts"),
5365        components: &[],
5366        sub_fields: &[],
5367        accumulate: false,
5368    },
5369    FieldInfo {
5370        field_def_num: 131,
5371        name: "lev_battery_consumption",
5372        type_name: "uint8",
5373        array: None,
5374        scale: Some(2_f64),
5375        offset: None,
5376        units: Some("percent"),
5377        components: &[],
5378        sub_fields: &[],
5379        accumulate: false,
5380    },
5381    FieldInfo {
5382        field_def_num: 132,
5383        name: "avg_vertical_ratio",
5384        type_name: "uint16",
5385        array: None,
5386        scale: Some(100_f64),
5387        offset: None,
5388        units: Some("percent"),
5389        components: &[],
5390        sub_fields: &[],
5391        accumulate: false,
5392    },
5393    FieldInfo {
5394        field_def_num: 133,
5395        name: "avg_stance_time_balance",
5396        type_name: "uint16",
5397        array: None,
5398        scale: Some(100_f64),
5399        offset: None,
5400        units: Some("percent"),
5401        components: &[],
5402        sub_fields: &[],
5403        accumulate: false,
5404    },
5405    FieldInfo {
5406        field_def_num: 134,
5407        name: "avg_step_length",
5408        type_name: "uint16",
5409        array: None,
5410        scale: Some(10_f64),
5411        offset: None,
5412        units: Some("mm"),
5413        components: &[],
5414        sub_fields: &[],
5415        accumulate: false,
5416    },
5417    FieldInfo {
5418        field_def_num: 137,
5419        name: "total_anaerobic_training_effect",
5420        type_name: "uint8",
5421        array: None,
5422        scale: Some(10_f64),
5423        offset: None,
5424        units: None,
5425        components: &[],
5426        sub_fields: &[],
5427        accumulate: false,
5428    },
5429    FieldInfo {
5430        field_def_num: 139,
5431        name: "avg_vam",
5432        type_name: "uint16",
5433        array: None,
5434        scale: Some(1000_f64),
5435        offset: None,
5436        units: Some("m/s"),
5437        components: &[],
5438        sub_fields: &[],
5439        accumulate: false,
5440    },
5441    FieldInfo {
5442        field_def_num: 140,
5443        name: "avg_depth",
5444        type_name: "uint32",
5445        array: None,
5446        scale: Some(1000_f64),
5447        offset: None,
5448        units: Some("m"),
5449        components: &[],
5450        sub_fields: &[],
5451        accumulate: false,
5452    },
5453    FieldInfo {
5454        field_def_num: 141,
5455        name: "max_depth",
5456        type_name: "uint32",
5457        array: None,
5458        scale: Some(1000_f64),
5459        offset: None,
5460        units: Some("m"),
5461        components: &[],
5462        sub_fields: &[],
5463        accumulate: false,
5464    },
5465    FieldInfo {
5466        field_def_num: 142,
5467        name: "surface_interval",
5468        type_name: "uint32",
5469        array: None,
5470        scale: Some(1_f64),
5471        offset: None,
5472        units: Some("s"),
5473        components: &[],
5474        sub_fields: &[],
5475        accumulate: false,
5476    },
5477    FieldInfo {
5478        field_def_num: 143,
5479        name: "start_cns",
5480        type_name: "uint8",
5481        array: None,
5482        scale: Some(1_f64),
5483        offset: None,
5484        units: Some("percent"),
5485        components: &[],
5486        sub_fields: &[],
5487        accumulate: false,
5488    },
5489    FieldInfo {
5490        field_def_num: 144,
5491        name: "end_cns",
5492        type_name: "uint8",
5493        array: None,
5494        scale: Some(1_f64),
5495        offset: None,
5496        units: Some("percent"),
5497        components: &[],
5498        sub_fields: &[],
5499        accumulate: false,
5500    },
5501    FieldInfo {
5502        field_def_num: 145,
5503        name: "start_n2",
5504        type_name: "uint16",
5505        array: None,
5506        scale: Some(1_f64),
5507        offset: None,
5508        units: Some("percent"),
5509        components: &[],
5510        sub_fields: &[],
5511        accumulate: false,
5512    },
5513    FieldInfo {
5514        field_def_num: 146,
5515        name: "end_n2",
5516        type_name: "uint16",
5517        array: None,
5518        scale: Some(1_f64),
5519        offset: None,
5520        units: Some("percent"),
5521        components: &[],
5522        sub_fields: &[],
5523        accumulate: false,
5524    },
5525    FieldInfo {
5526        field_def_num: 147,
5527        name: "avg_respiration_rate",
5528        type_name: "uint8",
5529        array: None,
5530        scale: None,
5531        offset: None,
5532        units: None,
5533        components: COMPONENTS_SESSION_130,
5534        sub_fields: &[],
5535        accumulate: false,
5536    },
5537    FieldInfo {
5538        field_def_num: 148,
5539        name: "max_respiration_rate",
5540        type_name: "uint8",
5541        array: None,
5542        scale: None,
5543        offset: None,
5544        units: None,
5545        components: COMPONENTS_SESSION_131,
5546        sub_fields: &[],
5547        accumulate: false,
5548    },
5549    FieldInfo {
5550        field_def_num: 149,
5551        name: "min_respiration_rate",
5552        type_name: "uint8",
5553        array: None,
5554        scale: None,
5555        offset: None,
5556        units: None,
5557        components: COMPONENTS_SESSION_132,
5558        sub_fields: &[],
5559        accumulate: false,
5560    },
5561    FieldInfo {
5562        field_def_num: 150,
5563        name: "min_temperature",
5564        type_name: "sint8",
5565        array: None,
5566        scale: None,
5567        offset: None,
5568        units: Some("C"),
5569        components: &[],
5570        sub_fields: &[],
5571        accumulate: false,
5572    },
5573    FieldInfo {
5574        field_def_num: 155,
5575        name: "o2_toxicity",
5576        type_name: "uint16",
5577        array: None,
5578        scale: None,
5579        offset: None,
5580        units: Some("OTUs"),
5581        components: &[],
5582        sub_fields: &[],
5583        accumulate: false,
5584    },
5585    FieldInfo {
5586        field_def_num: 156,
5587        name: "dive_number",
5588        type_name: "uint32",
5589        array: None,
5590        scale: None,
5591        offset: None,
5592        units: None,
5593        components: &[],
5594        sub_fields: &[],
5595        accumulate: false,
5596    },
5597    FieldInfo {
5598        field_def_num: 168,
5599        name: "training_load_peak",
5600        type_name: "sint32",
5601        array: None,
5602        scale: Some(65536_f64),
5603        offset: None,
5604        units: None,
5605        components: &[],
5606        sub_fields: &[],
5607        accumulate: false,
5608    },
5609    FieldInfo {
5610        field_def_num: 169,
5611        name: "enhanced_avg_respiration_rate",
5612        type_name: "uint16",
5613        array: None,
5614        scale: Some(100_f64),
5615        offset: None,
5616        units: Some("Breaths/min"),
5617        components: &[],
5618        sub_fields: &[],
5619        accumulate: false,
5620    },
5621    FieldInfo {
5622        field_def_num: 170,
5623        name: "enhanced_max_respiration_rate",
5624        type_name: "uint16",
5625        array: None,
5626        scale: Some(100_f64),
5627        offset: None,
5628        units: Some("Breaths/min"),
5629        components: &[],
5630        sub_fields: &[],
5631        accumulate: false,
5632    },
5633    FieldInfo {
5634        field_def_num: 180,
5635        name: "enhanced_min_respiration_rate",
5636        type_name: "uint16",
5637        array: None,
5638        scale: Some(100_f64),
5639        offset: None,
5640        units: None,
5641        components: &[],
5642        sub_fields: &[],
5643        accumulate: false,
5644    },
5645    FieldInfo {
5646        field_def_num: 181,
5647        name: "total_grit",
5648        type_name: "float32",
5649        array: None,
5650        scale: None,
5651        offset: None,
5652        units: Some("kGrit"),
5653        components: &[],
5654        sub_fields: &[],
5655        accumulate: false,
5656    },
5657    FieldInfo {
5658        field_def_num: 182,
5659        name: "total_flow",
5660        type_name: "float32",
5661        array: None,
5662        scale: None,
5663        offset: None,
5664        units: Some("Flow"),
5665        components: &[],
5666        sub_fields: &[],
5667        accumulate: false,
5668    },
5669    FieldInfo {
5670        field_def_num: 183,
5671        name: "jump_count",
5672        type_name: "uint16",
5673        array: None,
5674        scale: None,
5675        offset: None,
5676        units: None,
5677        components: &[],
5678        sub_fields: &[],
5679        accumulate: false,
5680    },
5681    FieldInfo {
5682        field_def_num: 186,
5683        name: "avg_grit",
5684        type_name: "float32",
5685        array: None,
5686        scale: None,
5687        offset: None,
5688        units: Some("kGrit"),
5689        components: &[],
5690        sub_fields: &[],
5691        accumulate: false,
5692    },
5693    FieldInfo {
5694        field_def_num: 187,
5695        name: "avg_flow",
5696        type_name: "float32",
5697        array: None,
5698        scale: None,
5699        offset: None,
5700        units: Some("Flow"),
5701        components: &[],
5702        sub_fields: &[],
5703        accumulate: false,
5704    },
5705    FieldInfo {
5706        field_def_num: 192,
5707        name: "workout_feel",
5708        type_name: "uint8",
5709        array: None,
5710        scale: None,
5711        offset: None,
5712        units: None,
5713        components: &[],
5714        sub_fields: &[],
5715        accumulate: false,
5716    },
5717    FieldInfo {
5718        field_def_num: 193,
5719        name: "workout_rpe",
5720        type_name: "uint8",
5721        array: None,
5722        scale: None,
5723        offset: None,
5724        units: None,
5725        components: &[],
5726        sub_fields: &[],
5727        accumulate: false,
5728    },
5729    FieldInfo {
5730        field_def_num: 194,
5731        name: "avg_spo2",
5732        type_name: "uint8",
5733        array: None,
5734        scale: None,
5735        offset: None,
5736        units: Some("percent"),
5737        components: &[],
5738        sub_fields: &[],
5739        accumulate: false,
5740    },
5741    FieldInfo {
5742        field_def_num: 195,
5743        name: "avg_stress",
5744        type_name: "uint8",
5745        array: None,
5746        scale: None,
5747        offset: None,
5748        units: Some("percent"),
5749        components: &[],
5750        sub_fields: &[],
5751        accumulate: false,
5752    },
5753    FieldInfo {
5754        field_def_num: 196,
5755        name: "metabolic_calories",
5756        type_name: "uint16",
5757        array: None,
5758        scale: None,
5759        offset: None,
5760        units: Some("kcal"),
5761        components: &[],
5762        sub_fields: &[],
5763        accumulate: false,
5764    },
5765    FieldInfo {
5766        field_def_num: 197,
5767        name: "sdrr_hrv",
5768        type_name: "uint8",
5769        array: None,
5770        scale: None,
5771        offset: None,
5772        units: Some("mS"),
5773        components: &[],
5774        sub_fields: &[],
5775        accumulate: false,
5776    },
5777    FieldInfo {
5778        field_def_num: 198,
5779        name: "rmssd_hrv",
5780        type_name: "uint8",
5781        array: None,
5782        scale: None,
5783        offset: None,
5784        units: Some("mS"),
5785        components: &[],
5786        sub_fields: &[],
5787        accumulate: false,
5788    },
5789    FieldInfo {
5790        field_def_num: 199,
5791        name: "total_fractional_ascent",
5792        type_name: "uint8",
5793        array: None,
5794        scale: Some(100_f64),
5795        offset: None,
5796        units: Some("m"),
5797        components: &[],
5798        sub_fields: &[],
5799        accumulate: false,
5800    },
5801    FieldInfo {
5802        field_def_num: 200,
5803        name: "total_fractional_descent",
5804        type_name: "uint8",
5805        array: None,
5806        scale: Some(100_f64),
5807        offset: None,
5808        units: Some("m"),
5809        components: &[],
5810        sub_fields: &[],
5811        accumulate: false,
5812    },
5813    FieldInfo {
5814        field_def_num: 208,
5815        name: "avg_core_temperature",
5816        type_name: "uint16",
5817        array: None,
5818        scale: Some(100_f64),
5819        offset: None,
5820        units: Some("C"),
5821        components: &[],
5822        sub_fields: &[],
5823        accumulate: false,
5824    },
5825    FieldInfo {
5826        field_def_num: 209,
5827        name: "min_core_temperature",
5828        type_name: "uint16",
5829        array: None,
5830        scale: Some(100_f64),
5831        offset: None,
5832        units: Some("C"),
5833        components: &[],
5834        sub_fields: &[],
5835        accumulate: false,
5836    },
5837    FieldInfo {
5838        field_def_num: 210,
5839        name: "max_core_temperature",
5840        type_name: "uint16",
5841        array: None,
5842        scale: Some(100_f64),
5843        offset: None,
5844        units: Some("C"),
5845        components: &[],
5846        sub_fields: &[],
5847        accumulate: false,
5848    },
5849];
5850
5851pub static MESG_SESSION: MesgInfo = MesgInfo {
5852    name: "session",
5853    fields: FIELDS_SESSION,
5854};
5855
5856static SUBFIELDS_LAP_12: &[SubField] = &[
5857    SubField {
5858        name: "total_strides",
5859        type_name: "uint32",
5860        conditions: &[("sport", "running"), ("sport", "walking")],
5861        components: &[],
5862        scale: None,
5863        offset: None,
5864        units: Some("strides"),
5865    },
5866    SubField {
5867        name: "total_strokes",
5868        type_name: "uint32",
5869        conditions: &[
5870            ("sport", "cycling"),
5871            ("sport", "swimming"),
5872            ("sport", "rowing"),
5873            ("sport", "stand_up_paddleboarding"),
5874        ],
5875        components: &[],
5876        scale: None,
5877        offset: None,
5878        units: Some("strokes"),
5879    },
5880];
5881static COMPONENTS_LAP_15: &[Component] = &[Component {
5882    name: "enhanced_avg_speed",
5883    bits: 16,
5884    scale: None,
5885    offset: None,
5886    units: None,
5887    accumulate: false,
5888}];
5889static COMPONENTS_LAP_16: &[Component] = &[Component {
5890    name: "enhanced_max_speed",
5891    bits: 16,
5892    scale: None,
5893    offset: None,
5894    units: None,
5895    accumulate: false,
5896}];
5897static SUBFIELDS_LAP_19: &[SubField] = &[SubField {
5898    name: "avg_running_cadence",
5899    type_name: "uint8",
5900    conditions: &[("sport", "running")],
5901    components: &[],
5902    scale: None,
5903    offset: None,
5904    units: Some("strides/min"),
5905}];
5906static SUBFIELDS_LAP_20: &[SubField] = &[SubField {
5907    name: "max_running_cadence",
5908    type_name: "uint8",
5909    conditions: &[("sport", "running")],
5910    components: &[],
5911    scale: None,
5912    offset: None,
5913    units: Some("strides/min"),
5914}];
5915static COMPONENTS_LAP_38: &[Component] = &[Component {
5916    name: "enhanced_avg_altitude",
5917    bits: 16,
5918    scale: None,
5919    offset: None,
5920    units: None,
5921    accumulate: false,
5922}];
5923static COMPONENTS_LAP_39: &[Component] = &[Component {
5924    name: "enhanced_max_altitude",
5925    bits: 16,
5926    scale: None,
5927    offset: None,
5928    units: None,
5929    accumulate: false,
5930}];
5931static COMPONENTS_LAP_58: &[Component] = &[Component {
5932    name: "enhanced_min_altitude",
5933    bits: 16,
5934    scale: None,
5935    offset: None,
5936    units: None,
5937    accumulate: false,
5938}];
5939static COMPONENTS_LAP_111: &[Component] = &[Component {
5940    name: "enhanced_avg_respiration_rate",
5941    bits: 8,
5942    scale: None,
5943    offset: None,
5944    units: None,
5945    accumulate: false,
5946}];
5947static COMPONENTS_LAP_112: &[Component] = &[Component {
5948    name: "enhanced_max_respiration_rate",
5949    bits: 8,
5950    scale: None,
5951    offset: None,
5952    units: None,
5953    accumulate: false,
5954}];
5955static FIELDS_LAP: &[FieldInfo] = &[
5956    FieldInfo {
5957        field_def_num: 254,
5958        name: "message_index",
5959        type_name: "message_index",
5960        array: None,
5961        scale: None,
5962        offset: None,
5963        units: None,
5964        components: &[],
5965        sub_fields: &[],
5966        accumulate: false,
5967    },
5968    FieldInfo {
5969        field_def_num: 253,
5970        name: "timestamp",
5971        type_name: "date_time",
5972        array: None,
5973        scale: None,
5974        offset: None,
5975        units: Some("s"),
5976        components: &[],
5977        sub_fields: &[],
5978        accumulate: false,
5979    },
5980    FieldInfo {
5981        field_def_num: 0,
5982        name: "event",
5983        type_name: "event",
5984        array: None,
5985        scale: None,
5986        offset: None,
5987        units: None,
5988        components: &[],
5989        sub_fields: &[],
5990        accumulate: false,
5991    },
5992    FieldInfo {
5993        field_def_num: 1,
5994        name: "event_type",
5995        type_name: "event_type",
5996        array: None,
5997        scale: None,
5998        offset: None,
5999        units: None,
6000        components: &[],
6001        sub_fields: &[],
6002        accumulate: false,
6003    },
6004    FieldInfo {
6005        field_def_num: 2,
6006        name: "start_time",
6007        type_name: "date_time",
6008        array: None,
6009        scale: None,
6010        offset: None,
6011        units: None,
6012        components: &[],
6013        sub_fields: &[],
6014        accumulate: false,
6015    },
6016    FieldInfo {
6017        field_def_num: 3,
6018        name: "start_position_lat",
6019        type_name: "sint32",
6020        array: None,
6021        scale: None,
6022        offset: None,
6023        units: Some("semicircles"),
6024        components: &[],
6025        sub_fields: &[],
6026        accumulate: false,
6027    },
6028    FieldInfo {
6029        field_def_num: 4,
6030        name: "start_position_long",
6031        type_name: "sint32",
6032        array: None,
6033        scale: None,
6034        offset: None,
6035        units: Some("semicircles"),
6036        components: &[],
6037        sub_fields: &[],
6038        accumulate: false,
6039    },
6040    FieldInfo {
6041        field_def_num: 5,
6042        name: "end_position_lat",
6043        type_name: "sint32",
6044        array: None,
6045        scale: None,
6046        offset: None,
6047        units: Some("semicircles"),
6048        components: &[],
6049        sub_fields: &[],
6050        accumulate: false,
6051    },
6052    FieldInfo {
6053        field_def_num: 6,
6054        name: "end_position_long",
6055        type_name: "sint32",
6056        array: None,
6057        scale: None,
6058        offset: None,
6059        units: Some("semicircles"),
6060        components: &[],
6061        sub_fields: &[],
6062        accumulate: false,
6063    },
6064    FieldInfo {
6065        field_def_num: 7,
6066        name: "total_elapsed_time",
6067        type_name: "uint32",
6068        array: None,
6069        scale: Some(1000_f64),
6070        offset: None,
6071        units: Some("s"),
6072        components: &[],
6073        sub_fields: &[],
6074        accumulate: false,
6075    },
6076    FieldInfo {
6077        field_def_num: 8,
6078        name: "total_timer_time",
6079        type_name: "uint32",
6080        array: None,
6081        scale: Some(1000_f64),
6082        offset: None,
6083        units: Some("s"),
6084        components: &[],
6085        sub_fields: &[],
6086        accumulate: false,
6087    },
6088    FieldInfo {
6089        field_def_num: 9,
6090        name: "total_distance",
6091        type_name: "uint32",
6092        array: None,
6093        scale: Some(100_f64),
6094        offset: None,
6095        units: Some("m"),
6096        components: &[],
6097        sub_fields: &[],
6098        accumulate: false,
6099    },
6100    FieldInfo {
6101        field_def_num: 10,
6102        name: "total_cycles",
6103        type_name: "uint32",
6104        array: None,
6105        scale: None,
6106        offset: None,
6107        units: Some("cycles"),
6108        components: &[],
6109        sub_fields: SUBFIELDS_LAP_12,
6110        accumulate: false,
6111    },
6112    FieldInfo {
6113        field_def_num: 11,
6114        name: "total_calories",
6115        type_name: "uint16",
6116        array: None,
6117        scale: None,
6118        offset: None,
6119        units: Some("kcal"),
6120        components: &[],
6121        sub_fields: &[],
6122        accumulate: false,
6123    },
6124    FieldInfo {
6125        field_def_num: 12,
6126        name: "total_fat_calories",
6127        type_name: "uint16",
6128        array: None,
6129        scale: None,
6130        offset: None,
6131        units: Some("kcal"),
6132        components: &[],
6133        sub_fields: &[],
6134        accumulate: false,
6135    },
6136    FieldInfo {
6137        field_def_num: 13,
6138        name: "avg_speed",
6139        type_name: "uint16",
6140        array: None,
6141        scale: Some(1000_f64),
6142        offset: None,
6143        units: Some("m/s"),
6144        components: COMPONENTS_LAP_15,
6145        sub_fields: &[],
6146        accumulate: false,
6147    },
6148    FieldInfo {
6149        field_def_num: 14,
6150        name: "max_speed",
6151        type_name: "uint16",
6152        array: None,
6153        scale: Some(1000_f64),
6154        offset: None,
6155        units: Some("m/s"),
6156        components: COMPONENTS_LAP_16,
6157        sub_fields: &[],
6158        accumulate: false,
6159    },
6160    FieldInfo {
6161        field_def_num: 15,
6162        name: "avg_heart_rate",
6163        type_name: "uint8",
6164        array: None,
6165        scale: None,
6166        offset: None,
6167        units: Some("bpm"),
6168        components: &[],
6169        sub_fields: &[],
6170        accumulate: false,
6171    },
6172    FieldInfo {
6173        field_def_num: 16,
6174        name: "max_heart_rate",
6175        type_name: "uint8",
6176        array: None,
6177        scale: None,
6178        offset: None,
6179        units: Some("bpm"),
6180        components: &[],
6181        sub_fields: &[],
6182        accumulate: false,
6183    },
6184    FieldInfo {
6185        field_def_num: 17,
6186        name: "avg_cadence",
6187        type_name: "uint8",
6188        array: None,
6189        scale: None,
6190        offset: None,
6191        units: Some("rpm"),
6192        components: &[],
6193        sub_fields: SUBFIELDS_LAP_19,
6194        accumulate: false,
6195    },
6196    FieldInfo {
6197        field_def_num: 18,
6198        name: "max_cadence",
6199        type_name: "uint8",
6200        array: None,
6201        scale: None,
6202        offset: None,
6203        units: Some("rpm"),
6204        components: &[],
6205        sub_fields: SUBFIELDS_LAP_20,
6206        accumulate: false,
6207    },
6208    FieldInfo {
6209        field_def_num: 19,
6210        name: "avg_power",
6211        type_name: "uint16",
6212        array: None,
6213        scale: None,
6214        offset: None,
6215        units: Some("watts"),
6216        components: &[],
6217        sub_fields: &[],
6218        accumulate: false,
6219    },
6220    FieldInfo {
6221        field_def_num: 20,
6222        name: "max_power",
6223        type_name: "uint16",
6224        array: None,
6225        scale: None,
6226        offset: None,
6227        units: Some("watts"),
6228        components: &[],
6229        sub_fields: &[],
6230        accumulate: false,
6231    },
6232    FieldInfo {
6233        field_def_num: 21,
6234        name: "total_ascent",
6235        type_name: "uint16",
6236        array: None,
6237        scale: None,
6238        offset: None,
6239        units: Some("m"),
6240        components: &[],
6241        sub_fields: &[],
6242        accumulate: false,
6243    },
6244    FieldInfo {
6245        field_def_num: 22,
6246        name: "total_descent",
6247        type_name: "uint16",
6248        array: None,
6249        scale: None,
6250        offset: None,
6251        units: Some("m"),
6252        components: &[],
6253        sub_fields: &[],
6254        accumulate: false,
6255    },
6256    FieldInfo {
6257        field_def_num: 23,
6258        name: "intensity",
6259        type_name: "intensity",
6260        array: None,
6261        scale: None,
6262        offset: None,
6263        units: None,
6264        components: &[],
6265        sub_fields: &[],
6266        accumulate: false,
6267    },
6268    FieldInfo {
6269        field_def_num: 24,
6270        name: "lap_trigger",
6271        type_name: "lap_trigger",
6272        array: None,
6273        scale: None,
6274        offset: None,
6275        units: None,
6276        components: &[],
6277        sub_fields: &[],
6278        accumulate: false,
6279    },
6280    FieldInfo {
6281        field_def_num: 25,
6282        name: "sport",
6283        type_name: "sport",
6284        array: None,
6285        scale: None,
6286        offset: None,
6287        units: None,
6288        components: &[],
6289        sub_fields: &[],
6290        accumulate: false,
6291    },
6292    FieldInfo {
6293        field_def_num: 26,
6294        name: "event_group",
6295        type_name: "uint8",
6296        array: None,
6297        scale: None,
6298        offset: None,
6299        units: None,
6300        components: &[],
6301        sub_fields: &[],
6302        accumulate: false,
6303    },
6304    FieldInfo {
6305        field_def_num: 32,
6306        name: "num_lengths",
6307        type_name: "uint16",
6308        array: None,
6309        scale: None,
6310        offset: None,
6311        units: Some("lengths"),
6312        components: &[],
6313        sub_fields: &[],
6314        accumulate: false,
6315    },
6316    FieldInfo {
6317        field_def_num: 33,
6318        name: "normalized_power",
6319        type_name: "uint16",
6320        array: None,
6321        scale: None,
6322        offset: None,
6323        units: Some("watts"),
6324        components: &[],
6325        sub_fields: &[],
6326        accumulate: false,
6327    },
6328    FieldInfo {
6329        field_def_num: 34,
6330        name: "left_right_balance",
6331        type_name: "left_right_balance_100",
6332        array: None,
6333        scale: None,
6334        offset: None,
6335        units: None,
6336        components: &[],
6337        sub_fields: &[],
6338        accumulate: false,
6339    },
6340    FieldInfo {
6341        field_def_num: 35,
6342        name: "first_length_index",
6343        type_name: "uint16",
6344        array: None,
6345        scale: None,
6346        offset: None,
6347        units: None,
6348        components: &[],
6349        sub_fields: &[],
6350        accumulate: false,
6351    },
6352    FieldInfo {
6353        field_def_num: 37,
6354        name: "avg_stroke_distance",
6355        type_name: "uint16",
6356        array: None,
6357        scale: Some(100_f64),
6358        offset: None,
6359        units: Some("m"),
6360        components: &[],
6361        sub_fields: &[],
6362        accumulate: false,
6363    },
6364    FieldInfo {
6365        field_def_num: 38,
6366        name: "swim_stroke",
6367        type_name: "swim_stroke",
6368        array: None,
6369        scale: None,
6370        offset: None,
6371        units: None,
6372        components: &[],
6373        sub_fields: &[],
6374        accumulate: false,
6375    },
6376    FieldInfo {
6377        field_def_num: 39,
6378        name: "sub_sport",
6379        type_name: "sub_sport",
6380        array: None,
6381        scale: None,
6382        offset: None,
6383        units: None,
6384        components: &[],
6385        sub_fields: &[],
6386        accumulate: false,
6387    },
6388    FieldInfo {
6389        field_def_num: 40,
6390        name: "num_active_lengths",
6391        type_name: "uint16",
6392        array: None,
6393        scale: None,
6394        offset: None,
6395        units: Some("lengths"),
6396        components: &[],
6397        sub_fields: &[],
6398        accumulate: false,
6399    },
6400    FieldInfo {
6401        field_def_num: 41,
6402        name: "total_work",
6403        type_name: "uint32",
6404        array: None,
6405        scale: None,
6406        offset: None,
6407        units: Some("J"),
6408        components: &[],
6409        sub_fields: &[],
6410        accumulate: false,
6411    },
6412    FieldInfo {
6413        field_def_num: 42,
6414        name: "avg_altitude",
6415        type_name: "uint16",
6416        array: None,
6417        scale: Some(5_f64),
6418        offset: Some(500_f64),
6419        units: Some("m"),
6420        components: COMPONENTS_LAP_38,
6421        sub_fields: &[],
6422        accumulate: false,
6423    },
6424    FieldInfo {
6425        field_def_num: 43,
6426        name: "max_altitude",
6427        type_name: "uint16",
6428        array: None,
6429        scale: Some(5_f64),
6430        offset: Some(500_f64),
6431        units: Some("m"),
6432        components: COMPONENTS_LAP_39,
6433        sub_fields: &[],
6434        accumulate: false,
6435    },
6436    FieldInfo {
6437        field_def_num: 44,
6438        name: "gps_accuracy",
6439        type_name: "uint8",
6440        array: None,
6441        scale: None,
6442        offset: None,
6443        units: Some("m"),
6444        components: &[],
6445        sub_fields: &[],
6446        accumulate: false,
6447    },
6448    FieldInfo {
6449        field_def_num: 45,
6450        name: "avg_grade",
6451        type_name: "sint16",
6452        array: None,
6453        scale: Some(100_f64),
6454        offset: None,
6455        units: Some("%"),
6456        components: &[],
6457        sub_fields: &[],
6458        accumulate: false,
6459    },
6460    FieldInfo {
6461        field_def_num: 46,
6462        name: "avg_pos_grade",
6463        type_name: "sint16",
6464        array: None,
6465        scale: Some(100_f64),
6466        offset: None,
6467        units: Some("%"),
6468        components: &[],
6469        sub_fields: &[],
6470        accumulate: false,
6471    },
6472    FieldInfo {
6473        field_def_num: 47,
6474        name: "avg_neg_grade",
6475        type_name: "sint16",
6476        array: None,
6477        scale: Some(100_f64),
6478        offset: None,
6479        units: Some("%"),
6480        components: &[],
6481        sub_fields: &[],
6482        accumulate: false,
6483    },
6484    FieldInfo {
6485        field_def_num: 48,
6486        name: "max_pos_grade",
6487        type_name: "sint16",
6488        array: None,
6489        scale: Some(100_f64),
6490        offset: None,
6491        units: Some("%"),
6492        components: &[],
6493        sub_fields: &[],
6494        accumulate: false,
6495    },
6496    FieldInfo {
6497        field_def_num: 49,
6498        name: "max_neg_grade",
6499        type_name: "sint16",
6500        array: None,
6501        scale: Some(100_f64),
6502        offset: None,
6503        units: Some("%"),
6504        components: &[],
6505        sub_fields: &[],
6506        accumulate: false,
6507    },
6508    FieldInfo {
6509        field_def_num: 50,
6510        name: "avg_temperature",
6511        type_name: "sint8",
6512        array: None,
6513        scale: None,
6514        offset: None,
6515        units: Some("C"),
6516        components: &[],
6517        sub_fields: &[],
6518        accumulate: false,
6519    },
6520    FieldInfo {
6521        field_def_num: 51,
6522        name: "max_temperature",
6523        type_name: "sint8",
6524        array: None,
6525        scale: None,
6526        offset: None,
6527        units: Some("C"),
6528        components: &[],
6529        sub_fields: &[],
6530        accumulate: false,
6531    },
6532    FieldInfo {
6533        field_def_num: 52,
6534        name: "total_moving_time",
6535        type_name: "uint32",
6536        array: None,
6537        scale: Some(1000_f64),
6538        offset: None,
6539        units: Some("s"),
6540        components: &[],
6541        sub_fields: &[],
6542        accumulate: false,
6543    },
6544    FieldInfo {
6545        field_def_num: 53,
6546        name: "avg_pos_vertical_speed",
6547        type_name: "sint16",
6548        array: None,
6549        scale: Some(1000_f64),
6550        offset: None,
6551        units: Some("m/s"),
6552        components: &[],
6553        sub_fields: &[],
6554        accumulate: false,
6555    },
6556    FieldInfo {
6557        field_def_num: 54,
6558        name: "avg_neg_vertical_speed",
6559        type_name: "sint16",
6560        array: None,
6561        scale: Some(1000_f64),
6562        offset: None,
6563        units: Some("m/s"),
6564        components: &[],
6565        sub_fields: &[],
6566        accumulate: false,
6567    },
6568    FieldInfo {
6569        field_def_num: 55,
6570        name: "max_pos_vertical_speed",
6571        type_name: "sint16",
6572        array: None,
6573        scale: Some(1000_f64),
6574        offset: None,
6575        units: Some("m/s"),
6576        components: &[],
6577        sub_fields: &[],
6578        accumulate: false,
6579    },
6580    FieldInfo {
6581        field_def_num: 56,
6582        name: "max_neg_vertical_speed",
6583        type_name: "sint16",
6584        array: None,
6585        scale: Some(1000_f64),
6586        offset: None,
6587        units: Some("m/s"),
6588        components: &[],
6589        sub_fields: &[],
6590        accumulate: false,
6591    },
6592    FieldInfo {
6593        field_def_num: 57,
6594        name: "time_in_hr_zone",
6595        type_name: "uint32",
6596        array: Some("[N]"),
6597        scale: Some(1000_f64),
6598        offset: None,
6599        units: Some("s"),
6600        components: &[],
6601        sub_fields: &[],
6602        accumulate: false,
6603    },
6604    FieldInfo {
6605        field_def_num: 58,
6606        name: "time_in_speed_zone",
6607        type_name: "uint32",
6608        array: Some("[N]"),
6609        scale: Some(1000_f64),
6610        offset: None,
6611        units: Some("s"),
6612        components: &[],
6613        sub_fields: &[],
6614        accumulate: false,
6615    },
6616    FieldInfo {
6617        field_def_num: 59,
6618        name: "time_in_cadence_zone",
6619        type_name: "uint32",
6620        array: Some("[N]"),
6621        scale: Some(1000_f64),
6622        offset: None,
6623        units: Some("s"),
6624        components: &[],
6625        sub_fields: &[],
6626        accumulate: false,
6627    },
6628    FieldInfo {
6629        field_def_num: 60,
6630        name: "time_in_power_zone",
6631        type_name: "uint32",
6632        array: Some("[N]"),
6633        scale: Some(1000_f64),
6634        offset: None,
6635        units: Some("s"),
6636        components: &[],
6637        sub_fields: &[],
6638        accumulate: false,
6639    },
6640    FieldInfo {
6641        field_def_num: 61,
6642        name: "repetition_num",
6643        type_name: "uint16",
6644        array: None,
6645        scale: None,
6646        offset: None,
6647        units: None,
6648        components: &[],
6649        sub_fields: &[],
6650        accumulate: false,
6651    },
6652    FieldInfo {
6653        field_def_num: 62,
6654        name: "min_altitude",
6655        type_name: "uint16",
6656        array: None,
6657        scale: Some(5_f64),
6658        offset: Some(500_f64),
6659        units: Some("m"),
6660        components: COMPONENTS_LAP_58,
6661        sub_fields: &[],
6662        accumulate: false,
6663    },
6664    FieldInfo {
6665        field_def_num: 63,
6666        name: "min_heart_rate",
6667        type_name: "uint8",
6668        array: None,
6669        scale: None,
6670        offset: None,
6671        units: Some("bpm"),
6672        components: &[],
6673        sub_fields: &[],
6674        accumulate: false,
6675    },
6676    FieldInfo {
6677        field_def_num: 71,
6678        name: "wkt_step_index",
6679        type_name: "message_index",
6680        array: None,
6681        scale: None,
6682        offset: None,
6683        units: None,
6684        components: &[],
6685        sub_fields: &[],
6686        accumulate: false,
6687    },
6688    FieldInfo {
6689        field_def_num: 74,
6690        name: "opponent_score",
6691        type_name: "uint16",
6692        array: None,
6693        scale: None,
6694        offset: None,
6695        units: None,
6696        components: &[],
6697        sub_fields: &[],
6698        accumulate: false,
6699    },
6700    FieldInfo {
6701        field_def_num: 75,
6702        name: "stroke_count",
6703        type_name: "uint16",
6704        array: Some("[N]"),
6705        scale: None,
6706        offset: None,
6707        units: Some("counts"),
6708        components: &[],
6709        sub_fields: &[],
6710        accumulate: false,
6711    },
6712    FieldInfo {
6713        field_def_num: 76,
6714        name: "zone_count",
6715        type_name: "uint16",
6716        array: Some("[N]"),
6717        scale: None,
6718        offset: None,
6719        units: Some("counts"),
6720        components: &[],
6721        sub_fields: &[],
6722        accumulate: false,
6723    },
6724    FieldInfo {
6725        field_def_num: 77,
6726        name: "avg_vertical_oscillation",
6727        type_name: "uint16",
6728        array: None,
6729        scale: Some(10_f64),
6730        offset: None,
6731        units: Some("mm"),
6732        components: &[],
6733        sub_fields: &[],
6734        accumulate: false,
6735    },
6736    FieldInfo {
6737        field_def_num: 78,
6738        name: "avg_stance_time_percent",
6739        type_name: "uint16",
6740        array: None,
6741        scale: Some(100_f64),
6742        offset: None,
6743        units: Some("percent"),
6744        components: &[],
6745        sub_fields: &[],
6746        accumulate: false,
6747    },
6748    FieldInfo {
6749        field_def_num: 79,
6750        name: "avg_stance_time",
6751        type_name: "uint16",
6752        array: None,
6753        scale: Some(10_f64),
6754        offset: None,
6755        units: Some("ms"),
6756        components: &[],
6757        sub_fields: &[],
6758        accumulate: false,
6759    },
6760    FieldInfo {
6761        field_def_num: 80,
6762        name: "avg_fractional_cadence",
6763        type_name: "uint8",
6764        array: None,
6765        scale: Some(128_f64),
6766        offset: None,
6767        units: Some("rpm"),
6768        components: &[],
6769        sub_fields: &[],
6770        accumulate: false,
6771    },
6772    FieldInfo {
6773        field_def_num: 81,
6774        name: "max_fractional_cadence",
6775        type_name: "uint8",
6776        array: None,
6777        scale: Some(128_f64),
6778        offset: None,
6779        units: Some("rpm"),
6780        components: &[],
6781        sub_fields: &[],
6782        accumulate: false,
6783    },
6784    FieldInfo {
6785        field_def_num: 82,
6786        name: "total_fractional_cycles",
6787        type_name: "uint8",
6788        array: None,
6789        scale: Some(128_f64),
6790        offset: None,
6791        units: Some("cycles"),
6792        components: &[],
6793        sub_fields: &[],
6794        accumulate: false,
6795    },
6796    FieldInfo {
6797        field_def_num: 83,
6798        name: "player_score",
6799        type_name: "uint16",
6800        array: None,
6801        scale: None,
6802        offset: None,
6803        units: None,
6804        components: &[],
6805        sub_fields: &[],
6806        accumulate: false,
6807    },
6808    FieldInfo {
6809        field_def_num: 84,
6810        name: "avg_total_hemoglobin_conc",
6811        type_name: "uint16",
6812        array: Some("[N]"),
6813        scale: Some(100_f64),
6814        offset: None,
6815        units: Some("g/dL"),
6816        components: &[],
6817        sub_fields: &[],
6818        accumulate: false,
6819    },
6820    FieldInfo {
6821        field_def_num: 85,
6822        name: "min_total_hemoglobin_conc",
6823        type_name: "uint16",
6824        array: Some("[N]"),
6825        scale: Some(100_f64),
6826        offset: None,
6827        units: Some("g/dL"),
6828        components: &[],
6829        sub_fields: &[],
6830        accumulate: false,
6831    },
6832    FieldInfo {
6833        field_def_num: 86,
6834        name: "max_total_hemoglobin_conc",
6835        type_name: "uint16",
6836        array: Some("[N]"),
6837        scale: Some(100_f64),
6838        offset: None,
6839        units: Some("g/dL"),
6840        components: &[],
6841        sub_fields: &[],
6842        accumulate: false,
6843    },
6844    FieldInfo {
6845        field_def_num: 87,
6846        name: "avg_saturated_hemoglobin_percent",
6847        type_name: "uint16",
6848        array: Some("[N]"),
6849        scale: Some(10_f64),
6850        offset: None,
6851        units: Some("%"),
6852        components: &[],
6853        sub_fields: &[],
6854        accumulate: false,
6855    },
6856    FieldInfo {
6857        field_def_num: 88,
6858        name: "min_saturated_hemoglobin_percent",
6859        type_name: "uint16",
6860        array: Some("[N]"),
6861        scale: Some(10_f64),
6862        offset: None,
6863        units: Some("%"),
6864        components: &[],
6865        sub_fields: &[],
6866        accumulate: false,
6867    },
6868    FieldInfo {
6869        field_def_num: 89,
6870        name: "max_saturated_hemoglobin_percent",
6871        type_name: "uint16",
6872        array: Some("[N]"),
6873        scale: Some(10_f64),
6874        offset: None,
6875        units: Some("%"),
6876        components: &[],
6877        sub_fields: &[],
6878        accumulate: false,
6879    },
6880    FieldInfo {
6881        field_def_num: 91,
6882        name: "avg_left_torque_effectiveness",
6883        type_name: "uint8",
6884        array: None,
6885        scale: Some(2_f64),
6886        offset: None,
6887        units: Some("percent"),
6888        components: &[],
6889        sub_fields: &[],
6890        accumulate: false,
6891    },
6892    FieldInfo {
6893        field_def_num: 92,
6894        name: "avg_right_torque_effectiveness",
6895        type_name: "uint8",
6896        array: None,
6897        scale: Some(2_f64),
6898        offset: None,
6899        units: Some("percent"),
6900        components: &[],
6901        sub_fields: &[],
6902        accumulate: false,
6903    },
6904    FieldInfo {
6905        field_def_num: 93,
6906        name: "avg_left_pedal_smoothness",
6907        type_name: "uint8",
6908        array: None,
6909        scale: Some(2_f64),
6910        offset: None,
6911        units: Some("percent"),
6912        components: &[],
6913        sub_fields: &[],
6914        accumulate: false,
6915    },
6916    FieldInfo {
6917        field_def_num: 94,
6918        name: "avg_right_pedal_smoothness",
6919        type_name: "uint8",
6920        array: None,
6921        scale: Some(2_f64),
6922        offset: None,
6923        units: Some("percent"),
6924        components: &[],
6925        sub_fields: &[],
6926        accumulate: false,
6927    },
6928    FieldInfo {
6929        field_def_num: 95,
6930        name: "avg_combined_pedal_smoothness",
6931        type_name: "uint8",
6932        array: None,
6933        scale: Some(2_f64),
6934        offset: None,
6935        units: Some("percent"),
6936        components: &[],
6937        sub_fields: &[],
6938        accumulate: false,
6939    },
6940    FieldInfo {
6941        field_def_num: 98,
6942        name: "time_standing",
6943        type_name: "uint32",
6944        array: None,
6945        scale: Some(1000_f64),
6946        offset: None,
6947        units: Some("s"),
6948        components: &[],
6949        sub_fields: &[],
6950        accumulate: false,
6951    },
6952    FieldInfo {
6953        field_def_num: 99,
6954        name: "stand_count",
6955        type_name: "uint16",
6956        array: None,
6957        scale: None,
6958        offset: None,
6959        units: None,
6960        components: &[],
6961        sub_fields: &[],
6962        accumulate: false,
6963    },
6964    FieldInfo {
6965        field_def_num: 100,
6966        name: "avg_left_pco",
6967        type_name: "sint8",
6968        array: None,
6969        scale: None,
6970        offset: None,
6971        units: Some("mm"),
6972        components: &[],
6973        sub_fields: &[],
6974        accumulate: false,
6975    },
6976    FieldInfo {
6977        field_def_num: 101,
6978        name: "avg_right_pco",
6979        type_name: "sint8",
6980        array: None,
6981        scale: None,
6982        offset: None,
6983        units: Some("mm"),
6984        components: &[],
6985        sub_fields: &[],
6986        accumulate: false,
6987    },
6988    FieldInfo {
6989        field_def_num: 102,
6990        name: "avg_left_power_phase",
6991        type_name: "uint8",
6992        array: Some("[N]"),
6993        scale: Some(0.7111111_f64),
6994        offset: None,
6995        units: Some("degrees"),
6996        components: &[],
6997        sub_fields: &[],
6998        accumulate: false,
6999    },
7000    FieldInfo {
7001        field_def_num: 103,
7002        name: "avg_left_power_phase_peak",
7003        type_name: "uint8",
7004        array: Some("[N]"),
7005        scale: Some(0.7111111_f64),
7006        offset: None,
7007        units: Some("degrees"),
7008        components: &[],
7009        sub_fields: &[],
7010        accumulate: false,
7011    },
7012    FieldInfo {
7013        field_def_num: 104,
7014        name: "avg_right_power_phase",
7015        type_name: "uint8",
7016        array: Some("[N]"),
7017        scale: Some(0.7111111_f64),
7018        offset: None,
7019        units: Some("degrees"),
7020        components: &[],
7021        sub_fields: &[],
7022        accumulate: false,
7023    },
7024    FieldInfo {
7025        field_def_num: 105,
7026        name: "avg_right_power_phase_peak",
7027        type_name: "uint8",
7028        array: Some("[N]"),
7029        scale: Some(0.7111111_f64),
7030        offset: None,
7031        units: Some("degrees"),
7032        components: &[],
7033        sub_fields: &[],
7034        accumulate: false,
7035    },
7036    FieldInfo {
7037        field_def_num: 106,
7038        name: "avg_power_position",
7039        type_name: "uint16",
7040        array: Some("[N]"),
7041        scale: None,
7042        offset: None,
7043        units: Some("watts"),
7044        components: &[],
7045        sub_fields: &[],
7046        accumulate: false,
7047    },
7048    FieldInfo {
7049        field_def_num: 107,
7050        name: "max_power_position",
7051        type_name: "uint16",
7052        array: Some("[N]"),
7053        scale: None,
7054        offset: None,
7055        units: Some("watts"),
7056        components: &[],
7057        sub_fields: &[],
7058        accumulate: false,
7059    },
7060    FieldInfo {
7061        field_def_num: 108,
7062        name: "avg_cadence_position",
7063        type_name: "uint8",
7064        array: Some("[N]"),
7065        scale: None,
7066        offset: None,
7067        units: Some("rpm"),
7068        components: &[],
7069        sub_fields: &[],
7070        accumulate: false,
7071    },
7072    FieldInfo {
7073        field_def_num: 109,
7074        name: "max_cadence_position",
7075        type_name: "uint8",
7076        array: Some("[N]"),
7077        scale: None,
7078        offset: None,
7079        units: Some("rpm"),
7080        components: &[],
7081        sub_fields: &[],
7082        accumulate: false,
7083    },
7084    FieldInfo {
7085        field_def_num: 110,
7086        name: "enhanced_avg_speed",
7087        type_name: "uint32",
7088        array: None,
7089        scale: Some(1000_f64),
7090        offset: None,
7091        units: Some("m/s"),
7092        components: &[],
7093        sub_fields: &[],
7094        accumulate: false,
7095    },
7096    FieldInfo {
7097        field_def_num: 111,
7098        name: "enhanced_max_speed",
7099        type_name: "uint32",
7100        array: None,
7101        scale: Some(1000_f64),
7102        offset: None,
7103        units: Some("m/s"),
7104        components: &[],
7105        sub_fields: &[],
7106        accumulate: false,
7107    },
7108    FieldInfo {
7109        field_def_num: 112,
7110        name: "enhanced_avg_altitude",
7111        type_name: "uint32",
7112        array: None,
7113        scale: Some(5_f64),
7114        offset: Some(500_f64),
7115        units: Some("m"),
7116        components: &[],
7117        sub_fields: &[],
7118        accumulate: false,
7119    },
7120    FieldInfo {
7121        field_def_num: 113,
7122        name: "enhanced_min_altitude",
7123        type_name: "uint32",
7124        array: None,
7125        scale: Some(5_f64),
7126        offset: Some(500_f64),
7127        units: Some("m"),
7128        components: &[],
7129        sub_fields: &[],
7130        accumulate: false,
7131    },
7132    FieldInfo {
7133        field_def_num: 114,
7134        name: "enhanced_max_altitude",
7135        type_name: "uint32",
7136        array: None,
7137        scale: Some(5_f64),
7138        offset: Some(500_f64),
7139        units: Some("m"),
7140        components: &[],
7141        sub_fields: &[],
7142        accumulate: false,
7143    },
7144    FieldInfo {
7145        field_def_num: 115,
7146        name: "avg_lev_motor_power",
7147        type_name: "uint16",
7148        array: None,
7149        scale: None,
7150        offset: None,
7151        units: Some("watts"),
7152        components: &[],
7153        sub_fields: &[],
7154        accumulate: false,
7155    },
7156    FieldInfo {
7157        field_def_num: 116,
7158        name: "max_lev_motor_power",
7159        type_name: "uint16",
7160        array: None,
7161        scale: None,
7162        offset: None,
7163        units: Some("watts"),
7164        components: &[],
7165        sub_fields: &[],
7166        accumulate: false,
7167    },
7168    FieldInfo {
7169        field_def_num: 117,
7170        name: "lev_battery_consumption",
7171        type_name: "uint8",
7172        array: None,
7173        scale: Some(2_f64),
7174        offset: None,
7175        units: Some("percent"),
7176        components: &[],
7177        sub_fields: &[],
7178        accumulate: false,
7179    },
7180    FieldInfo {
7181        field_def_num: 118,
7182        name: "avg_vertical_ratio",
7183        type_name: "uint16",
7184        array: None,
7185        scale: Some(100_f64),
7186        offset: None,
7187        units: Some("percent"),
7188        components: &[],
7189        sub_fields: &[],
7190        accumulate: false,
7191    },
7192    FieldInfo {
7193        field_def_num: 119,
7194        name: "avg_stance_time_balance",
7195        type_name: "uint16",
7196        array: None,
7197        scale: Some(100_f64),
7198        offset: None,
7199        units: Some("percent"),
7200        components: &[],
7201        sub_fields: &[],
7202        accumulate: false,
7203    },
7204    FieldInfo {
7205        field_def_num: 120,
7206        name: "avg_step_length",
7207        type_name: "uint16",
7208        array: None,
7209        scale: Some(10_f64),
7210        offset: None,
7211        units: Some("mm"),
7212        components: &[],
7213        sub_fields: &[],
7214        accumulate: false,
7215    },
7216    FieldInfo {
7217        field_def_num: 121,
7218        name: "avg_vam",
7219        type_name: "uint16",
7220        array: None,
7221        scale: Some(1000_f64),
7222        offset: None,
7223        units: Some("m/s"),
7224        components: &[],
7225        sub_fields: &[],
7226        accumulate: false,
7227    },
7228    FieldInfo {
7229        field_def_num: 122,
7230        name: "avg_depth",
7231        type_name: "uint32",
7232        array: None,
7233        scale: Some(1000_f64),
7234        offset: None,
7235        units: Some("m"),
7236        components: &[],
7237        sub_fields: &[],
7238        accumulate: false,
7239    },
7240    FieldInfo {
7241        field_def_num: 123,
7242        name: "max_depth",
7243        type_name: "uint32",
7244        array: None,
7245        scale: Some(1000_f64),
7246        offset: None,
7247        units: Some("m"),
7248        components: &[],
7249        sub_fields: &[],
7250        accumulate: false,
7251    },
7252    FieldInfo {
7253        field_def_num: 124,
7254        name: "min_temperature",
7255        type_name: "sint8",
7256        array: None,
7257        scale: None,
7258        offset: None,
7259        units: Some("C"),
7260        components: &[],
7261        sub_fields: &[],
7262        accumulate: false,
7263    },
7264    FieldInfo {
7265        field_def_num: 136,
7266        name: "enhanced_avg_respiration_rate",
7267        type_name: "uint16",
7268        array: None,
7269        scale: Some(100_f64),
7270        offset: None,
7271        units: Some("Breaths/min"),
7272        components: &[],
7273        sub_fields: &[],
7274        accumulate: false,
7275    },
7276    FieldInfo {
7277        field_def_num: 137,
7278        name: "enhanced_max_respiration_rate",
7279        type_name: "uint16",
7280        array: None,
7281        scale: Some(100_f64),
7282        offset: None,
7283        units: Some("Breaths/min"),
7284        components: &[],
7285        sub_fields: &[],
7286        accumulate: false,
7287    },
7288    FieldInfo {
7289        field_def_num: 147,
7290        name: "avg_respiration_rate",
7291        type_name: "uint8",
7292        array: None,
7293        scale: None,
7294        offset: None,
7295        units: None,
7296        components: COMPONENTS_LAP_111,
7297        sub_fields: &[],
7298        accumulate: false,
7299    },
7300    FieldInfo {
7301        field_def_num: 148,
7302        name: "max_respiration_rate",
7303        type_name: "uint8",
7304        array: None,
7305        scale: None,
7306        offset: None,
7307        units: None,
7308        components: COMPONENTS_LAP_112,
7309        sub_fields: &[],
7310        accumulate: false,
7311    },
7312    FieldInfo {
7313        field_def_num: 149,
7314        name: "total_grit",
7315        type_name: "float32",
7316        array: None,
7317        scale: None,
7318        offset: None,
7319        units: Some("kGrit"),
7320        components: &[],
7321        sub_fields: &[],
7322        accumulate: false,
7323    },
7324    FieldInfo {
7325        field_def_num: 150,
7326        name: "total_flow",
7327        type_name: "float32",
7328        array: None,
7329        scale: None,
7330        offset: None,
7331        units: Some("Flow"),
7332        components: &[],
7333        sub_fields: &[],
7334        accumulate: false,
7335    },
7336    FieldInfo {
7337        field_def_num: 151,
7338        name: "jump_count",
7339        type_name: "uint16",
7340        array: None,
7341        scale: None,
7342        offset: None,
7343        units: None,
7344        components: &[],
7345        sub_fields: &[],
7346        accumulate: false,
7347    },
7348    FieldInfo {
7349        field_def_num: 153,
7350        name: "avg_grit",
7351        type_name: "float32",
7352        array: None,
7353        scale: None,
7354        offset: None,
7355        units: Some("kGrit"),
7356        components: &[],
7357        sub_fields: &[],
7358        accumulate: false,
7359    },
7360    FieldInfo {
7361        field_def_num: 154,
7362        name: "avg_flow",
7363        type_name: "float32",
7364        array: None,
7365        scale: None,
7366        offset: None,
7367        units: Some("Flow"),
7368        components: &[],
7369        sub_fields: &[],
7370        accumulate: false,
7371    },
7372    FieldInfo {
7373        field_def_num: 156,
7374        name: "total_fractional_ascent",
7375        type_name: "uint8",
7376        array: None,
7377        scale: Some(100_f64),
7378        offset: None,
7379        units: Some("m"),
7380        components: &[],
7381        sub_fields: &[],
7382        accumulate: false,
7383    },
7384    FieldInfo {
7385        field_def_num: 157,
7386        name: "total_fractional_descent",
7387        type_name: "uint8",
7388        array: None,
7389        scale: Some(100_f64),
7390        offset: None,
7391        units: Some("m"),
7392        components: &[],
7393        sub_fields: &[],
7394        accumulate: false,
7395    },
7396    FieldInfo {
7397        field_def_num: 158,
7398        name: "avg_core_temperature",
7399        type_name: "uint16",
7400        array: None,
7401        scale: Some(100_f64),
7402        offset: None,
7403        units: Some("C"),
7404        components: &[],
7405        sub_fields: &[],
7406        accumulate: false,
7407    },
7408    FieldInfo {
7409        field_def_num: 159,
7410        name: "min_core_temperature",
7411        type_name: "uint16",
7412        array: None,
7413        scale: Some(100_f64),
7414        offset: None,
7415        units: Some("C"),
7416        components: &[],
7417        sub_fields: &[],
7418        accumulate: false,
7419    },
7420    FieldInfo {
7421        field_def_num: 160,
7422        name: "max_core_temperature",
7423        type_name: "uint16",
7424        array: None,
7425        scale: Some(100_f64),
7426        offset: None,
7427        units: Some("C"),
7428        components: &[],
7429        sub_fields: &[],
7430        accumulate: false,
7431    },
7432];
7433
7434pub static MESG_LAP: MesgInfo = MesgInfo {
7435    name: "lap",
7436    fields: FIELDS_LAP,
7437};
7438
7439static COMPONENTS_LENGTH_20: &[Component] = &[Component {
7440    name: "enhanced_avg_respiration_rate",
7441    bits: 8,
7442    scale: None,
7443    offset: None,
7444    units: None,
7445    accumulate: false,
7446}];
7447static COMPONENTS_LENGTH_21: &[Component] = &[Component {
7448    name: "enhanced_max_respiration_rate",
7449    bits: 8,
7450    scale: None,
7451    offset: None,
7452    units: None,
7453    accumulate: false,
7454}];
7455static FIELDS_LENGTH: &[FieldInfo] = &[
7456    FieldInfo {
7457        field_def_num: 254,
7458        name: "message_index",
7459        type_name: "message_index",
7460        array: None,
7461        scale: None,
7462        offset: None,
7463        units: None,
7464        components: &[],
7465        sub_fields: &[],
7466        accumulate: false,
7467    },
7468    FieldInfo {
7469        field_def_num: 253,
7470        name: "timestamp",
7471        type_name: "date_time",
7472        array: None,
7473        scale: None,
7474        offset: None,
7475        units: None,
7476        components: &[],
7477        sub_fields: &[],
7478        accumulate: false,
7479    },
7480    FieldInfo {
7481        field_def_num: 0,
7482        name: "event",
7483        type_name: "event",
7484        array: None,
7485        scale: None,
7486        offset: None,
7487        units: None,
7488        components: &[],
7489        sub_fields: &[],
7490        accumulate: false,
7491    },
7492    FieldInfo {
7493        field_def_num: 1,
7494        name: "event_type",
7495        type_name: "event_type",
7496        array: None,
7497        scale: None,
7498        offset: None,
7499        units: None,
7500        components: &[],
7501        sub_fields: &[],
7502        accumulate: false,
7503    },
7504    FieldInfo {
7505        field_def_num: 2,
7506        name: "start_time",
7507        type_name: "date_time",
7508        array: None,
7509        scale: None,
7510        offset: None,
7511        units: None,
7512        components: &[],
7513        sub_fields: &[],
7514        accumulate: false,
7515    },
7516    FieldInfo {
7517        field_def_num: 3,
7518        name: "total_elapsed_time",
7519        type_name: "uint32",
7520        array: None,
7521        scale: Some(1000_f64),
7522        offset: None,
7523        units: Some("s"),
7524        components: &[],
7525        sub_fields: &[],
7526        accumulate: false,
7527    },
7528    FieldInfo {
7529        field_def_num: 4,
7530        name: "total_timer_time",
7531        type_name: "uint32",
7532        array: None,
7533        scale: Some(1000_f64),
7534        offset: None,
7535        units: Some("s"),
7536        components: &[],
7537        sub_fields: &[],
7538        accumulate: false,
7539    },
7540    FieldInfo {
7541        field_def_num: 5,
7542        name: "total_strokes",
7543        type_name: "uint16",
7544        array: None,
7545        scale: None,
7546        offset: None,
7547        units: Some("strokes"),
7548        components: &[],
7549        sub_fields: &[],
7550        accumulate: false,
7551    },
7552    FieldInfo {
7553        field_def_num: 6,
7554        name: "avg_speed",
7555        type_name: "uint16",
7556        array: None,
7557        scale: Some(1000_f64),
7558        offset: None,
7559        units: Some("m/s"),
7560        components: &[],
7561        sub_fields: &[],
7562        accumulate: false,
7563    },
7564    FieldInfo {
7565        field_def_num: 7,
7566        name: "swim_stroke",
7567        type_name: "swim_stroke",
7568        array: None,
7569        scale: None,
7570        offset: None,
7571        units: Some("swim_stroke"),
7572        components: &[],
7573        sub_fields: &[],
7574        accumulate: false,
7575    },
7576    FieldInfo {
7577        field_def_num: 9,
7578        name: "avg_swimming_cadence",
7579        type_name: "uint8",
7580        array: None,
7581        scale: None,
7582        offset: None,
7583        units: Some("strokes/min"),
7584        components: &[],
7585        sub_fields: &[],
7586        accumulate: false,
7587    },
7588    FieldInfo {
7589        field_def_num: 10,
7590        name: "event_group",
7591        type_name: "uint8",
7592        array: None,
7593        scale: None,
7594        offset: None,
7595        units: None,
7596        components: &[],
7597        sub_fields: &[],
7598        accumulate: false,
7599    },
7600    FieldInfo {
7601        field_def_num: 11,
7602        name: "total_calories",
7603        type_name: "uint16",
7604        array: None,
7605        scale: None,
7606        offset: None,
7607        units: Some("kcal"),
7608        components: &[],
7609        sub_fields: &[],
7610        accumulate: false,
7611    },
7612    FieldInfo {
7613        field_def_num: 12,
7614        name: "length_type",
7615        type_name: "length_type",
7616        array: None,
7617        scale: None,
7618        offset: None,
7619        units: None,
7620        components: &[],
7621        sub_fields: &[],
7622        accumulate: false,
7623    },
7624    FieldInfo {
7625        field_def_num: 18,
7626        name: "player_score",
7627        type_name: "uint16",
7628        array: None,
7629        scale: None,
7630        offset: None,
7631        units: None,
7632        components: &[],
7633        sub_fields: &[],
7634        accumulate: false,
7635    },
7636    FieldInfo {
7637        field_def_num: 19,
7638        name: "opponent_score",
7639        type_name: "uint16",
7640        array: None,
7641        scale: None,
7642        offset: None,
7643        units: None,
7644        components: &[],
7645        sub_fields: &[],
7646        accumulate: false,
7647    },
7648    FieldInfo {
7649        field_def_num: 20,
7650        name: "stroke_count",
7651        type_name: "uint16",
7652        array: Some("[N]"),
7653        scale: None,
7654        offset: None,
7655        units: Some("counts"),
7656        components: &[],
7657        sub_fields: &[],
7658        accumulate: false,
7659    },
7660    FieldInfo {
7661        field_def_num: 21,
7662        name: "zone_count",
7663        type_name: "uint16",
7664        array: Some("[N]"),
7665        scale: None,
7666        offset: None,
7667        units: Some("counts"),
7668        components: &[],
7669        sub_fields: &[],
7670        accumulate: false,
7671    },
7672    FieldInfo {
7673        field_def_num: 22,
7674        name: "enhanced_avg_respiration_rate",
7675        type_name: "uint16",
7676        array: None,
7677        scale: Some(100_f64),
7678        offset: None,
7679        units: Some("Breaths/min"),
7680        components: &[],
7681        sub_fields: &[],
7682        accumulate: false,
7683    },
7684    FieldInfo {
7685        field_def_num: 23,
7686        name: "enhanced_max_respiration_rate",
7687        type_name: "uint16",
7688        array: None,
7689        scale: Some(100_f64),
7690        offset: None,
7691        units: Some("Breaths/min"),
7692        components: &[],
7693        sub_fields: &[],
7694        accumulate: false,
7695    },
7696    FieldInfo {
7697        field_def_num: 24,
7698        name: "avg_respiration_rate",
7699        type_name: "uint8",
7700        array: None,
7701        scale: None,
7702        offset: None,
7703        units: None,
7704        components: COMPONENTS_LENGTH_20,
7705        sub_fields: &[],
7706        accumulate: false,
7707    },
7708    FieldInfo {
7709        field_def_num: 25,
7710        name: "max_respiration_rate",
7711        type_name: "uint8",
7712        array: None,
7713        scale: None,
7714        offset: None,
7715        units: None,
7716        components: COMPONENTS_LENGTH_21,
7717        sub_fields: &[],
7718        accumulate: false,
7719    },
7720];
7721
7722pub static MESG_LENGTH: MesgInfo = MesgInfo {
7723    name: "length",
7724    fields: FIELDS_LENGTH,
7725};
7726
7727static COMPONENTS_RECORD_3: &[Component] = &[Component {
7728    name: "enhanced_altitude",
7729    bits: 16,
7730    scale: None,
7731    offset: None,
7732    units: None,
7733    accumulate: false,
7734}];
7735static COMPONENTS_RECORD_7: &[Component] = &[Component {
7736    name: "enhanced_speed",
7737    bits: 16,
7738    scale: None,
7739    offset: None,
7740    units: None,
7741    accumulate: false,
7742}];
7743static COMPONENTS_RECORD_9: &[Component] = &[
7744    Component {
7745        name: "speed",
7746        bits: 12,
7747        scale: None,
7748        offset: None,
7749        units: None,
7750        accumulate: false,
7751    },
7752    Component {
7753        name: "distance",
7754        bits: 12,
7755        scale: None,
7756        offset: None,
7757        units: None,
7758        accumulate: true,
7759    },
7760];
7761static COMPONENTS_RECORD_16: &[Component] = &[Component {
7762    name: "total_cycles",
7763    bits: 8,
7764    scale: None,
7765    offset: None,
7766    units: None,
7767    accumulate: true,
7768}];
7769static COMPONENTS_RECORD_18: &[Component] = &[Component {
7770    name: "accumulated_power",
7771    bits: 16,
7772    scale: None,
7773    offset: None,
7774    units: None,
7775    accumulate: true,
7776}];
7777static COMPONENTS_RECORD_68: &[Component] = &[Component {
7778    name: "enhanced_respiration_rate",
7779    bits: 8,
7780    scale: None,
7781    offset: None,
7782    units: None,
7783    accumulate: false,
7784}];
7785static FIELDS_RECORD: &[FieldInfo] = &[
7786    FieldInfo {
7787        field_def_num: 253,
7788        name: "timestamp",
7789        type_name: "date_time",
7790        array: None,
7791        scale: None,
7792        offset: None,
7793        units: Some("s"),
7794        components: &[],
7795        sub_fields: &[],
7796        accumulate: false,
7797    },
7798    FieldInfo {
7799        field_def_num: 0,
7800        name: "position_lat",
7801        type_name: "sint32",
7802        array: None,
7803        scale: None,
7804        offset: None,
7805        units: Some("semicircles"),
7806        components: &[],
7807        sub_fields: &[],
7808        accumulate: false,
7809    },
7810    FieldInfo {
7811        field_def_num: 1,
7812        name: "position_long",
7813        type_name: "sint32",
7814        array: None,
7815        scale: None,
7816        offset: None,
7817        units: Some("semicircles"),
7818        components: &[],
7819        sub_fields: &[],
7820        accumulate: false,
7821    },
7822    FieldInfo {
7823        field_def_num: 2,
7824        name: "altitude",
7825        type_name: "uint16",
7826        array: None,
7827        scale: Some(5_f64),
7828        offset: Some(500_f64),
7829        units: Some("m"),
7830        components: COMPONENTS_RECORD_3,
7831        sub_fields: &[],
7832        accumulate: false,
7833    },
7834    FieldInfo {
7835        field_def_num: 3,
7836        name: "heart_rate",
7837        type_name: "uint8",
7838        array: None,
7839        scale: None,
7840        offset: None,
7841        units: Some("bpm"),
7842        components: &[],
7843        sub_fields: &[],
7844        accumulate: false,
7845    },
7846    FieldInfo {
7847        field_def_num: 4,
7848        name: "cadence",
7849        type_name: "uint8",
7850        array: None,
7851        scale: None,
7852        offset: None,
7853        units: Some("rpm"),
7854        components: &[],
7855        sub_fields: &[],
7856        accumulate: false,
7857    },
7858    FieldInfo {
7859        field_def_num: 5,
7860        name: "distance",
7861        type_name: "uint32",
7862        array: None,
7863        scale: Some(100_f64),
7864        offset: None,
7865        units: Some("m"),
7866        components: &[],
7867        sub_fields: &[],
7868        accumulate: false,
7869    },
7870    FieldInfo {
7871        field_def_num: 6,
7872        name: "speed",
7873        type_name: "uint16",
7874        array: None,
7875        scale: Some(1000_f64),
7876        offset: None,
7877        units: Some("m/s"),
7878        components: COMPONENTS_RECORD_7,
7879        sub_fields: &[],
7880        accumulate: false,
7881    },
7882    FieldInfo {
7883        field_def_num: 7,
7884        name: "power",
7885        type_name: "uint16",
7886        array: None,
7887        scale: None,
7888        offset: None,
7889        units: Some("watts"),
7890        components: &[],
7891        sub_fields: &[],
7892        accumulate: false,
7893    },
7894    FieldInfo {
7895        field_def_num: 8,
7896        name: "compressed_speed_distance",
7897        type_name: "byte",
7898        array: Some("[3]"),
7899        scale: Some(100_f64),
7900        offset: None,
7901        units: Some("m/s,m"),
7902        components: COMPONENTS_RECORD_9,
7903        sub_fields: &[],
7904        accumulate: false,
7905    },
7906    FieldInfo {
7907        field_def_num: 9,
7908        name: "grade",
7909        type_name: "sint16",
7910        array: None,
7911        scale: Some(100_f64),
7912        offset: None,
7913        units: Some("%"),
7914        components: &[],
7915        sub_fields: &[],
7916        accumulate: false,
7917    },
7918    FieldInfo {
7919        field_def_num: 10,
7920        name: "resistance",
7921        type_name: "uint8",
7922        array: None,
7923        scale: None,
7924        offset: None,
7925        units: None,
7926        components: &[],
7927        sub_fields: &[],
7928        accumulate: false,
7929    },
7930    FieldInfo {
7931        field_def_num: 11,
7932        name: "time_from_course",
7933        type_name: "sint32",
7934        array: None,
7935        scale: Some(1000_f64),
7936        offset: None,
7937        units: Some("s"),
7938        components: &[],
7939        sub_fields: &[],
7940        accumulate: false,
7941    },
7942    FieldInfo {
7943        field_def_num: 12,
7944        name: "cycle_length",
7945        type_name: "uint8",
7946        array: None,
7947        scale: Some(100_f64),
7948        offset: None,
7949        units: Some("m"),
7950        components: &[],
7951        sub_fields: &[],
7952        accumulate: false,
7953    },
7954    FieldInfo {
7955        field_def_num: 13,
7956        name: "temperature",
7957        type_name: "sint8",
7958        array: None,
7959        scale: None,
7960        offset: None,
7961        units: Some("C"),
7962        components: &[],
7963        sub_fields: &[],
7964        accumulate: false,
7965    },
7966    FieldInfo {
7967        field_def_num: 17,
7968        name: "speed_1s",
7969        type_name: "uint8",
7970        array: Some("[N]"),
7971        scale: Some(16_f64),
7972        offset: None,
7973        units: Some("m/s"),
7974        components: &[],
7975        sub_fields: &[],
7976        accumulate: false,
7977    },
7978    FieldInfo {
7979        field_def_num: 18,
7980        name: "cycles",
7981        type_name: "uint8",
7982        array: None,
7983        scale: None,
7984        offset: None,
7985        units: Some("cycles"),
7986        components: COMPONENTS_RECORD_16,
7987        sub_fields: &[],
7988        accumulate: true,
7989    },
7990    FieldInfo {
7991        field_def_num: 19,
7992        name: "total_cycles",
7993        type_name: "uint32",
7994        array: None,
7995        scale: None,
7996        offset: None,
7997        units: Some("cycles"),
7998        components: &[],
7999        sub_fields: &[],
8000        accumulate: false,
8001    },
8002    FieldInfo {
8003        field_def_num: 28,
8004        name: "compressed_accumulated_power",
8005        type_name: "uint16",
8006        array: None,
8007        scale: None,
8008        offset: None,
8009        units: Some("watts"),
8010        components: COMPONENTS_RECORD_18,
8011        sub_fields: &[],
8012        accumulate: true,
8013    },
8014    FieldInfo {
8015        field_def_num: 29,
8016        name: "accumulated_power",
8017        type_name: "uint32",
8018        array: None,
8019        scale: None,
8020        offset: None,
8021        units: Some("watts"),
8022        components: &[],
8023        sub_fields: &[],
8024        accumulate: false,
8025    },
8026    FieldInfo {
8027        field_def_num: 30,
8028        name: "left_right_balance",
8029        type_name: "left_right_balance",
8030        array: None,
8031        scale: None,
8032        offset: None,
8033        units: None,
8034        components: &[],
8035        sub_fields: &[],
8036        accumulate: false,
8037    },
8038    FieldInfo {
8039        field_def_num: 31,
8040        name: "gps_accuracy",
8041        type_name: "uint8",
8042        array: None,
8043        scale: None,
8044        offset: None,
8045        units: Some("m"),
8046        components: &[],
8047        sub_fields: &[],
8048        accumulate: false,
8049    },
8050    FieldInfo {
8051        field_def_num: 32,
8052        name: "vertical_speed",
8053        type_name: "sint16",
8054        array: None,
8055        scale: Some(1000_f64),
8056        offset: None,
8057        units: Some("m/s"),
8058        components: &[],
8059        sub_fields: &[],
8060        accumulate: false,
8061    },
8062    FieldInfo {
8063        field_def_num: 33,
8064        name: "calories",
8065        type_name: "uint16",
8066        array: None,
8067        scale: None,
8068        offset: None,
8069        units: Some("kcal"),
8070        components: &[],
8071        sub_fields: &[],
8072        accumulate: false,
8073    },
8074    FieldInfo {
8075        field_def_num: 39,
8076        name: "vertical_oscillation",
8077        type_name: "uint16",
8078        array: None,
8079        scale: Some(10_f64),
8080        offset: None,
8081        units: Some("mm"),
8082        components: &[],
8083        sub_fields: &[],
8084        accumulate: false,
8085    },
8086    FieldInfo {
8087        field_def_num: 40,
8088        name: "stance_time_percent",
8089        type_name: "uint16",
8090        array: None,
8091        scale: Some(100_f64),
8092        offset: None,
8093        units: Some("percent"),
8094        components: &[],
8095        sub_fields: &[],
8096        accumulate: false,
8097    },
8098    FieldInfo {
8099        field_def_num: 41,
8100        name: "stance_time",
8101        type_name: "uint16",
8102        array: None,
8103        scale: Some(10_f64),
8104        offset: None,
8105        units: Some("ms"),
8106        components: &[],
8107        sub_fields: &[],
8108        accumulate: false,
8109    },
8110    FieldInfo {
8111        field_def_num: 42,
8112        name: "activity_type",
8113        type_name: "activity_type",
8114        array: None,
8115        scale: None,
8116        offset: None,
8117        units: None,
8118        components: &[],
8119        sub_fields: &[],
8120        accumulate: false,
8121    },
8122    FieldInfo {
8123        field_def_num: 43,
8124        name: "left_torque_effectiveness",
8125        type_name: "uint8",
8126        array: None,
8127        scale: Some(2_f64),
8128        offset: None,
8129        units: Some("percent"),
8130        components: &[],
8131        sub_fields: &[],
8132        accumulate: false,
8133    },
8134    FieldInfo {
8135        field_def_num: 44,
8136        name: "right_torque_effectiveness",
8137        type_name: "uint8",
8138        array: None,
8139        scale: Some(2_f64),
8140        offset: None,
8141        units: Some("percent"),
8142        components: &[],
8143        sub_fields: &[],
8144        accumulate: false,
8145    },
8146    FieldInfo {
8147        field_def_num: 45,
8148        name: "left_pedal_smoothness",
8149        type_name: "uint8",
8150        array: None,
8151        scale: Some(2_f64),
8152        offset: None,
8153        units: Some("percent"),
8154        components: &[],
8155        sub_fields: &[],
8156        accumulate: false,
8157    },
8158    FieldInfo {
8159        field_def_num: 46,
8160        name: "right_pedal_smoothness",
8161        type_name: "uint8",
8162        array: None,
8163        scale: Some(2_f64),
8164        offset: None,
8165        units: Some("percent"),
8166        components: &[],
8167        sub_fields: &[],
8168        accumulate: false,
8169    },
8170    FieldInfo {
8171        field_def_num: 47,
8172        name: "combined_pedal_smoothness",
8173        type_name: "uint8",
8174        array: None,
8175        scale: Some(2_f64),
8176        offset: None,
8177        units: Some("percent"),
8178        components: &[],
8179        sub_fields: &[],
8180        accumulate: false,
8181    },
8182    FieldInfo {
8183        field_def_num: 48,
8184        name: "time128",
8185        type_name: "uint8",
8186        array: None,
8187        scale: Some(128_f64),
8188        offset: None,
8189        units: Some("s"),
8190        components: &[],
8191        sub_fields: &[],
8192        accumulate: false,
8193    },
8194    FieldInfo {
8195        field_def_num: 49,
8196        name: "stroke_type",
8197        type_name: "stroke_type",
8198        array: None,
8199        scale: None,
8200        offset: None,
8201        units: None,
8202        components: &[],
8203        sub_fields: &[],
8204        accumulate: false,
8205    },
8206    FieldInfo {
8207        field_def_num: 50,
8208        name: "zone",
8209        type_name: "uint8",
8210        array: None,
8211        scale: None,
8212        offset: None,
8213        units: None,
8214        components: &[],
8215        sub_fields: &[],
8216        accumulate: false,
8217    },
8218    FieldInfo {
8219        field_def_num: 51,
8220        name: "ball_speed",
8221        type_name: "uint16",
8222        array: None,
8223        scale: Some(100_f64),
8224        offset: None,
8225        units: Some("m/s"),
8226        components: &[],
8227        sub_fields: &[],
8228        accumulate: false,
8229    },
8230    FieldInfo {
8231        field_def_num: 52,
8232        name: "cadence256",
8233        type_name: "uint16",
8234        array: None,
8235        scale: Some(256_f64),
8236        offset: None,
8237        units: Some("rpm"),
8238        components: &[],
8239        sub_fields: &[],
8240        accumulate: false,
8241    },
8242    FieldInfo {
8243        field_def_num: 53,
8244        name: "fractional_cadence",
8245        type_name: "uint8",
8246        array: None,
8247        scale: Some(128_f64),
8248        offset: None,
8249        units: Some("rpm"),
8250        components: &[],
8251        sub_fields: &[],
8252        accumulate: false,
8253    },
8254    FieldInfo {
8255        field_def_num: 54,
8256        name: "total_hemoglobin_conc",
8257        type_name: "uint16",
8258        array: None,
8259        scale: Some(100_f64),
8260        offset: None,
8261        units: Some("g/dL"),
8262        components: &[],
8263        sub_fields: &[],
8264        accumulate: false,
8265    },
8266    FieldInfo {
8267        field_def_num: 55,
8268        name: "total_hemoglobin_conc_min",
8269        type_name: "uint16",
8270        array: None,
8271        scale: Some(100_f64),
8272        offset: None,
8273        units: Some("g/dL"),
8274        components: &[],
8275        sub_fields: &[],
8276        accumulate: false,
8277    },
8278    FieldInfo {
8279        field_def_num: 56,
8280        name: "total_hemoglobin_conc_max",
8281        type_name: "uint16",
8282        array: None,
8283        scale: Some(100_f64),
8284        offset: None,
8285        units: Some("g/dL"),
8286        components: &[],
8287        sub_fields: &[],
8288        accumulate: false,
8289    },
8290    FieldInfo {
8291        field_def_num: 57,
8292        name: "saturated_hemoglobin_percent",
8293        type_name: "uint16",
8294        array: None,
8295        scale: Some(10_f64),
8296        offset: None,
8297        units: Some("%"),
8298        components: &[],
8299        sub_fields: &[],
8300        accumulate: false,
8301    },
8302    FieldInfo {
8303        field_def_num: 58,
8304        name: "saturated_hemoglobin_percent_min",
8305        type_name: "uint16",
8306        array: None,
8307        scale: Some(10_f64),
8308        offset: None,
8309        units: Some("%"),
8310        components: &[],
8311        sub_fields: &[],
8312        accumulate: false,
8313    },
8314    FieldInfo {
8315        field_def_num: 59,
8316        name: "saturated_hemoglobin_percent_max",
8317        type_name: "uint16",
8318        array: None,
8319        scale: Some(10_f64),
8320        offset: None,
8321        units: Some("%"),
8322        components: &[],
8323        sub_fields: &[],
8324        accumulate: false,
8325    },
8326    FieldInfo {
8327        field_def_num: 62,
8328        name: "device_index",
8329        type_name: "device_index",
8330        array: None,
8331        scale: None,
8332        offset: None,
8333        units: None,
8334        components: &[],
8335        sub_fields: &[],
8336        accumulate: false,
8337    },
8338    FieldInfo {
8339        field_def_num: 67,
8340        name: "left_pco",
8341        type_name: "sint8",
8342        array: None,
8343        scale: None,
8344        offset: None,
8345        units: Some("mm"),
8346        components: &[],
8347        sub_fields: &[],
8348        accumulate: false,
8349    },
8350    FieldInfo {
8351        field_def_num: 68,
8352        name: "right_pco",
8353        type_name: "sint8",
8354        array: None,
8355        scale: None,
8356        offset: None,
8357        units: Some("mm"),
8358        components: &[],
8359        sub_fields: &[],
8360        accumulate: false,
8361    },
8362    FieldInfo {
8363        field_def_num: 69,
8364        name: "left_power_phase",
8365        type_name: "uint8",
8366        array: Some("[N]"),
8367        scale: Some(0.7111111_f64),
8368        offset: None,
8369        units: Some("degrees"),
8370        components: &[],
8371        sub_fields: &[],
8372        accumulate: false,
8373    },
8374    FieldInfo {
8375        field_def_num: 70,
8376        name: "left_power_phase_peak",
8377        type_name: "uint8",
8378        array: Some("[N]"),
8379        scale: Some(0.7111111_f64),
8380        offset: None,
8381        units: Some("degrees"),
8382        components: &[],
8383        sub_fields: &[],
8384        accumulate: false,
8385    },
8386    FieldInfo {
8387        field_def_num: 71,
8388        name: "right_power_phase",
8389        type_name: "uint8",
8390        array: Some("[N]"),
8391        scale: Some(0.7111111_f64),
8392        offset: None,
8393        units: Some("degrees"),
8394        components: &[],
8395        sub_fields: &[],
8396        accumulate: false,
8397    },
8398    FieldInfo {
8399        field_def_num: 72,
8400        name: "right_power_phase_peak",
8401        type_name: "uint8",
8402        array: Some("[N]"),
8403        scale: Some(0.7111111_f64),
8404        offset: None,
8405        units: Some("degrees"),
8406        components: &[],
8407        sub_fields: &[],
8408        accumulate: false,
8409    },
8410    FieldInfo {
8411        field_def_num: 73,
8412        name: "enhanced_speed",
8413        type_name: "uint32",
8414        array: None,
8415        scale: Some(1000_f64),
8416        offset: None,
8417        units: Some("m/s"),
8418        components: &[],
8419        sub_fields: &[],
8420        accumulate: false,
8421    },
8422    FieldInfo {
8423        field_def_num: 78,
8424        name: "enhanced_altitude",
8425        type_name: "uint32",
8426        array: None,
8427        scale: Some(5_f64),
8428        offset: Some(500_f64),
8429        units: Some("m"),
8430        components: &[],
8431        sub_fields: &[],
8432        accumulate: false,
8433    },
8434    FieldInfo {
8435        field_def_num: 81,
8436        name: "battery_soc",
8437        type_name: "uint8",
8438        array: None,
8439        scale: Some(2_f64),
8440        offset: None,
8441        units: Some("percent"),
8442        components: &[],
8443        sub_fields: &[],
8444        accumulate: false,
8445    },
8446    FieldInfo {
8447        field_def_num: 82,
8448        name: "motor_power",
8449        type_name: "uint16",
8450        array: None,
8451        scale: None,
8452        offset: None,
8453        units: Some("watts"),
8454        components: &[],
8455        sub_fields: &[],
8456        accumulate: false,
8457    },
8458    FieldInfo {
8459        field_def_num: 83,
8460        name: "vertical_ratio",
8461        type_name: "uint16",
8462        array: None,
8463        scale: Some(100_f64),
8464        offset: None,
8465        units: Some("percent"),
8466        components: &[],
8467        sub_fields: &[],
8468        accumulate: false,
8469    },
8470    FieldInfo {
8471        field_def_num: 84,
8472        name: "stance_time_balance",
8473        type_name: "uint16",
8474        array: None,
8475        scale: Some(100_f64),
8476        offset: None,
8477        units: Some("percent"),
8478        components: &[],
8479        sub_fields: &[],
8480        accumulate: false,
8481    },
8482    FieldInfo {
8483        field_def_num: 85,
8484        name: "step_length",
8485        type_name: "uint16",
8486        array: None,
8487        scale: Some(10_f64),
8488        offset: None,
8489        units: Some("mm"),
8490        components: &[],
8491        sub_fields: &[],
8492        accumulate: false,
8493    },
8494    FieldInfo {
8495        field_def_num: 87,
8496        name: "cycle_length16",
8497        type_name: "uint16",
8498        array: None,
8499        scale: Some(100_f64),
8500        offset: None,
8501        units: Some("m"),
8502        components: &[],
8503        sub_fields: &[],
8504        accumulate: false,
8505    },
8506    FieldInfo {
8507        field_def_num: 91,
8508        name: "absolute_pressure",
8509        type_name: "uint32",
8510        array: None,
8511        scale: None,
8512        offset: None,
8513        units: Some("Pa"),
8514        components: &[],
8515        sub_fields: &[],
8516        accumulate: false,
8517    },
8518    FieldInfo {
8519        field_def_num: 92,
8520        name: "depth",
8521        type_name: "uint32",
8522        array: None,
8523        scale: Some(1000_f64),
8524        offset: None,
8525        units: Some("m"),
8526        components: &[],
8527        sub_fields: &[],
8528        accumulate: false,
8529    },
8530    FieldInfo {
8531        field_def_num: 93,
8532        name: "next_stop_depth",
8533        type_name: "uint32",
8534        array: None,
8535        scale: Some(1000_f64),
8536        offset: None,
8537        units: Some("m"),
8538        components: &[],
8539        sub_fields: &[],
8540        accumulate: false,
8541    },
8542    FieldInfo {
8543        field_def_num: 94,
8544        name: "next_stop_time",
8545        type_name: "uint32",
8546        array: None,
8547        scale: Some(1_f64),
8548        offset: None,
8549        units: Some("s"),
8550        components: &[],
8551        sub_fields: &[],
8552        accumulate: false,
8553    },
8554    FieldInfo {
8555        field_def_num: 95,
8556        name: "time_to_surface",
8557        type_name: "uint32",
8558        array: None,
8559        scale: Some(1_f64),
8560        offset: None,
8561        units: Some("s"),
8562        components: &[],
8563        sub_fields: &[],
8564        accumulate: false,
8565    },
8566    FieldInfo {
8567        field_def_num: 96,
8568        name: "ndl_time",
8569        type_name: "uint32",
8570        array: None,
8571        scale: Some(1_f64),
8572        offset: None,
8573        units: Some("s"),
8574        components: &[],
8575        sub_fields: &[],
8576        accumulate: false,
8577    },
8578    FieldInfo {
8579        field_def_num: 97,
8580        name: "cns_load",
8581        type_name: "uint8",
8582        array: None,
8583        scale: None,
8584        offset: None,
8585        units: Some("percent"),
8586        components: &[],
8587        sub_fields: &[],
8588        accumulate: false,
8589    },
8590    FieldInfo {
8591        field_def_num: 98,
8592        name: "n2_load",
8593        type_name: "uint16",
8594        array: None,
8595        scale: Some(1_f64),
8596        offset: None,
8597        units: Some("percent"),
8598        components: &[],
8599        sub_fields: &[],
8600        accumulate: false,
8601    },
8602    FieldInfo {
8603        field_def_num: 99,
8604        name: "respiration_rate",
8605        type_name: "uint8",
8606        array: None,
8607        scale: Some(1_f64),
8608        offset: None,
8609        units: Some("s"),
8610        components: COMPONENTS_RECORD_68,
8611        sub_fields: &[],
8612        accumulate: false,
8613    },
8614    FieldInfo {
8615        field_def_num: 108,
8616        name: "enhanced_respiration_rate",
8617        type_name: "uint16",
8618        array: None,
8619        scale: Some(100_f64),
8620        offset: None,
8621        units: Some("Breaths/min"),
8622        components: &[],
8623        sub_fields: &[],
8624        accumulate: false,
8625    },
8626    FieldInfo {
8627        field_def_num: 114,
8628        name: "grit",
8629        type_name: "float32",
8630        array: None,
8631        scale: None,
8632        offset: None,
8633        units: None,
8634        components: &[],
8635        sub_fields: &[],
8636        accumulate: false,
8637    },
8638    FieldInfo {
8639        field_def_num: 115,
8640        name: "flow",
8641        type_name: "float32",
8642        array: None,
8643        scale: None,
8644        offset: None,
8645        units: None,
8646        components: &[],
8647        sub_fields: &[],
8648        accumulate: false,
8649    },
8650    FieldInfo {
8651        field_def_num: 116,
8652        name: "current_stress",
8653        type_name: "uint16",
8654        array: None,
8655        scale: Some(100_f64),
8656        offset: None,
8657        units: None,
8658        components: &[],
8659        sub_fields: &[],
8660        accumulate: false,
8661    },
8662    FieldInfo {
8663        field_def_num: 117,
8664        name: "ebike_travel_range",
8665        type_name: "uint16",
8666        array: None,
8667        scale: None,
8668        offset: None,
8669        units: Some("km"),
8670        components: &[],
8671        sub_fields: &[],
8672        accumulate: false,
8673    },
8674    FieldInfo {
8675        field_def_num: 118,
8676        name: "ebike_battery_level",
8677        type_name: "uint8",
8678        array: None,
8679        scale: None,
8680        offset: None,
8681        units: Some("percent"),
8682        components: &[],
8683        sub_fields: &[],
8684        accumulate: false,
8685    },
8686    FieldInfo {
8687        field_def_num: 119,
8688        name: "ebike_assist_mode",
8689        type_name: "uint8",
8690        array: None,
8691        scale: None,
8692        offset: None,
8693        units: Some("depends on sensor"),
8694        components: &[],
8695        sub_fields: &[],
8696        accumulate: false,
8697    },
8698    FieldInfo {
8699        field_def_num: 120,
8700        name: "ebike_assist_level_percent",
8701        type_name: "uint8",
8702        array: None,
8703        scale: None,
8704        offset: None,
8705        units: Some("percent"),
8706        components: &[],
8707        sub_fields: &[],
8708        accumulate: false,
8709    },
8710    FieldInfo {
8711        field_def_num: 123,
8712        name: "air_time_remaining",
8713        type_name: "uint32",
8714        array: None,
8715        scale: None,
8716        offset: None,
8717        units: Some("s"),
8718        components: &[],
8719        sub_fields: &[],
8720        accumulate: false,
8721    },
8722    FieldInfo {
8723        field_def_num: 124,
8724        name: "pressure_sac",
8725        type_name: "uint16",
8726        array: None,
8727        scale: Some(100_f64),
8728        offset: None,
8729        units: Some("bar/min"),
8730        components: &[],
8731        sub_fields: &[],
8732        accumulate: false,
8733    },
8734    FieldInfo {
8735        field_def_num: 125,
8736        name: "volume_sac",
8737        type_name: "uint16",
8738        array: None,
8739        scale: Some(100_f64),
8740        offset: None,
8741        units: Some("L/min"),
8742        components: &[],
8743        sub_fields: &[],
8744        accumulate: false,
8745    },
8746    FieldInfo {
8747        field_def_num: 126,
8748        name: "rmv",
8749        type_name: "uint16",
8750        array: None,
8751        scale: Some(100_f64),
8752        offset: None,
8753        units: Some("L/min"),
8754        components: &[],
8755        sub_fields: &[],
8756        accumulate: false,
8757    },
8758    FieldInfo {
8759        field_def_num: 127,
8760        name: "ascent_rate",
8761        type_name: "sint32",
8762        array: None,
8763        scale: Some(1000_f64),
8764        offset: None,
8765        units: Some("m/s"),
8766        components: &[],
8767        sub_fields: &[],
8768        accumulate: false,
8769    },
8770    FieldInfo {
8771        field_def_num: 129,
8772        name: "po2",
8773        type_name: "uint8",
8774        array: None,
8775        scale: Some(100_f64),
8776        offset: None,
8777        units: Some("percent"),
8778        components: &[],
8779        sub_fields: &[],
8780        accumulate: false,
8781    },
8782    FieldInfo {
8783        field_def_num: 139,
8784        name: "core_temperature",
8785        type_name: "uint16",
8786        array: None,
8787        scale: Some(100_f64),
8788        offset: None,
8789        units: Some("C"),
8790        components: &[],
8791        sub_fields: &[],
8792        accumulate: false,
8793    },
8794];
8795
8796pub static MESG_RECORD: MesgInfo = MesgInfo {
8797    name: "record",
8798    fields: FIELDS_RECORD,
8799};
8800
8801static COMPONENTS_EVENT_3: &[Component] = &[Component {
8802    name: "data",
8803    bits: 16,
8804    scale: None,
8805    offset: None,
8806    units: None,
8807    accumulate: false,
8808}];
8809static SUBFIELD_COMPONENTS_EVENT_4_16: &[Component] = &[
8810    Component {
8811        name: "score",
8812        bits: 16,
8813        scale: None,
8814        offset: None,
8815        units: None,
8816        accumulate: false,
8817    },
8818    Component {
8819        name: "opponent_score",
8820        bits: 16,
8821        scale: None,
8822        offset: None,
8823        units: None,
8824        accumulate: false,
8825    },
8826];
8827static SUBFIELD_COMPONENTS_EVENT_4_17: &[Component] = &[
8828    Component {
8829        name: "rear_gear_num",
8830        bits: 8,
8831        scale: None,
8832        offset: None,
8833        units: None,
8834        accumulate: false,
8835    },
8836    Component {
8837        name: "rear_gear",
8838        bits: 8,
8839        scale: None,
8840        offset: None,
8841        units: None,
8842        accumulate: false,
8843    },
8844    Component {
8845        name: "front_gear_num",
8846        bits: 8,
8847        scale: None,
8848        offset: None,
8849        units: None,
8850        accumulate: false,
8851    },
8852    Component {
8853        name: "front_gear",
8854        bits: 8,
8855        scale: None,
8856        offset: None,
8857        units: None,
8858        accumulate: false,
8859    },
8860];
8861static SUBFIELD_COMPONENTS_EVENT_4_22: &[Component] = &[
8862    Component {
8863        name: "radar_threat_level_max",
8864        bits: 8,
8865        scale: None,
8866        offset: None,
8867        units: None,
8868        accumulate: false,
8869    },
8870    Component {
8871        name: "radar_threat_count",
8872        bits: 8,
8873        scale: None,
8874        offset: None,
8875        units: None,
8876        accumulate: false,
8877    },
8878    Component {
8879        name: "radar_threat_avg_approach_speed",
8880        bits: 8,
8881        scale: None,
8882        offset: None,
8883        units: None,
8884        accumulate: false,
8885    },
8886    Component {
8887        name: "radar_threat_max_approach_speed",
8888        bits: 8,
8889        scale: None,
8890        offset: None,
8891        units: None,
8892        accumulate: false,
8893    },
8894];
8895static SUBFIELDS_EVENT_4: &[SubField] = &[
8896    SubField {
8897        name: "timer_trigger",
8898        type_name: "timer_trigger",
8899        conditions: &[("event", "timer")],
8900        components: &[],
8901        scale: None,
8902        offset: None,
8903        units: None,
8904    },
8905    SubField {
8906        name: "course_point_index",
8907        type_name: "message_index",
8908        conditions: &[("event", "course_point")],
8909        components: &[],
8910        scale: None,
8911        offset: None,
8912        units: None,
8913    },
8914    SubField {
8915        name: "battery_level",
8916        type_name: "uint16",
8917        conditions: &[("event", "battery")],
8918        components: &[],
8919        scale: Some(1000_f64),
8920        offset: None,
8921        units: Some("V"),
8922    },
8923    SubField {
8924        name: "virtual_partner_speed",
8925        type_name: "uint16",
8926        conditions: &[("event", "virtual_partner_pace")],
8927        components: &[],
8928        scale: Some(1000_f64),
8929        offset: None,
8930        units: Some("m/s"),
8931    },
8932    SubField {
8933        name: "hr_high_alert",
8934        type_name: "uint8",
8935        conditions: &[("event", "hr_high_alert")],
8936        components: &[],
8937        scale: None,
8938        offset: None,
8939        units: Some("bpm"),
8940    },
8941    SubField {
8942        name: "hr_low_alert",
8943        type_name: "uint8",
8944        conditions: &[("event", "hr_low_alert")],
8945        components: &[],
8946        scale: None,
8947        offset: None,
8948        units: Some("bpm"),
8949    },
8950    SubField {
8951        name: "speed_high_alert",
8952        type_name: "uint32",
8953        conditions: &[("event", "speed_high_alert")],
8954        components: &[],
8955        scale: Some(1000_f64),
8956        offset: None,
8957        units: Some("m/s"),
8958    },
8959    SubField {
8960        name: "speed_low_alert",
8961        type_name: "uint32",
8962        conditions: &[("event", "speed_low_alert")],
8963        components: &[],
8964        scale: Some(1000_f64),
8965        offset: None,
8966        units: Some("m/s"),
8967    },
8968    SubField {
8969        name: "cad_high_alert",
8970        type_name: "uint16",
8971        conditions: &[("event", "cad_high_alert")],
8972        components: &[],
8973        scale: None,
8974        offset: None,
8975        units: Some("rpm"),
8976    },
8977    SubField {
8978        name: "cad_low_alert",
8979        type_name: "uint16",
8980        conditions: &[("event", "cad_low_alert")],
8981        components: &[],
8982        scale: None,
8983        offset: None,
8984        units: Some("rpm"),
8985    },
8986    SubField {
8987        name: "power_high_alert",
8988        type_name: "uint16",
8989        conditions: &[("event", "power_high_alert")],
8990        components: &[],
8991        scale: None,
8992        offset: None,
8993        units: Some("watts"),
8994    },
8995    SubField {
8996        name: "power_low_alert",
8997        type_name: "uint16",
8998        conditions: &[("event", "power_low_alert")],
8999        components: &[],
9000        scale: None,
9001        offset: None,
9002        units: Some("watts"),
9003    },
9004    SubField {
9005        name: "time_duration_alert",
9006        type_name: "uint32",
9007        conditions: &[("event", "time_duration_alert")],
9008        components: &[],
9009        scale: Some(1000_f64),
9010        offset: None,
9011        units: Some("s"),
9012    },
9013    SubField {
9014        name: "distance_duration_alert",
9015        type_name: "uint32",
9016        conditions: &[("event", "distance_duration_alert")],
9017        components: &[],
9018        scale: Some(100_f64),
9019        offset: None,
9020        units: Some("m"),
9021    },
9022    SubField {
9023        name: "calorie_duration_alert",
9024        type_name: "uint32",
9025        conditions: &[("event", "calorie_duration_alert")],
9026        components: &[],
9027        scale: None,
9028        offset: None,
9029        units: Some("calories"),
9030    },
9031    SubField {
9032        name: "fitness_equipment_state",
9033        type_name: "fitness_equipment_state",
9034        conditions: &[("event", "fitness_equipment")],
9035        components: &[],
9036        scale: None,
9037        offset: None,
9038        units: None,
9039    },
9040    SubField {
9041        name: "sport_point",
9042        type_name: "uint32",
9043        conditions: &[("event", "sport_point")],
9044        components: SUBFIELD_COMPONENTS_EVENT_4_16,
9045        scale: Some(1_f64),
9046        offset: None,
9047        units: None,
9048    },
9049    SubField {
9050        name: "gear_change_data",
9051        type_name: "uint32",
9052        conditions: &[
9053            ("event", "front_gear_change"),
9054            ("event", "rear_gear_change"),
9055        ],
9056        components: SUBFIELD_COMPONENTS_EVENT_4_17,
9057        scale: Some(1_f64),
9058        offset: None,
9059        units: None,
9060    },
9061    SubField {
9062        name: "rider_position",
9063        type_name: "rider_position_type",
9064        conditions: &[("event", "rider_position_change")],
9065        components: &[],
9066        scale: None,
9067        offset: None,
9068        units: None,
9069    },
9070    SubField {
9071        name: "comm_timeout",
9072        type_name: "comm_timeout_type",
9073        conditions: &[("event", "comm_timeout")],
9074        components: &[],
9075        scale: None,
9076        offset: None,
9077        units: None,
9078    },
9079    SubField {
9080        name: "dive_alert",
9081        type_name: "dive_alert",
9082        conditions: &[("event", "dive_alert")],
9083        components: &[],
9084        scale: None,
9085        offset: None,
9086        units: None,
9087    },
9088    SubField {
9089        name: "auto_activity_detect_duration",
9090        type_name: "uint16",
9091        conditions: &[("event", "auto_activity_detect")],
9092        components: &[],
9093        scale: None,
9094        offset: None,
9095        units: Some("min"),
9096    },
9097    SubField {
9098        name: "radar_threat_alert",
9099        type_name: "uint32",
9100        conditions: &[("event", "radar_threat_alert")],
9101        components: SUBFIELD_COMPONENTS_EVENT_4_22,
9102        scale: Some(1_f64),
9103        offset: None,
9104        units: None,
9105    },
9106];
9107static SUBFIELDS_EVENT_14: &[SubField] = &[SubField {
9108    name: "auto_activity_detect_start_timestamp",
9109    type_name: "date_time",
9110    conditions: &[("event", "auto_activity_detect")],
9111    components: &[],
9112    scale: None,
9113    offset: None,
9114    units: Some("s"),
9115}];
9116static FIELDS_EVENT: &[FieldInfo] = &[
9117    FieldInfo {
9118        field_def_num: 253,
9119        name: "timestamp",
9120        type_name: "date_time",
9121        array: None,
9122        scale: None,
9123        offset: None,
9124        units: Some("s"),
9125        components: &[],
9126        sub_fields: &[],
9127        accumulate: false,
9128    },
9129    FieldInfo {
9130        field_def_num: 0,
9131        name: "event",
9132        type_name: "event",
9133        array: None,
9134        scale: None,
9135        offset: None,
9136        units: None,
9137        components: &[],
9138        sub_fields: &[],
9139        accumulate: false,
9140    },
9141    FieldInfo {
9142        field_def_num: 1,
9143        name: "event_type",
9144        type_name: "event_type",
9145        array: None,
9146        scale: None,
9147        offset: None,
9148        units: None,
9149        components: &[],
9150        sub_fields: &[],
9151        accumulate: false,
9152    },
9153    FieldInfo {
9154        field_def_num: 2,
9155        name: "data16",
9156        type_name: "uint16",
9157        array: None,
9158        scale: None,
9159        offset: None,
9160        units: None,
9161        components: COMPONENTS_EVENT_3,
9162        sub_fields: &[],
9163        accumulate: false,
9164    },
9165    FieldInfo {
9166        field_def_num: 3,
9167        name: "data",
9168        type_name: "uint32",
9169        array: None,
9170        scale: None,
9171        offset: None,
9172        units: None,
9173        components: &[],
9174        sub_fields: SUBFIELDS_EVENT_4,
9175        accumulate: false,
9176    },
9177    FieldInfo {
9178        field_def_num: 4,
9179        name: "event_group",
9180        type_name: "uint8",
9181        array: None,
9182        scale: None,
9183        offset: None,
9184        units: None,
9185        components: &[],
9186        sub_fields: &[],
9187        accumulate: false,
9188    },
9189    FieldInfo {
9190        field_def_num: 7,
9191        name: "score",
9192        type_name: "uint16",
9193        array: None,
9194        scale: None,
9195        offset: None,
9196        units: None,
9197        components: &[],
9198        sub_fields: &[],
9199        accumulate: false,
9200    },
9201    FieldInfo {
9202        field_def_num: 8,
9203        name: "opponent_score",
9204        type_name: "uint16",
9205        array: None,
9206        scale: None,
9207        offset: None,
9208        units: None,
9209        components: &[],
9210        sub_fields: &[],
9211        accumulate: false,
9212    },
9213    FieldInfo {
9214        field_def_num: 9,
9215        name: "front_gear_num",
9216        type_name: "uint8z",
9217        array: None,
9218        scale: None,
9219        offset: None,
9220        units: None,
9221        components: &[],
9222        sub_fields: &[],
9223        accumulate: false,
9224    },
9225    FieldInfo {
9226        field_def_num: 10,
9227        name: "front_gear",
9228        type_name: "uint8z",
9229        array: None,
9230        scale: None,
9231        offset: None,
9232        units: None,
9233        components: &[],
9234        sub_fields: &[],
9235        accumulate: false,
9236    },
9237    FieldInfo {
9238        field_def_num: 11,
9239        name: "rear_gear_num",
9240        type_name: "uint8z",
9241        array: None,
9242        scale: None,
9243        offset: None,
9244        units: None,
9245        components: &[],
9246        sub_fields: &[],
9247        accumulate: false,
9248    },
9249    FieldInfo {
9250        field_def_num: 12,
9251        name: "rear_gear",
9252        type_name: "uint8z",
9253        array: None,
9254        scale: None,
9255        offset: None,
9256        units: None,
9257        components: &[],
9258        sub_fields: &[],
9259        accumulate: false,
9260    },
9261    FieldInfo {
9262        field_def_num: 13,
9263        name: "device_index",
9264        type_name: "device_index",
9265        array: None,
9266        scale: None,
9267        offset: None,
9268        units: None,
9269        components: &[],
9270        sub_fields: &[],
9271        accumulate: false,
9272    },
9273    FieldInfo {
9274        field_def_num: 14,
9275        name: "activity_type",
9276        type_name: "activity_type",
9277        array: None,
9278        scale: None,
9279        offset: None,
9280        units: None,
9281        components: &[],
9282        sub_fields: &[],
9283        accumulate: false,
9284    },
9285    FieldInfo {
9286        field_def_num: 15,
9287        name: "start_timestamp",
9288        type_name: "date_time",
9289        array: None,
9290        scale: None,
9291        offset: None,
9292        units: Some("s"),
9293        components: &[],
9294        sub_fields: SUBFIELDS_EVENT_14,
9295        accumulate: false,
9296    },
9297    FieldInfo {
9298        field_def_num: 21,
9299        name: "radar_threat_level_max",
9300        type_name: "radar_threat_level_type",
9301        array: None,
9302        scale: None,
9303        offset: None,
9304        units: None,
9305        components: &[],
9306        sub_fields: &[],
9307        accumulate: false,
9308    },
9309    FieldInfo {
9310        field_def_num: 22,
9311        name: "radar_threat_count",
9312        type_name: "uint8",
9313        array: None,
9314        scale: None,
9315        offset: None,
9316        units: None,
9317        components: &[],
9318        sub_fields: &[],
9319        accumulate: false,
9320    },
9321    FieldInfo {
9322        field_def_num: 23,
9323        name: "radar_threat_avg_approach_speed",
9324        type_name: "uint8",
9325        array: None,
9326        scale: Some(10_f64),
9327        offset: None,
9328        units: Some("m/s"),
9329        components: &[],
9330        sub_fields: &[],
9331        accumulate: false,
9332    },
9333    FieldInfo {
9334        field_def_num: 24,
9335        name: "radar_threat_max_approach_speed",
9336        type_name: "uint8",
9337        array: None,
9338        scale: Some(10_f64),
9339        offset: None,
9340        units: Some("m/s"),
9341        components: &[],
9342        sub_fields: &[],
9343        accumulate: false,
9344    },
9345];
9346
9347pub static MESG_EVENT: MesgInfo = MesgInfo {
9348    name: "event",
9349    fields: FIELDS_EVENT,
9350};
9351
9352static SUBFIELDS_DEVICE_INFO_2: &[SubField] = &[
9353    SubField {
9354        name: "ble_device_type",
9355        type_name: "ble_device_type",
9356        conditions: &[("source_type", "bluetooth_low_energy")],
9357        components: &[],
9358        scale: None,
9359        offset: None,
9360        units: None,
9361    },
9362    SubField {
9363        name: "antplus_device_type",
9364        type_name: "antplus_device_type",
9365        conditions: &[("source_type", "antplus")],
9366        components: &[],
9367        scale: None,
9368        offset: None,
9369        units: None,
9370    },
9371    SubField {
9372        name: "ant_device_type",
9373        type_name: "uint8",
9374        conditions: &[("source_type", "ant")],
9375        components: &[],
9376        scale: None,
9377        offset: None,
9378        units: None,
9379    },
9380    SubField {
9381        name: "local_device_type",
9382        type_name: "local_device_type",
9383        conditions: &[("source_type", "local")],
9384        components: &[],
9385        scale: None,
9386        offset: None,
9387        units: None,
9388    },
9389];
9390static SUBFIELDS_DEVICE_INFO_5: &[SubField] = &[
9391    SubField {
9392        name: "favero_product",
9393        type_name: "favero_product",
9394        conditions: &[("manufacturer", "favero_electronics")],
9395        components: &[],
9396        scale: None,
9397        offset: None,
9398        units: None,
9399    },
9400    SubField {
9401        name: "garmin_product",
9402        type_name: "garmin_product",
9403        conditions: &[
9404            ("manufacturer", "garmin"),
9405            ("manufacturer", "dynastream"),
9406            ("manufacturer", "dynastream_oem"),
9407            ("manufacturer", "tacx"),
9408        ],
9409        components: &[],
9410        scale: None,
9411        offset: None,
9412        units: None,
9413    },
9414];
9415static FIELDS_DEVICE_INFO: &[FieldInfo] = &[
9416    FieldInfo {
9417        field_def_num: 253,
9418        name: "timestamp",
9419        type_name: "date_time",
9420        array: None,
9421        scale: None,
9422        offset: None,
9423        units: Some("s"),
9424        components: &[],
9425        sub_fields: &[],
9426        accumulate: false,
9427    },
9428    FieldInfo {
9429        field_def_num: 0,
9430        name: "device_index",
9431        type_name: "device_index",
9432        array: None,
9433        scale: None,
9434        offset: None,
9435        units: None,
9436        components: &[],
9437        sub_fields: &[],
9438        accumulate: false,
9439    },
9440    FieldInfo {
9441        field_def_num: 1,
9442        name: "device_type",
9443        type_name: "uint8",
9444        array: None,
9445        scale: None,
9446        offset: None,
9447        units: None,
9448        components: &[],
9449        sub_fields: SUBFIELDS_DEVICE_INFO_2,
9450        accumulate: false,
9451    },
9452    FieldInfo {
9453        field_def_num: 2,
9454        name: "manufacturer",
9455        type_name: "manufacturer",
9456        array: None,
9457        scale: None,
9458        offset: None,
9459        units: None,
9460        components: &[],
9461        sub_fields: &[],
9462        accumulate: false,
9463    },
9464    FieldInfo {
9465        field_def_num: 3,
9466        name: "serial_number",
9467        type_name: "uint32z",
9468        array: None,
9469        scale: None,
9470        offset: None,
9471        units: None,
9472        components: &[],
9473        sub_fields: &[],
9474        accumulate: false,
9475    },
9476    FieldInfo {
9477        field_def_num: 4,
9478        name: "product",
9479        type_name: "uint16",
9480        array: None,
9481        scale: None,
9482        offset: None,
9483        units: None,
9484        components: &[],
9485        sub_fields: SUBFIELDS_DEVICE_INFO_5,
9486        accumulate: false,
9487    },
9488    FieldInfo {
9489        field_def_num: 5,
9490        name: "software_version",
9491        type_name: "uint16",
9492        array: None,
9493        scale: Some(100_f64),
9494        offset: None,
9495        units: None,
9496        components: &[],
9497        sub_fields: &[],
9498        accumulate: false,
9499    },
9500    FieldInfo {
9501        field_def_num: 6,
9502        name: "hardware_version",
9503        type_name: "uint8",
9504        array: None,
9505        scale: None,
9506        offset: None,
9507        units: None,
9508        components: &[],
9509        sub_fields: &[],
9510        accumulate: false,
9511    },
9512    FieldInfo {
9513        field_def_num: 7,
9514        name: "cum_operating_time",
9515        type_name: "uint32",
9516        array: None,
9517        scale: None,
9518        offset: None,
9519        units: Some("s"),
9520        components: &[],
9521        sub_fields: &[],
9522        accumulate: false,
9523    },
9524    FieldInfo {
9525        field_def_num: 10,
9526        name: "battery_voltage",
9527        type_name: "uint16",
9528        array: None,
9529        scale: Some(256_f64),
9530        offset: None,
9531        units: Some("V"),
9532        components: &[],
9533        sub_fields: &[],
9534        accumulate: false,
9535    },
9536    FieldInfo {
9537        field_def_num: 11,
9538        name: "battery_status",
9539        type_name: "battery_status",
9540        array: None,
9541        scale: None,
9542        offset: None,
9543        units: None,
9544        components: &[],
9545        sub_fields: &[],
9546        accumulate: false,
9547    },
9548    FieldInfo {
9549        field_def_num: 18,
9550        name: "sensor_position",
9551        type_name: "body_location",
9552        array: None,
9553        scale: None,
9554        offset: None,
9555        units: None,
9556        components: &[],
9557        sub_fields: &[],
9558        accumulate: false,
9559    },
9560    FieldInfo {
9561        field_def_num: 19,
9562        name: "descriptor",
9563        type_name: "string",
9564        array: None,
9565        scale: None,
9566        offset: None,
9567        units: None,
9568        components: &[],
9569        sub_fields: &[],
9570        accumulate: false,
9571    },
9572    FieldInfo {
9573        field_def_num: 20,
9574        name: "ant_transmission_type",
9575        type_name: "uint8z",
9576        array: None,
9577        scale: None,
9578        offset: None,
9579        units: None,
9580        components: &[],
9581        sub_fields: &[],
9582        accumulate: false,
9583    },
9584    FieldInfo {
9585        field_def_num: 21,
9586        name: "ant_device_number",
9587        type_name: "uint16z",
9588        array: None,
9589        scale: None,
9590        offset: None,
9591        units: None,
9592        components: &[],
9593        sub_fields: &[],
9594        accumulate: false,
9595    },
9596    FieldInfo {
9597        field_def_num: 22,
9598        name: "ant_network",
9599        type_name: "ant_network",
9600        array: None,
9601        scale: None,
9602        offset: None,
9603        units: None,
9604        components: &[],
9605        sub_fields: &[],
9606        accumulate: false,
9607    },
9608    FieldInfo {
9609        field_def_num: 25,
9610        name: "source_type",
9611        type_name: "source_type",
9612        array: None,
9613        scale: None,
9614        offset: None,
9615        units: None,
9616        components: &[],
9617        sub_fields: &[],
9618        accumulate: false,
9619    },
9620    FieldInfo {
9621        field_def_num: 27,
9622        name: "product_name",
9623        type_name: "string",
9624        array: None,
9625        scale: None,
9626        offset: None,
9627        units: None,
9628        components: &[],
9629        sub_fields: &[],
9630        accumulate: false,
9631    },
9632    FieldInfo {
9633        field_def_num: 32,
9634        name: "battery_level",
9635        type_name: "uint8",
9636        array: None,
9637        scale: None,
9638        offset: None,
9639        units: Some("%"),
9640        components: &[],
9641        sub_fields: &[],
9642        accumulate: false,
9643    },
9644];
9645
9646pub static MESG_DEVICE_INFO: MesgInfo = MesgInfo {
9647    name: "device_info",
9648    fields: FIELDS_DEVICE_INFO,
9649};
9650
9651static FIELDS_DEVICE_AUX_BATTERY_INFO: &[FieldInfo] = &[
9652    FieldInfo {
9653        field_def_num: 253,
9654        name: "timestamp",
9655        type_name: "date_time",
9656        array: None,
9657        scale: None,
9658        offset: None,
9659        units: None,
9660        components: &[],
9661        sub_fields: &[],
9662        accumulate: false,
9663    },
9664    FieldInfo {
9665        field_def_num: 0,
9666        name: "device_index",
9667        type_name: "device_index",
9668        array: None,
9669        scale: None,
9670        offset: None,
9671        units: None,
9672        components: &[],
9673        sub_fields: &[],
9674        accumulate: false,
9675    },
9676    FieldInfo {
9677        field_def_num: 1,
9678        name: "battery_voltage",
9679        type_name: "uint16",
9680        array: None,
9681        scale: Some(256_f64),
9682        offset: None,
9683        units: Some("V"),
9684        components: &[],
9685        sub_fields: &[],
9686        accumulate: false,
9687    },
9688    FieldInfo {
9689        field_def_num: 2,
9690        name: "battery_status",
9691        type_name: "battery_status",
9692        array: None,
9693        scale: None,
9694        offset: None,
9695        units: None,
9696        components: &[],
9697        sub_fields: &[],
9698        accumulate: false,
9699    },
9700    FieldInfo {
9701        field_def_num: 3,
9702        name: "battery_identifier",
9703        type_name: "uint8",
9704        array: None,
9705        scale: None,
9706        offset: None,
9707        units: None,
9708        components: &[],
9709        sub_fields: &[],
9710        accumulate: false,
9711    },
9712];
9713
9714pub static MESG_DEVICE_AUX_BATTERY_INFO: MesgInfo = MesgInfo {
9715    name: "device_aux_battery_info",
9716    fields: FIELDS_DEVICE_AUX_BATTERY_INFO,
9717};
9718
9719static SUBFIELDS_TRAINING_FILE_3: &[SubField] = &[
9720    SubField {
9721        name: "favero_product",
9722        type_name: "favero_product",
9723        conditions: &[("manufacturer", "favero_electronics")],
9724        components: &[],
9725        scale: None,
9726        offset: None,
9727        units: None,
9728    },
9729    SubField {
9730        name: "garmin_product",
9731        type_name: "garmin_product",
9732        conditions: &[
9733            ("manufacturer", "garmin"),
9734            ("manufacturer", "dynastream"),
9735            ("manufacturer", "dynastream_oem"),
9736            ("manufacturer", "tacx"),
9737        ],
9738        components: &[],
9739        scale: None,
9740        offset: None,
9741        units: None,
9742    },
9743];
9744static FIELDS_TRAINING_FILE: &[FieldInfo] = &[
9745    FieldInfo {
9746        field_def_num: 253,
9747        name: "timestamp",
9748        type_name: "date_time",
9749        array: None,
9750        scale: None,
9751        offset: None,
9752        units: None,
9753        components: &[],
9754        sub_fields: &[],
9755        accumulate: false,
9756    },
9757    FieldInfo {
9758        field_def_num: 0,
9759        name: "type",
9760        type_name: "file",
9761        array: None,
9762        scale: None,
9763        offset: None,
9764        units: None,
9765        components: &[],
9766        sub_fields: &[],
9767        accumulate: false,
9768    },
9769    FieldInfo {
9770        field_def_num: 1,
9771        name: "manufacturer",
9772        type_name: "manufacturer",
9773        array: None,
9774        scale: None,
9775        offset: None,
9776        units: None,
9777        components: &[],
9778        sub_fields: &[],
9779        accumulate: false,
9780    },
9781    FieldInfo {
9782        field_def_num: 2,
9783        name: "product",
9784        type_name: "uint16",
9785        array: None,
9786        scale: None,
9787        offset: None,
9788        units: None,
9789        components: &[],
9790        sub_fields: SUBFIELDS_TRAINING_FILE_3,
9791        accumulate: false,
9792    },
9793    FieldInfo {
9794        field_def_num: 3,
9795        name: "serial_number",
9796        type_name: "uint32z",
9797        array: None,
9798        scale: None,
9799        offset: None,
9800        units: None,
9801        components: &[],
9802        sub_fields: &[],
9803        accumulate: false,
9804    },
9805    FieldInfo {
9806        field_def_num: 4,
9807        name: "time_created",
9808        type_name: "date_time",
9809        array: None,
9810        scale: None,
9811        offset: None,
9812        units: None,
9813        components: &[],
9814        sub_fields: &[],
9815        accumulate: false,
9816    },
9817];
9818
9819pub static MESG_TRAINING_FILE: MesgInfo = MesgInfo {
9820    name: "training_file",
9821    fields: FIELDS_TRAINING_FILE,
9822};
9823
9824static FIELDS_WEATHER_CONDITIONS: &[FieldInfo] = &[
9825    FieldInfo {
9826        field_def_num: 253,
9827        name: "timestamp",
9828        type_name: "date_time",
9829        array: None,
9830        scale: None,
9831        offset: None,
9832        units: None,
9833        components: &[],
9834        sub_fields: &[],
9835        accumulate: false,
9836    },
9837    FieldInfo {
9838        field_def_num: 0,
9839        name: "weather_report",
9840        type_name: "weather_report",
9841        array: None,
9842        scale: None,
9843        offset: None,
9844        units: None,
9845        components: &[],
9846        sub_fields: &[],
9847        accumulate: false,
9848    },
9849    FieldInfo {
9850        field_def_num: 1,
9851        name: "temperature",
9852        type_name: "sint8",
9853        array: None,
9854        scale: None,
9855        offset: None,
9856        units: Some("C"),
9857        components: &[],
9858        sub_fields: &[],
9859        accumulate: false,
9860    },
9861    FieldInfo {
9862        field_def_num: 2,
9863        name: "condition",
9864        type_name: "weather_status",
9865        array: None,
9866        scale: None,
9867        offset: None,
9868        units: None,
9869        components: &[],
9870        sub_fields: &[],
9871        accumulate: false,
9872    },
9873    FieldInfo {
9874        field_def_num: 3,
9875        name: "wind_direction",
9876        type_name: "uint16",
9877        array: None,
9878        scale: None,
9879        offset: None,
9880        units: Some("degrees"),
9881        components: &[],
9882        sub_fields: &[],
9883        accumulate: false,
9884    },
9885    FieldInfo {
9886        field_def_num: 4,
9887        name: "wind_speed",
9888        type_name: "uint16",
9889        array: None,
9890        scale: Some(1000_f64),
9891        offset: None,
9892        units: Some("m/s"),
9893        components: &[],
9894        sub_fields: &[],
9895        accumulate: false,
9896    },
9897    FieldInfo {
9898        field_def_num: 5,
9899        name: "precipitation_probability",
9900        type_name: "uint8",
9901        array: None,
9902        scale: None,
9903        offset: None,
9904        units: None,
9905        components: &[],
9906        sub_fields: &[],
9907        accumulate: false,
9908    },
9909    FieldInfo {
9910        field_def_num: 6,
9911        name: "temperature_feels_like",
9912        type_name: "sint8",
9913        array: None,
9914        scale: None,
9915        offset: None,
9916        units: Some("C"),
9917        components: &[],
9918        sub_fields: &[],
9919        accumulate: false,
9920    },
9921    FieldInfo {
9922        field_def_num: 7,
9923        name: "relative_humidity",
9924        type_name: "uint8",
9925        array: None,
9926        scale: None,
9927        offset: None,
9928        units: None,
9929        components: &[],
9930        sub_fields: &[],
9931        accumulate: false,
9932    },
9933    FieldInfo {
9934        field_def_num: 8,
9935        name: "location",
9936        type_name: "string",
9937        array: None,
9938        scale: None,
9939        offset: None,
9940        units: None,
9941        components: &[],
9942        sub_fields: &[],
9943        accumulate: false,
9944    },
9945    FieldInfo {
9946        field_def_num: 9,
9947        name: "observed_at_time",
9948        type_name: "date_time",
9949        array: None,
9950        scale: None,
9951        offset: None,
9952        units: None,
9953        components: &[],
9954        sub_fields: &[],
9955        accumulate: false,
9956    },
9957    FieldInfo {
9958        field_def_num: 10,
9959        name: "observed_location_lat",
9960        type_name: "sint32",
9961        array: None,
9962        scale: None,
9963        offset: None,
9964        units: Some("semicircles"),
9965        components: &[],
9966        sub_fields: &[],
9967        accumulate: false,
9968    },
9969    FieldInfo {
9970        field_def_num: 11,
9971        name: "observed_location_long",
9972        type_name: "sint32",
9973        array: None,
9974        scale: None,
9975        offset: None,
9976        units: Some("semicircles"),
9977        components: &[],
9978        sub_fields: &[],
9979        accumulate: false,
9980    },
9981    FieldInfo {
9982        field_def_num: 12,
9983        name: "day_of_week",
9984        type_name: "day_of_week",
9985        array: None,
9986        scale: None,
9987        offset: None,
9988        units: None,
9989        components: &[],
9990        sub_fields: &[],
9991        accumulate: false,
9992    },
9993    FieldInfo {
9994        field_def_num: 13,
9995        name: "high_temperature",
9996        type_name: "sint8",
9997        array: None,
9998        scale: None,
9999        offset: None,
10000        units: Some("C"),
10001        components: &[],
10002        sub_fields: &[],
10003        accumulate: false,
10004    },
10005    FieldInfo {
10006        field_def_num: 14,
10007        name: "low_temperature",
10008        type_name: "sint8",
10009        array: None,
10010        scale: None,
10011        offset: None,
10012        units: Some("C"),
10013        components: &[],
10014        sub_fields: &[],
10015        accumulate: false,
10016    },
10017];
10018
10019pub static MESG_WEATHER_CONDITIONS: MesgInfo = MesgInfo {
10020    name: "weather_conditions",
10021    fields: FIELDS_WEATHER_CONDITIONS,
10022};
10023
10024static FIELDS_WEATHER_ALERT: &[FieldInfo] = &[
10025    FieldInfo {
10026        field_def_num: 253,
10027        name: "timestamp",
10028        type_name: "date_time",
10029        array: None,
10030        scale: None,
10031        offset: None,
10032        units: None,
10033        components: &[],
10034        sub_fields: &[],
10035        accumulate: false,
10036    },
10037    FieldInfo {
10038        field_def_num: 0,
10039        name: "report_id",
10040        type_name: "string",
10041        array: None,
10042        scale: None,
10043        offset: None,
10044        units: None,
10045        components: &[],
10046        sub_fields: &[],
10047        accumulate: false,
10048    },
10049    FieldInfo {
10050        field_def_num: 1,
10051        name: "issue_time",
10052        type_name: "date_time",
10053        array: None,
10054        scale: None,
10055        offset: None,
10056        units: None,
10057        components: &[],
10058        sub_fields: &[],
10059        accumulate: false,
10060    },
10061    FieldInfo {
10062        field_def_num: 2,
10063        name: "expire_time",
10064        type_name: "date_time",
10065        array: None,
10066        scale: None,
10067        offset: None,
10068        units: None,
10069        components: &[],
10070        sub_fields: &[],
10071        accumulate: false,
10072    },
10073    FieldInfo {
10074        field_def_num: 3,
10075        name: "severity",
10076        type_name: "weather_severity",
10077        array: None,
10078        scale: None,
10079        offset: None,
10080        units: None,
10081        components: &[],
10082        sub_fields: &[],
10083        accumulate: false,
10084    },
10085    FieldInfo {
10086        field_def_num: 4,
10087        name: "type",
10088        type_name: "weather_severe_type",
10089        array: None,
10090        scale: None,
10091        offset: None,
10092        units: None,
10093        components: &[],
10094        sub_fields: &[],
10095        accumulate: false,
10096    },
10097];
10098
10099pub static MESG_WEATHER_ALERT: MesgInfo = MesgInfo {
10100    name: "weather_alert",
10101    fields: FIELDS_WEATHER_ALERT,
10102};
10103
10104static FIELDS_GPS_METADATA: &[FieldInfo] = &[
10105    FieldInfo {
10106        field_def_num: 253,
10107        name: "timestamp",
10108        type_name: "date_time",
10109        array: None,
10110        scale: None,
10111        offset: None,
10112        units: Some("s"),
10113        components: &[],
10114        sub_fields: &[],
10115        accumulate: false,
10116    },
10117    FieldInfo {
10118        field_def_num: 0,
10119        name: "timestamp_ms",
10120        type_name: "uint16",
10121        array: None,
10122        scale: None,
10123        offset: None,
10124        units: Some("ms"),
10125        components: &[],
10126        sub_fields: &[],
10127        accumulate: false,
10128    },
10129    FieldInfo {
10130        field_def_num: 1,
10131        name: "position_lat",
10132        type_name: "sint32",
10133        array: None,
10134        scale: None,
10135        offset: None,
10136        units: Some("semicircles"),
10137        components: &[],
10138        sub_fields: &[],
10139        accumulate: false,
10140    },
10141    FieldInfo {
10142        field_def_num: 2,
10143        name: "position_long",
10144        type_name: "sint32",
10145        array: None,
10146        scale: None,
10147        offset: None,
10148        units: Some("semicircles"),
10149        components: &[],
10150        sub_fields: &[],
10151        accumulate: false,
10152    },
10153    FieldInfo {
10154        field_def_num: 3,
10155        name: "enhanced_altitude",
10156        type_name: "uint32",
10157        array: None,
10158        scale: Some(5_f64),
10159        offset: Some(500_f64),
10160        units: Some("m"),
10161        components: &[],
10162        sub_fields: &[],
10163        accumulate: false,
10164    },
10165    FieldInfo {
10166        field_def_num: 4,
10167        name: "enhanced_speed",
10168        type_name: "uint32",
10169        array: None,
10170        scale: Some(1000_f64),
10171        offset: None,
10172        units: Some("m/s"),
10173        components: &[],
10174        sub_fields: &[],
10175        accumulate: false,
10176    },
10177    FieldInfo {
10178        field_def_num: 5,
10179        name: "heading",
10180        type_name: "uint16",
10181        array: None,
10182        scale: Some(100_f64),
10183        offset: None,
10184        units: Some("degrees"),
10185        components: &[],
10186        sub_fields: &[],
10187        accumulate: false,
10188    },
10189    FieldInfo {
10190        field_def_num: 6,
10191        name: "utc_timestamp",
10192        type_name: "date_time",
10193        array: None,
10194        scale: None,
10195        offset: None,
10196        units: Some("s"),
10197        components: &[],
10198        sub_fields: &[],
10199        accumulate: false,
10200    },
10201    FieldInfo {
10202        field_def_num: 7,
10203        name: "velocity",
10204        type_name: "sint16",
10205        array: Some("[3]"),
10206        scale: Some(100_f64),
10207        offset: None,
10208        units: Some("m/s"),
10209        components: &[],
10210        sub_fields: &[],
10211        accumulate: false,
10212    },
10213];
10214
10215pub static MESG_GPS_METADATA: MesgInfo = MesgInfo {
10216    name: "gps_metadata",
10217    fields: FIELDS_GPS_METADATA,
10218};
10219
10220static FIELDS_CAMERA_EVENT: &[FieldInfo] = &[
10221    FieldInfo {
10222        field_def_num: 253,
10223        name: "timestamp",
10224        type_name: "date_time",
10225        array: None,
10226        scale: None,
10227        offset: None,
10228        units: Some("s"),
10229        components: &[],
10230        sub_fields: &[],
10231        accumulate: false,
10232    },
10233    FieldInfo {
10234        field_def_num: 0,
10235        name: "timestamp_ms",
10236        type_name: "uint16",
10237        array: None,
10238        scale: None,
10239        offset: None,
10240        units: Some("ms"),
10241        components: &[],
10242        sub_fields: &[],
10243        accumulate: false,
10244    },
10245    FieldInfo {
10246        field_def_num: 1,
10247        name: "camera_event_type",
10248        type_name: "camera_event_type",
10249        array: None,
10250        scale: None,
10251        offset: None,
10252        units: None,
10253        components: &[],
10254        sub_fields: &[],
10255        accumulate: false,
10256    },
10257    FieldInfo {
10258        field_def_num: 2,
10259        name: "camera_file_uuid",
10260        type_name: "string",
10261        array: None,
10262        scale: None,
10263        offset: None,
10264        units: None,
10265        components: &[],
10266        sub_fields: &[],
10267        accumulate: false,
10268    },
10269    FieldInfo {
10270        field_def_num: 3,
10271        name: "camera_orientation",
10272        type_name: "camera_orientation_type",
10273        array: None,
10274        scale: None,
10275        offset: None,
10276        units: None,
10277        components: &[],
10278        sub_fields: &[],
10279        accumulate: false,
10280    },
10281];
10282
10283pub static MESG_CAMERA_EVENT: MesgInfo = MesgInfo {
10284    name: "camera_event",
10285    fields: FIELDS_CAMERA_EVENT,
10286};
10287
10288static FIELDS_GYROSCOPE_DATA: &[FieldInfo] = &[
10289    FieldInfo {
10290        field_def_num: 253,
10291        name: "timestamp",
10292        type_name: "date_time",
10293        array: None,
10294        scale: None,
10295        offset: None,
10296        units: Some("s"),
10297        components: &[],
10298        sub_fields: &[],
10299        accumulate: false,
10300    },
10301    FieldInfo {
10302        field_def_num: 0,
10303        name: "timestamp_ms",
10304        type_name: "uint16",
10305        array: None,
10306        scale: None,
10307        offset: None,
10308        units: Some("ms"),
10309        components: &[],
10310        sub_fields: &[],
10311        accumulate: false,
10312    },
10313    FieldInfo {
10314        field_def_num: 1,
10315        name: "sample_time_offset",
10316        type_name: "uint16",
10317        array: Some("[N]"),
10318        scale: None,
10319        offset: None,
10320        units: Some("ms"),
10321        components: &[],
10322        sub_fields: &[],
10323        accumulate: false,
10324    },
10325    FieldInfo {
10326        field_def_num: 2,
10327        name: "gyro_x",
10328        type_name: "uint16",
10329        array: Some("[N]"),
10330        scale: None,
10331        offset: None,
10332        units: Some("counts"),
10333        components: &[],
10334        sub_fields: &[],
10335        accumulate: false,
10336    },
10337    FieldInfo {
10338        field_def_num: 3,
10339        name: "gyro_y",
10340        type_name: "uint16",
10341        array: Some("[N]"),
10342        scale: None,
10343        offset: None,
10344        units: Some("counts"),
10345        components: &[],
10346        sub_fields: &[],
10347        accumulate: false,
10348    },
10349    FieldInfo {
10350        field_def_num: 4,
10351        name: "gyro_z",
10352        type_name: "uint16",
10353        array: Some("[N]"),
10354        scale: None,
10355        offset: None,
10356        units: Some("counts"),
10357        components: &[],
10358        sub_fields: &[],
10359        accumulate: false,
10360    },
10361    FieldInfo {
10362        field_def_num: 5,
10363        name: "calibrated_gyro_x",
10364        type_name: "float32",
10365        array: Some("[N]"),
10366        scale: None,
10367        offset: None,
10368        units: Some("deg/s"),
10369        components: &[],
10370        sub_fields: &[],
10371        accumulate: false,
10372    },
10373    FieldInfo {
10374        field_def_num: 6,
10375        name: "calibrated_gyro_y",
10376        type_name: "float32",
10377        array: Some("[N]"),
10378        scale: None,
10379        offset: None,
10380        units: Some("deg/s"),
10381        components: &[],
10382        sub_fields: &[],
10383        accumulate: false,
10384    },
10385    FieldInfo {
10386        field_def_num: 7,
10387        name: "calibrated_gyro_z",
10388        type_name: "float32",
10389        array: Some("[N]"),
10390        scale: None,
10391        offset: None,
10392        units: Some("deg/s"),
10393        components: &[],
10394        sub_fields: &[],
10395        accumulate: false,
10396    },
10397];
10398
10399pub static MESG_GYROSCOPE_DATA: MesgInfo = MesgInfo {
10400    name: "gyroscope_data",
10401    fields: FIELDS_GYROSCOPE_DATA,
10402};
10403
10404static FIELDS_ACCELEROMETER_DATA: &[FieldInfo] = &[
10405    FieldInfo {
10406        field_def_num: 253,
10407        name: "timestamp",
10408        type_name: "date_time",
10409        array: None,
10410        scale: None,
10411        offset: None,
10412        units: Some("s"),
10413        components: &[],
10414        sub_fields: &[],
10415        accumulate: false,
10416    },
10417    FieldInfo {
10418        field_def_num: 0,
10419        name: "timestamp_ms",
10420        type_name: "uint16",
10421        array: None,
10422        scale: None,
10423        offset: None,
10424        units: Some("ms"),
10425        components: &[],
10426        sub_fields: &[],
10427        accumulate: false,
10428    },
10429    FieldInfo {
10430        field_def_num: 1,
10431        name: "sample_time_offset",
10432        type_name: "uint16",
10433        array: Some("[N]"),
10434        scale: None,
10435        offset: None,
10436        units: Some("ms"),
10437        components: &[],
10438        sub_fields: &[],
10439        accumulate: false,
10440    },
10441    FieldInfo {
10442        field_def_num: 2,
10443        name: "accel_x",
10444        type_name: "uint16",
10445        array: Some("[N]"),
10446        scale: None,
10447        offset: None,
10448        units: Some("counts"),
10449        components: &[],
10450        sub_fields: &[],
10451        accumulate: false,
10452    },
10453    FieldInfo {
10454        field_def_num: 3,
10455        name: "accel_y",
10456        type_name: "uint16",
10457        array: Some("[N]"),
10458        scale: None,
10459        offset: None,
10460        units: Some("counts"),
10461        components: &[],
10462        sub_fields: &[],
10463        accumulate: false,
10464    },
10465    FieldInfo {
10466        field_def_num: 4,
10467        name: "accel_z",
10468        type_name: "uint16",
10469        array: Some("[N]"),
10470        scale: None,
10471        offset: None,
10472        units: Some("counts"),
10473        components: &[],
10474        sub_fields: &[],
10475        accumulate: false,
10476    },
10477    FieldInfo {
10478        field_def_num: 5,
10479        name: "calibrated_accel_x",
10480        type_name: "float32",
10481        array: Some("[N]"),
10482        scale: None,
10483        offset: None,
10484        units: Some("g"),
10485        components: &[],
10486        sub_fields: &[],
10487        accumulate: false,
10488    },
10489    FieldInfo {
10490        field_def_num: 6,
10491        name: "calibrated_accel_y",
10492        type_name: "float32",
10493        array: Some("[N]"),
10494        scale: None,
10495        offset: None,
10496        units: Some("g"),
10497        components: &[],
10498        sub_fields: &[],
10499        accumulate: false,
10500    },
10501    FieldInfo {
10502        field_def_num: 7,
10503        name: "calibrated_accel_z",
10504        type_name: "float32",
10505        array: Some("[N]"),
10506        scale: None,
10507        offset: None,
10508        units: Some("g"),
10509        components: &[],
10510        sub_fields: &[],
10511        accumulate: false,
10512    },
10513    FieldInfo {
10514        field_def_num: 8,
10515        name: "compressed_calibrated_accel_x",
10516        type_name: "sint16",
10517        array: Some("[N]"),
10518        scale: None,
10519        offset: None,
10520        units: Some("mG"),
10521        components: &[],
10522        sub_fields: &[],
10523        accumulate: false,
10524    },
10525    FieldInfo {
10526        field_def_num: 9,
10527        name: "compressed_calibrated_accel_y",
10528        type_name: "sint16",
10529        array: Some("[N]"),
10530        scale: None,
10531        offset: None,
10532        units: Some("mG"),
10533        components: &[],
10534        sub_fields: &[],
10535        accumulate: false,
10536    },
10537    FieldInfo {
10538        field_def_num: 10,
10539        name: "compressed_calibrated_accel_z",
10540        type_name: "sint16",
10541        array: Some("[N]"),
10542        scale: None,
10543        offset: None,
10544        units: Some("mG"),
10545        components: &[],
10546        sub_fields: &[],
10547        accumulate: false,
10548    },
10549];
10550
10551pub static MESG_ACCELEROMETER_DATA: MesgInfo = MesgInfo {
10552    name: "accelerometer_data",
10553    fields: FIELDS_ACCELEROMETER_DATA,
10554};
10555
10556static FIELDS_MAGNETOMETER_DATA: &[FieldInfo] = &[
10557    FieldInfo {
10558        field_def_num: 253,
10559        name: "timestamp",
10560        type_name: "date_time",
10561        array: None,
10562        scale: None,
10563        offset: None,
10564        units: Some("s"),
10565        components: &[],
10566        sub_fields: &[],
10567        accumulate: false,
10568    },
10569    FieldInfo {
10570        field_def_num: 0,
10571        name: "timestamp_ms",
10572        type_name: "uint16",
10573        array: None,
10574        scale: None,
10575        offset: None,
10576        units: Some("ms"),
10577        components: &[],
10578        sub_fields: &[],
10579        accumulate: false,
10580    },
10581    FieldInfo {
10582        field_def_num: 1,
10583        name: "sample_time_offset",
10584        type_name: "uint16",
10585        array: Some("[N]"),
10586        scale: None,
10587        offset: None,
10588        units: Some("ms"),
10589        components: &[],
10590        sub_fields: &[],
10591        accumulate: false,
10592    },
10593    FieldInfo {
10594        field_def_num: 2,
10595        name: "mag_x",
10596        type_name: "uint16",
10597        array: Some("[N]"),
10598        scale: None,
10599        offset: None,
10600        units: Some("counts"),
10601        components: &[],
10602        sub_fields: &[],
10603        accumulate: false,
10604    },
10605    FieldInfo {
10606        field_def_num: 3,
10607        name: "mag_y",
10608        type_name: "uint16",
10609        array: Some("[N]"),
10610        scale: None,
10611        offset: None,
10612        units: Some("counts"),
10613        components: &[],
10614        sub_fields: &[],
10615        accumulate: false,
10616    },
10617    FieldInfo {
10618        field_def_num: 4,
10619        name: "mag_z",
10620        type_name: "uint16",
10621        array: Some("[N]"),
10622        scale: None,
10623        offset: None,
10624        units: Some("counts"),
10625        components: &[],
10626        sub_fields: &[],
10627        accumulate: false,
10628    },
10629    FieldInfo {
10630        field_def_num: 5,
10631        name: "calibrated_mag_x",
10632        type_name: "float32",
10633        array: Some("[N]"),
10634        scale: None,
10635        offset: None,
10636        units: Some("G"),
10637        components: &[],
10638        sub_fields: &[],
10639        accumulate: false,
10640    },
10641    FieldInfo {
10642        field_def_num: 6,
10643        name: "calibrated_mag_y",
10644        type_name: "float32",
10645        array: Some("[N]"),
10646        scale: None,
10647        offset: None,
10648        units: Some("G"),
10649        components: &[],
10650        sub_fields: &[],
10651        accumulate: false,
10652    },
10653    FieldInfo {
10654        field_def_num: 7,
10655        name: "calibrated_mag_z",
10656        type_name: "float32",
10657        array: Some("[N]"),
10658        scale: None,
10659        offset: None,
10660        units: Some("G"),
10661        components: &[],
10662        sub_fields: &[],
10663        accumulate: false,
10664    },
10665];
10666
10667pub static MESG_MAGNETOMETER_DATA: MesgInfo = MesgInfo {
10668    name: "magnetometer_data",
10669    fields: FIELDS_MAGNETOMETER_DATA,
10670};
10671
10672static FIELDS_BAROMETER_DATA: &[FieldInfo] = &[
10673    FieldInfo {
10674        field_def_num: 253,
10675        name: "timestamp",
10676        type_name: "date_time",
10677        array: None,
10678        scale: None,
10679        offset: None,
10680        units: Some("s"),
10681        components: &[],
10682        sub_fields: &[],
10683        accumulate: false,
10684    },
10685    FieldInfo {
10686        field_def_num: 0,
10687        name: "timestamp_ms",
10688        type_name: "uint16",
10689        array: None,
10690        scale: None,
10691        offset: None,
10692        units: Some("ms"),
10693        components: &[],
10694        sub_fields: &[],
10695        accumulate: false,
10696    },
10697    FieldInfo {
10698        field_def_num: 1,
10699        name: "sample_time_offset",
10700        type_name: "uint16",
10701        array: Some("[N]"),
10702        scale: None,
10703        offset: None,
10704        units: Some("ms"),
10705        components: &[],
10706        sub_fields: &[],
10707        accumulate: false,
10708    },
10709    FieldInfo {
10710        field_def_num: 2,
10711        name: "baro_pres",
10712        type_name: "uint32",
10713        array: Some("[N]"),
10714        scale: None,
10715        offset: None,
10716        units: Some("Pa"),
10717        components: &[],
10718        sub_fields: &[],
10719        accumulate: false,
10720    },
10721];
10722
10723pub static MESG_BAROMETER_DATA: MesgInfo = MesgInfo {
10724    name: "barometer_data",
10725    fields: FIELDS_BAROMETER_DATA,
10726};
10727
10728static SUBFIELDS_THREE_D_SENSOR_CALIBRATION_2: &[SubField] = &[
10729    SubField {
10730        name: "accel_cal_factor",
10731        type_name: "uint32",
10732        conditions: &[("sensor_type", "accelerometer")],
10733        components: &[],
10734        scale: None,
10735        offset: None,
10736        units: Some("g"),
10737    },
10738    SubField {
10739        name: "gyro_cal_factor",
10740        type_name: "uint32",
10741        conditions: &[("sensor_type", "gyroscope")],
10742        components: &[],
10743        scale: None,
10744        offset: None,
10745        units: Some("deg/s"),
10746    },
10747];
10748static FIELDS_THREE_D_SENSOR_CALIBRATION: &[FieldInfo] = &[
10749    FieldInfo {
10750        field_def_num: 253,
10751        name: "timestamp",
10752        type_name: "date_time",
10753        array: None,
10754        scale: None,
10755        offset: None,
10756        units: Some("s"),
10757        components: &[],
10758        sub_fields: &[],
10759        accumulate: false,
10760    },
10761    FieldInfo {
10762        field_def_num: 0,
10763        name: "sensor_type",
10764        type_name: "sensor_type",
10765        array: None,
10766        scale: None,
10767        offset: None,
10768        units: None,
10769        components: &[],
10770        sub_fields: &[],
10771        accumulate: false,
10772    },
10773    FieldInfo {
10774        field_def_num: 1,
10775        name: "calibration_factor",
10776        type_name: "uint32",
10777        array: None,
10778        scale: None,
10779        offset: None,
10780        units: None,
10781        components: &[],
10782        sub_fields: SUBFIELDS_THREE_D_SENSOR_CALIBRATION_2,
10783        accumulate: false,
10784    },
10785    FieldInfo {
10786        field_def_num: 2,
10787        name: "calibration_divisor",
10788        type_name: "uint32",
10789        array: None,
10790        scale: None,
10791        offset: None,
10792        units: Some("counts"),
10793        components: &[],
10794        sub_fields: &[],
10795        accumulate: false,
10796    },
10797    FieldInfo {
10798        field_def_num: 3,
10799        name: "level_shift",
10800        type_name: "uint32",
10801        array: None,
10802        scale: None,
10803        offset: None,
10804        units: None,
10805        components: &[],
10806        sub_fields: &[],
10807        accumulate: false,
10808    },
10809    FieldInfo {
10810        field_def_num: 4,
10811        name: "offset_cal",
10812        type_name: "sint32",
10813        array: Some("[3]"),
10814        scale: None,
10815        offset: None,
10816        units: None,
10817        components: &[],
10818        sub_fields: &[],
10819        accumulate: false,
10820    },
10821    FieldInfo {
10822        field_def_num: 5,
10823        name: "orientation_matrix",
10824        type_name: "sint32",
10825        array: Some("[9]"),
10826        scale: Some(65535_f64),
10827        offset: None,
10828        units: None,
10829        components: &[],
10830        sub_fields: &[],
10831        accumulate: false,
10832    },
10833];
10834
10835pub static MESG_THREE_D_SENSOR_CALIBRATION: MesgInfo = MesgInfo {
10836    name: "three_d_sensor_calibration",
10837    fields: FIELDS_THREE_D_SENSOR_CALIBRATION,
10838};
10839
10840static SUBFIELDS_ONE_D_SENSOR_CALIBRATION_2: &[SubField] = &[SubField {
10841    name: "baro_cal_factor",
10842    type_name: "uint32",
10843    conditions: &[("sensor_type", "barometer")],
10844    components: &[],
10845    scale: None,
10846    offset: None,
10847    units: Some("Pa"),
10848}];
10849static FIELDS_ONE_D_SENSOR_CALIBRATION: &[FieldInfo] = &[
10850    FieldInfo {
10851        field_def_num: 253,
10852        name: "timestamp",
10853        type_name: "date_time",
10854        array: None,
10855        scale: None,
10856        offset: None,
10857        units: Some("s"),
10858        components: &[],
10859        sub_fields: &[],
10860        accumulate: false,
10861    },
10862    FieldInfo {
10863        field_def_num: 0,
10864        name: "sensor_type",
10865        type_name: "sensor_type",
10866        array: None,
10867        scale: None,
10868        offset: None,
10869        units: None,
10870        components: &[],
10871        sub_fields: &[],
10872        accumulate: false,
10873    },
10874    FieldInfo {
10875        field_def_num: 1,
10876        name: "calibration_factor",
10877        type_name: "uint32",
10878        array: None,
10879        scale: None,
10880        offset: None,
10881        units: None,
10882        components: &[],
10883        sub_fields: SUBFIELDS_ONE_D_SENSOR_CALIBRATION_2,
10884        accumulate: false,
10885    },
10886    FieldInfo {
10887        field_def_num: 2,
10888        name: "calibration_divisor",
10889        type_name: "uint32",
10890        array: None,
10891        scale: None,
10892        offset: None,
10893        units: Some("counts"),
10894        components: &[],
10895        sub_fields: &[],
10896        accumulate: false,
10897    },
10898    FieldInfo {
10899        field_def_num: 3,
10900        name: "level_shift",
10901        type_name: "uint32",
10902        array: None,
10903        scale: None,
10904        offset: None,
10905        units: None,
10906        components: &[],
10907        sub_fields: &[],
10908        accumulate: false,
10909    },
10910    FieldInfo {
10911        field_def_num: 4,
10912        name: "offset_cal",
10913        type_name: "sint32",
10914        array: None,
10915        scale: None,
10916        offset: None,
10917        units: None,
10918        components: &[],
10919        sub_fields: &[],
10920        accumulate: false,
10921    },
10922];
10923
10924pub static MESG_ONE_D_SENSOR_CALIBRATION: MesgInfo = MesgInfo {
10925    name: "one_d_sensor_calibration",
10926    fields: FIELDS_ONE_D_SENSOR_CALIBRATION,
10927};
10928
10929static FIELDS_VIDEO_FRAME: &[FieldInfo] = &[
10930    FieldInfo {
10931        field_def_num: 253,
10932        name: "timestamp",
10933        type_name: "date_time",
10934        array: None,
10935        scale: None,
10936        offset: None,
10937        units: Some("s"),
10938        components: &[],
10939        sub_fields: &[],
10940        accumulate: false,
10941    },
10942    FieldInfo {
10943        field_def_num: 0,
10944        name: "timestamp_ms",
10945        type_name: "uint16",
10946        array: None,
10947        scale: None,
10948        offset: None,
10949        units: Some("ms"),
10950        components: &[],
10951        sub_fields: &[],
10952        accumulate: false,
10953    },
10954    FieldInfo {
10955        field_def_num: 1,
10956        name: "frame_number",
10957        type_name: "uint32",
10958        array: None,
10959        scale: None,
10960        offset: None,
10961        units: None,
10962        components: &[],
10963        sub_fields: &[],
10964        accumulate: false,
10965    },
10966];
10967
10968pub static MESG_VIDEO_FRAME: MesgInfo = MesgInfo {
10969    name: "video_frame",
10970    fields: FIELDS_VIDEO_FRAME,
10971};
10972
10973static FIELDS_OBDII_DATA: &[FieldInfo] = &[
10974    FieldInfo {
10975        field_def_num: 253,
10976        name: "timestamp",
10977        type_name: "date_time",
10978        array: None,
10979        scale: None,
10980        offset: None,
10981        units: Some("s"),
10982        components: &[],
10983        sub_fields: &[],
10984        accumulate: false,
10985    },
10986    FieldInfo {
10987        field_def_num: 0,
10988        name: "timestamp_ms",
10989        type_name: "uint16",
10990        array: None,
10991        scale: None,
10992        offset: None,
10993        units: Some("ms"),
10994        components: &[],
10995        sub_fields: &[],
10996        accumulate: false,
10997    },
10998    FieldInfo {
10999        field_def_num: 1,
11000        name: "time_offset",
11001        type_name: "uint16",
11002        array: Some("[N]"),
11003        scale: None,
11004        offset: None,
11005        units: Some("ms"),
11006        components: &[],
11007        sub_fields: &[],
11008        accumulate: false,
11009    },
11010    FieldInfo {
11011        field_def_num: 2,
11012        name: "pid",
11013        type_name: "byte",
11014        array: None,
11015        scale: None,
11016        offset: None,
11017        units: None,
11018        components: &[],
11019        sub_fields: &[],
11020        accumulate: false,
11021    },
11022    FieldInfo {
11023        field_def_num: 3,
11024        name: "raw_data",
11025        type_name: "byte",
11026        array: Some("[N]"),
11027        scale: None,
11028        offset: None,
11029        units: None,
11030        components: &[],
11031        sub_fields: &[],
11032        accumulate: false,
11033    },
11034    FieldInfo {
11035        field_def_num: 4,
11036        name: "pid_data_size",
11037        type_name: "uint8",
11038        array: Some("[N]"),
11039        scale: None,
11040        offset: None,
11041        units: None,
11042        components: &[],
11043        sub_fields: &[],
11044        accumulate: false,
11045    },
11046    FieldInfo {
11047        field_def_num: 5,
11048        name: "system_time",
11049        type_name: "uint32",
11050        array: Some("[N]"),
11051        scale: None,
11052        offset: None,
11053        units: None,
11054        components: &[],
11055        sub_fields: &[],
11056        accumulate: false,
11057    },
11058    FieldInfo {
11059        field_def_num: 6,
11060        name: "start_timestamp",
11061        type_name: "date_time",
11062        array: None,
11063        scale: None,
11064        offset: None,
11065        units: None,
11066        components: &[],
11067        sub_fields: &[],
11068        accumulate: false,
11069    },
11070    FieldInfo {
11071        field_def_num: 7,
11072        name: "start_timestamp_ms",
11073        type_name: "uint16",
11074        array: None,
11075        scale: None,
11076        offset: None,
11077        units: Some("ms"),
11078        components: &[],
11079        sub_fields: &[],
11080        accumulate: false,
11081    },
11082];
11083
11084pub static MESG_OBDII_DATA: MesgInfo = MesgInfo {
11085    name: "obdii_data",
11086    fields: FIELDS_OBDII_DATA,
11087};
11088
11089static FIELDS_NMEA_SENTENCE: &[FieldInfo] = &[
11090    FieldInfo {
11091        field_def_num: 253,
11092        name: "timestamp",
11093        type_name: "date_time",
11094        array: None,
11095        scale: None,
11096        offset: None,
11097        units: Some("s"),
11098        components: &[],
11099        sub_fields: &[],
11100        accumulate: false,
11101    },
11102    FieldInfo {
11103        field_def_num: 0,
11104        name: "timestamp_ms",
11105        type_name: "uint16",
11106        array: None,
11107        scale: None,
11108        offset: None,
11109        units: Some("ms"),
11110        components: &[],
11111        sub_fields: &[],
11112        accumulate: false,
11113    },
11114    FieldInfo {
11115        field_def_num: 1,
11116        name: "sentence",
11117        type_name: "string",
11118        array: None,
11119        scale: None,
11120        offset: None,
11121        units: None,
11122        components: &[],
11123        sub_fields: &[],
11124        accumulate: false,
11125    },
11126];
11127
11128pub static MESG_NMEA_SENTENCE: MesgInfo = MesgInfo {
11129    name: "nmea_sentence",
11130    fields: FIELDS_NMEA_SENTENCE,
11131};
11132
11133static FIELDS_AVIATION_ATTITUDE: &[FieldInfo] = &[
11134    FieldInfo {
11135        field_def_num: 253,
11136        name: "timestamp",
11137        type_name: "date_time",
11138        array: None,
11139        scale: None,
11140        offset: None,
11141        units: Some("s"),
11142        components: &[],
11143        sub_fields: &[],
11144        accumulate: false,
11145    },
11146    FieldInfo {
11147        field_def_num: 0,
11148        name: "timestamp_ms",
11149        type_name: "uint16",
11150        array: None,
11151        scale: None,
11152        offset: None,
11153        units: Some("ms"),
11154        components: &[],
11155        sub_fields: &[],
11156        accumulate: false,
11157    },
11158    FieldInfo {
11159        field_def_num: 1,
11160        name: "system_time",
11161        type_name: "uint32",
11162        array: Some("[N]"),
11163        scale: None,
11164        offset: None,
11165        units: Some("ms"),
11166        components: &[],
11167        sub_fields: &[],
11168        accumulate: false,
11169    },
11170    FieldInfo {
11171        field_def_num: 2,
11172        name: "pitch",
11173        type_name: "sint16",
11174        array: Some("[N]"),
11175        scale: Some(10430.38_f64),
11176        offset: None,
11177        units: Some("radians"),
11178        components: &[],
11179        sub_fields: &[],
11180        accumulate: false,
11181    },
11182    FieldInfo {
11183        field_def_num: 3,
11184        name: "roll",
11185        type_name: "sint16",
11186        array: Some("[N]"),
11187        scale: Some(10430.38_f64),
11188        offset: None,
11189        units: Some("radians"),
11190        components: &[],
11191        sub_fields: &[],
11192        accumulate: false,
11193    },
11194    FieldInfo {
11195        field_def_num: 4,
11196        name: "accel_lateral",
11197        type_name: "sint16",
11198        array: Some("[N]"),
11199        scale: Some(100_f64),
11200        offset: None,
11201        units: Some("m/s^2"),
11202        components: &[],
11203        sub_fields: &[],
11204        accumulate: false,
11205    },
11206    FieldInfo {
11207        field_def_num: 5,
11208        name: "accel_normal",
11209        type_name: "sint16",
11210        array: Some("[N]"),
11211        scale: Some(100_f64),
11212        offset: None,
11213        units: Some("m/s^2"),
11214        components: &[],
11215        sub_fields: &[],
11216        accumulate: false,
11217    },
11218    FieldInfo {
11219        field_def_num: 6,
11220        name: "turn_rate",
11221        type_name: "sint16",
11222        array: Some("[N]"),
11223        scale: Some(1024_f64),
11224        offset: None,
11225        units: Some("radians/second"),
11226        components: &[],
11227        sub_fields: &[],
11228        accumulate: false,
11229    },
11230    FieldInfo {
11231        field_def_num: 7,
11232        name: "stage",
11233        type_name: "attitude_stage",
11234        array: Some("[N]"),
11235        scale: None,
11236        offset: None,
11237        units: None,
11238        components: &[],
11239        sub_fields: &[],
11240        accumulate: false,
11241    },
11242    FieldInfo {
11243        field_def_num: 8,
11244        name: "attitude_stage_complete",
11245        type_name: "uint8",
11246        array: Some("[N]"),
11247        scale: None,
11248        offset: None,
11249        units: Some("%"),
11250        components: &[],
11251        sub_fields: &[],
11252        accumulate: false,
11253    },
11254    FieldInfo {
11255        field_def_num: 9,
11256        name: "track",
11257        type_name: "uint16",
11258        array: Some("[N]"),
11259        scale: Some(10430.38_f64),
11260        offset: None,
11261        units: Some("radians"),
11262        components: &[],
11263        sub_fields: &[],
11264        accumulate: false,
11265    },
11266    FieldInfo {
11267        field_def_num: 10,
11268        name: "validity",
11269        type_name: "attitude_validity",
11270        array: Some("[N]"),
11271        scale: None,
11272        offset: None,
11273        units: None,
11274        components: &[],
11275        sub_fields: &[],
11276        accumulate: false,
11277    },
11278];
11279
11280pub static MESG_AVIATION_ATTITUDE: MesgInfo = MesgInfo {
11281    name: "aviation_attitude",
11282    fields: FIELDS_AVIATION_ATTITUDE,
11283};
11284
11285static FIELDS_VIDEO: &[FieldInfo] = &[
11286    FieldInfo {
11287        field_def_num: 0,
11288        name: "url",
11289        type_name: "string",
11290        array: None,
11291        scale: None,
11292        offset: None,
11293        units: None,
11294        components: &[],
11295        sub_fields: &[],
11296        accumulate: false,
11297    },
11298    FieldInfo {
11299        field_def_num: 1,
11300        name: "hosting_provider",
11301        type_name: "string",
11302        array: None,
11303        scale: None,
11304        offset: None,
11305        units: None,
11306        components: &[],
11307        sub_fields: &[],
11308        accumulate: false,
11309    },
11310    FieldInfo {
11311        field_def_num: 2,
11312        name: "duration",
11313        type_name: "uint32",
11314        array: None,
11315        scale: None,
11316        offset: None,
11317        units: Some("ms"),
11318        components: &[],
11319        sub_fields: &[],
11320        accumulate: false,
11321    },
11322];
11323
11324pub static MESG_VIDEO: MesgInfo = MesgInfo {
11325    name: "video",
11326    fields: FIELDS_VIDEO,
11327};
11328
11329static FIELDS_VIDEO_TITLE: &[FieldInfo] = &[
11330    FieldInfo {
11331        field_def_num: 254,
11332        name: "message_index",
11333        type_name: "message_index",
11334        array: None,
11335        scale: None,
11336        offset: None,
11337        units: None,
11338        components: &[],
11339        sub_fields: &[],
11340        accumulate: false,
11341    },
11342    FieldInfo {
11343        field_def_num: 0,
11344        name: "message_count",
11345        type_name: "uint16",
11346        array: None,
11347        scale: None,
11348        offset: None,
11349        units: None,
11350        components: &[],
11351        sub_fields: &[],
11352        accumulate: false,
11353    },
11354    FieldInfo {
11355        field_def_num: 1,
11356        name: "text",
11357        type_name: "string",
11358        array: None,
11359        scale: None,
11360        offset: None,
11361        units: None,
11362        components: &[],
11363        sub_fields: &[],
11364        accumulate: false,
11365    },
11366];
11367
11368pub static MESG_VIDEO_TITLE: MesgInfo = MesgInfo {
11369    name: "video_title",
11370    fields: FIELDS_VIDEO_TITLE,
11371};
11372
11373static FIELDS_VIDEO_DESCRIPTION: &[FieldInfo] = &[
11374    FieldInfo {
11375        field_def_num: 254,
11376        name: "message_index",
11377        type_name: "message_index",
11378        array: None,
11379        scale: None,
11380        offset: None,
11381        units: None,
11382        components: &[],
11383        sub_fields: &[],
11384        accumulate: false,
11385    },
11386    FieldInfo {
11387        field_def_num: 0,
11388        name: "message_count",
11389        type_name: "uint16",
11390        array: None,
11391        scale: None,
11392        offset: None,
11393        units: None,
11394        components: &[],
11395        sub_fields: &[],
11396        accumulate: false,
11397    },
11398    FieldInfo {
11399        field_def_num: 1,
11400        name: "text",
11401        type_name: "string",
11402        array: None,
11403        scale: None,
11404        offset: None,
11405        units: None,
11406        components: &[],
11407        sub_fields: &[],
11408        accumulate: false,
11409    },
11410];
11411
11412pub static MESG_VIDEO_DESCRIPTION: MesgInfo = MesgInfo {
11413    name: "video_description",
11414    fields: FIELDS_VIDEO_DESCRIPTION,
11415};
11416
11417static FIELDS_VIDEO_CLIP: &[FieldInfo] = &[
11418    FieldInfo {
11419        field_def_num: 0,
11420        name: "clip_number",
11421        type_name: "uint16",
11422        array: None,
11423        scale: None,
11424        offset: None,
11425        units: None,
11426        components: &[],
11427        sub_fields: &[],
11428        accumulate: false,
11429    },
11430    FieldInfo {
11431        field_def_num: 1,
11432        name: "start_timestamp",
11433        type_name: "date_time",
11434        array: None,
11435        scale: None,
11436        offset: None,
11437        units: None,
11438        components: &[],
11439        sub_fields: &[],
11440        accumulate: false,
11441    },
11442    FieldInfo {
11443        field_def_num: 2,
11444        name: "start_timestamp_ms",
11445        type_name: "uint16",
11446        array: None,
11447        scale: None,
11448        offset: None,
11449        units: None,
11450        components: &[],
11451        sub_fields: &[],
11452        accumulate: false,
11453    },
11454    FieldInfo {
11455        field_def_num: 3,
11456        name: "end_timestamp",
11457        type_name: "date_time",
11458        array: None,
11459        scale: None,
11460        offset: None,
11461        units: None,
11462        components: &[],
11463        sub_fields: &[],
11464        accumulate: false,
11465    },
11466    FieldInfo {
11467        field_def_num: 4,
11468        name: "end_timestamp_ms",
11469        type_name: "uint16",
11470        array: None,
11471        scale: None,
11472        offset: None,
11473        units: None,
11474        components: &[],
11475        sub_fields: &[],
11476        accumulate: false,
11477    },
11478    FieldInfo {
11479        field_def_num: 6,
11480        name: "clip_start",
11481        type_name: "uint32",
11482        array: None,
11483        scale: None,
11484        offset: None,
11485        units: Some("ms"),
11486        components: &[],
11487        sub_fields: &[],
11488        accumulate: false,
11489    },
11490    FieldInfo {
11491        field_def_num: 7,
11492        name: "clip_end",
11493        type_name: "uint32",
11494        array: None,
11495        scale: None,
11496        offset: None,
11497        units: Some("ms"),
11498        components: &[],
11499        sub_fields: &[],
11500        accumulate: false,
11501    },
11502];
11503
11504pub static MESG_VIDEO_CLIP: MesgInfo = MesgInfo {
11505    name: "video_clip",
11506    fields: FIELDS_VIDEO_CLIP,
11507};
11508
11509static FIELDS_SET: &[FieldInfo] = &[
11510    FieldInfo {
11511        field_def_num: 254,
11512        name: "timestamp",
11513        type_name: "date_time",
11514        array: None,
11515        scale: None,
11516        offset: None,
11517        units: None,
11518        components: &[],
11519        sub_fields: &[],
11520        accumulate: false,
11521    },
11522    FieldInfo {
11523        field_def_num: 0,
11524        name: "duration",
11525        type_name: "uint32",
11526        array: None,
11527        scale: Some(1000_f64),
11528        offset: None,
11529        units: Some("s"),
11530        components: &[],
11531        sub_fields: &[],
11532        accumulate: false,
11533    },
11534    FieldInfo {
11535        field_def_num: 3,
11536        name: "repetitions",
11537        type_name: "uint16",
11538        array: None,
11539        scale: None,
11540        offset: None,
11541        units: None,
11542        components: &[],
11543        sub_fields: &[],
11544        accumulate: false,
11545    },
11546    FieldInfo {
11547        field_def_num: 4,
11548        name: "weight",
11549        type_name: "uint16",
11550        array: None,
11551        scale: Some(16_f64),
11552        offset: None,
11553        units: Some("kg"),
11554        components: &[],
11555        sub_fields: &[],
11556        accumulate: false,
11557    },
11558    FieldInfo {
11559        field_def_num: 5,
11560        name: "set_type",
11561        type_name: "set_type",
11562        array: None,
11563        scale: None,
11564        offset: None,
11565        units: None,
11566        components: &[],
11567        sub_fields: &[],
11568        accumulate: false,
11569    },
11570    FieldInfo {
11571        field_def_num: 6,
11572        name: "start_time",
11573        type_name: "date_time",
11574        array: None,
11575        scale: None,
11576        offset: None,
11577        units: None,
11578        components: &[],
11579        sub_fields: &[],
11580        accumulate: false,
11581    },
11582    FieldInfo {
11583        field_def_num: 7,
11584        name: "category",
11585        type_name: "exercise_category",
11586        array: Some("[N]"),
11587        scale: None,
11588        offset: None,
11589        units: None,
11590        components: &[],
11591        sub_fields: &[],
11592        accumulate: false,
11593    },
11594    FieldInfo {
11595        field_def_num: 8,
11596        name: "category_subtype",
11597        type_name: "uint16",
11598        array: Some("[N]"),
11599        scale: None,
11600        offset: None,
11601        units: None,
11602        components: &[],
11603        sub_fields: &[],
11604        accumulate: false,
11605    },
11606    FieldInfo {
11607        field_def_num: 9,
11608        name: "weight_display_unit",
11609        type_name: "fit_base_unit",
11610        array: None,
11611        scale: None,
11612        offset: None,
11613        units: None,
11614        components: &[],
11615        sub_fields: &[],
11616        accumulate: false,
11617    },
11618    FieldInfo {
11619        field_def_num: 10,
11620        name: "message_index",
11621        type_name: "message_index",
11622        array: None,
11623        scale: None,
11624        offset: None,
11625        units: None,
11626        components: &[],
11627        sub_fields: &[],
11628        accumulate: false,
11629    },
11630    FieldInfo {
11631        field_def_num: 11,
11632        name: "wkt_step_index",
11633        type_name: "message_index",
11634        array: None,
11635        scale: None,
11636        offset: None,
11637        units: None,
11638        components: &[],
11639        sub_fields: &[],
11640        accumulate: false,
11641    },
11642];
11643
11644pub static MESG_SET: MesgInfo = MesgInfo {
11645    name: "set",
11646    fields: FIELDS_SET,
11647};
11648
11649static COMPONENTS_JUMP_8: &[Component] = &[Component {
11650    name: "enhanced_speed",
11651    bits: 16,
11652    scale: None,
11653    offset: None,
11654    units: None,
11655    accumulate: false,
11656}];
11657static FIELDS_JUMP: &[FieldInfo] = &[
11658    FieldInfo {
11659        field_def_num: 253,
11660        name: "timestamp",
11661        type_name: "date_time",
11662        array: None,
11663        scale: None,
11664        offset: None,
11665        units: Some("s"),
11666        components: &[],
11667        sub_fields: &[],
11668        accumulate: false,
11669    },
11670    FieldInfo {
11671        field_def_num: 0,
11672        name: "distance",
11673        type_name: "float32",
11674        array: None,
11675        scale: None,
11676        offset: None,
11677        units: Some("m"),
11678        components: &[],
11679        sub_fields: &[],
11680        accumulate: false,
11681    },
11682    FieldInfo {
11683        field_def_num: 1,
11684        name: "height",
11685        type_name: "float32",
11686        array: None,
11687        scale: None,
11688        offset: None,
11689        units: Some("m"),
11690        components: &[],
11691        sub_fields: &[],
11692        accumulate: false,
11693    },
11694    FieldInfo {
11695        field_def_num: 2,
11696        name: "rotations",
11697        type_name: "uint8",
11698        array: None,
11699        scale: None,
11700        offset: None,
11701        units: None,
11702        components: &[],
11703        sub_fields: &[],
11704        accumulate: false,
11705    },
11706    FieldInfo {
11707        field_def_num: 3,
11708        name: "hang_time",
11709        type_name: "float32",
11710        array: None,
11711        scale: None,
11712        offset: None,
11713        units: Some("s"),
11714        components: &[],
11715        sub_fields: &[],
11716        accumulate: false,
11717    },
11718    FieldInfo {
11719        field_def_num: 4,
11720        name: "score",
11721        type_name: "float32",
11722        array: None,
11723        scale: None,
11724        offset: None,
11725        units: None,
11726        components: &[],
11727        sub_fields: &[],
11728        accumulate: false,
11729    },
11730    FieldInfo {
11731        field_def_num: 5,
11732        name: "position_lat",
11733        type_name: "sint32",
11734        array: None,
11735        scale: None,
11736        offset: None,
11737        units: Some("semicircles"),
11738        components: &[],
11739        sub_fields: &[],
11740        accumulate: false,
11741    },
11742    FieldInfo {
11743        field_def_num: 6,
11744        name: "position_long",
11745        type_name: "sint32",
11746        array: None,
11747        scale: None,
11748        offset: None,
11749        units: Some("semicircles"),
11750        components: &[],
11751        sub_fields: &[],
11752        accumulate: false,
11753    },
11754    FieldInfo {
11755        field_def_num: 7,
11756        name: "speed",
11757        type_name: "uint16",
11758        array: None,
11759        scale: Some(1000_f64),
11760        offset: None,
11761        units: Some("m/s"),
11762        components: COMPONENTS_JUMP_8,
11763        sub_fields: &[],
11764        accumulate: false,
11765    },
11766    FieldInfo {
11767        field_def_num: 8,
11768        name: "enhanced_speed",
11769        type_name: "uint32",
11770        array: None,
11771        scale: Some(1000_f64),
11772        offset: None,
11773        units: Some("m/s"),
11774        components: &[],
11775        sub_fields: &[],
11776        accumulate: false,
11777    },
11778];
11779
11780pub static MESG_JUMP: MesgInfo = MesgInfo {
11781    name: "jump",
11782    fields: FIELDS_JUMP,
11783};
11784
11785static FIELDS_SPLIT: &[FieldInfo] = &[
11786    FieldInfo {
11787        field_def_num: 254,
11788        name: "message_index",
11789        type_name: "message_index",
11790        array: None,
11791        scale: None,
11792        offset: None,
11793        units: None,
11794        components: &[],
11795        sub_fields: &[],
11796        accumulate: false,
11797    },
11798    FieldInfo {
11799        field_def_num: 0,
11800        name: "split_type",
11801        type_name: "split_type",
11802        array: None,
11803        scale: None,
11804        offset: None,
11805        units: None,
11806        components: &[],
11807        sub_fields: &[],
11808        accumulate: false,
11809    },
11810    FieldInfo {
11811        field_def_num: 1,
11812        name: "total_elapsed_time",
11813        type_name: "uint32",
11814        array: None,
11815        scale: Some(1000_f64),
11816        offset: None,
11817        units: Some("s"),
11818        components: &[],
11819        sub_fields: &[],
11820        accumulate: false,
11821    },
11822    FieldInfo {
11823        field_def_num: 2,
11824        name: "total_timer_time",
11825        type_name: "uint32",
11826        array: None,
11827        scale: Some(1000_f64),
11828        offset: None,
11829        units: Some("s"),
11830        components: &[],
11831        sub_fields: &[],
11832        accumulate: false,
11833    },
11834    FieldInfo {
11835        field_def_num: 3,
11836        name: "total_distance",
11837        type_name: "uint32",
11838        array: None,
11839        scale: Some(100_f64),
11840        offset: None,
11841        units: Some("m"),
11842        components: &[],
11843        sub_fields: &[],
11844        accumulate: false,
11845    },
11846    FieldInfo {
11847        field_def_num: 4,
11848        name: "avg_speed",
11849        type_name: "uint32",
11850        array: None,
11851        scale: Some(1000_f64),
11852        offset: None,
11853        units: Some("m/s"),
11854        components: &[],
11855        sub_fields: &[],
11856        accumulate: false,
11857    },
11858    FieldInfo {
11859        field_def_num: 9,
11860        name: "start_time",
11861        type_name: "date_time",
11862        array: None,
11863        scale: None,
11864        offset: None,
11865        units: None,
11866        components: &[],
11867        sub_fields: &[],
11868        accumulate: false,
11869    },
11870    FieldInfo {
11871        field_def_num: 13,
11872        name: "total_ascent",
11873        type_name: "uint16",
11874        array: None,
11875        scale: None,
11876        offset: None,
11877        units: Some("m"),
11878        components: &[],
11879        sub_fields: &[],
11880        accumulate: false,
11881    },
11882    FieldInfo {
11883        field_def_num: 14,
11884        name: "total_descent",
11885        type_name: "uint16",
11886        array: None,
11887        scale: None,
11888        offset: None,
11889        units: Some("m"),
11890        components: &[],
11891        sub_fields: &[],
11892        accumulate: false,
11893    },
11894    FieldInfo {
11895        field_def_num: 21,
11896        name: "start_position_lat",
11897        type_name: "sint32",
11898        array: None,
11899        scale: None,
11900        offset: None,
11901        units: Some("semicircles"),
11902        components: &[],
11903        sub_fields: &[],
11904        accumulate: false,
11905    },
11906    FieldInfo {
11907        field_def_num: 22,
11908        name: "start_position_long",
11909        type_name: "sint32",
11910        array: None,
11911        scale: None,
11912        offset: None,
11913        units: Some("semicircles"),
11914        components: &[],
11915        sub_fields: &[],
11916        accumulate: false,
11917    },
11918    FieldInfo {
11919        field_def_num: 23,
11920        name: "end_position_lat",
11921        type_name: "sint32",
11922        array: None,
11923        scale: None,
11924        offset: None,
11925        units: Some("semicircles"),
11926        components: &[],
11927        sub_fields: &[],
11928        accumulate: false,
11929    },
11930    FieldInfo {
11931        field_def_num: 24,
11932        name: "end_position_long",
11933        type_name: "sint32",
11934        array: None,
11935        scale: None,
11936        offset: None,
11937        units: Some("semicircles"),
11938        components: &[],
11939        sub_fields: &[],
11940        accumulate: false,
11941    },
11942    FieldInfo {
11943        field_def_num: 25,
11944        name: "max_speed",
11945        type_name: "uint32",
11946        array: None,
11947        scale: Some(1000_f64),
11948        offset: None,
11949        units: Some("m/s"),
11950        components: &[],
11951        sub_fields: &[],
11952        accumulate: false,
11953    },
11954    FieldInfo {
11955        field_def_num: 26,
11956        name: "avg_vert_speed",
11957        type_name: "sint32",
11958        array: None,
11959        scale: Some(1000_f64),
11960        offset: None,
11961        units: Some("m/s"),
11962        components: &[],
11963        sub_fields: &[],
11964        accumulate: false,
11965    },
11966    FieldInfo {
11967        field_def_num: 27,
11968        name: "end_time",
11969        type_name: "date_time",
11970        array: None,
11971        scale: None,
11972        offset: None,
11973        units: None,
11974        components: &[],
11975        sub_fields: &[],
11976        accumulate: false,
11977    },
11978    FieldInfo {
11979        field_def_num: 28,
11980        name: "total_calories",
11981        type_name: "uint32",
11982        array: None,
11983        scale: None,
11984        offset: None,
11985        units: Some("kcal"),
11986        components: &[],
11987        sub_fields: &[],
11988        accumulate: false,
11989    },
11990    FieldInfo {
11991        field_def_num: 74,
11992        name: "start_elevation",
11993        type_name: "uint32",
11994        array: None,
11995        scale: Some(5_f64),
11996        offset: Some(500_f64),
11997        units: Some("m"),
11998        components: &[],
11999        sub_fields: &[],
12000        accumulate: false,
12001    },
12002    FieldInfo {
12003        field_def_num: 110,
12004        name: "total_moving_time",
12005        type_name: "uint32",
12006        array: None,
12007        scale: Some(1000_f64),
12008        offset: None,
12009        units: Some("s"),
12010        components: &[],
12011        sub_fields: &[],
12012        accumulate: false,
12013    },
12014];
12015
12016pub static MESG_SPLIT: MesgInfo = MesgInfo {
12017    name: "split",
12018    fields: FIELDS_SPLIT,
12019};
12020
12021static FIELDS_SPLIT_SUMMARY: &[FieldInfo] = &[
12022    FieldInfo {
12023        field_def_num: 254,
12024        name: "message_index",
12025        type_name: "message_index",
12026        array: None,
12027        scale: None,
12028        offset: None,
12029        units: None,
12030        components: &[],
12031        sub_fields: &[],
12032        accumulate: false,
12033    },
12034    FieldInfo {
12035        field_def_num: 0,
12036        name: "split_type",
12037        type_name: "split_type",
12038        array: None,
12039        scale: None,
12040        offset: None,
12041        units: None,
12042        components: &[],
12043        sub_fields: &[],
12044        accumulate: false,
12045    },
12046    FieldInfo {
12047        field_def_num: 3,
12048        name: "num_splits",
12049        type_name: "uint16",
12050        array: None,
12051        scale: None,
12052        offset: None,
12053        units: None,
12054        components: &[],
12055        sub_fields: &[],
12056        accumulate: false,
12057    },
12058    FieldInfo {
12059        field_def_num: 4,
12060        name: "total_timer_time",
12061        type_name: "uint32",
12062        array: None,
12063        scale: Some(1000_f64),
12064        offset: None,
12065        units: Some("s"),
12066        components: &[],
12067        sub_fields: &[],
12068        accumulate: false,
12069    },
12070    FieldInfo {
12071        field_def_num: 5,
12072        name: "total_distance",
12073        type_name: "uint32",
12074        array: None,
12075        scale: Some(100_f64),
12076        offset: None,
12077        units: Some("m"),
12078        components: &[],
12079        sub_fields: &[],
12080        accumulate: false,
12081    },
12082    FieldInfo {
12083        field_def_num: 6,
12084        name: "avg_speed",
12085        type_name: "uint32",
12086        array: None,
12087        scale: Some(1000_f64),
12088        offset: None,
12089        units: Some("m/s"),
12090        components: &[],
12091        sub_fields: &[],
12092        accumulate: false,
12093    },
12094    FieldInfo {
12095        field_def_num: 7,
12096        name: "max_speed",
12097        type_name: "uint32",
12098        array: None,
12099        scale: Some(1000_f64),
12100        offset: None,
12101        units: Some("m/s"),
12102        components: &[],
12103        sub_fields: &[],
12104        accumulate: false,
12105    },
12106    FieldInfo {
12107        field_def_num: 8,
12108        name: "total_ascent",
12109        type_name: "uint16",
12110        array: None,
12111        scale: None,
12112        offset: None,
12113        units: Some("m"),
12114        components: &[],
12115        sub_fields: &[],
12116        accumulate: false,
12117    },
12118    FieldInfo {
12119        field_def_num: 9,
12120        name: "total_descent",
12121        type_name: "uint16",
12122        array: None,
12123        scale: None,
12124        offset: None,
12125        units: Some("m"),
12126        components: &[],
12127        sub_fields: &[],
12128        accumulate: false,
12129    },
12130    FieldInfo {
12131        field_def_num: 10,
12132        name: "avg_heart_rate",
12133        type_name: "uint8",
12134        array: None,
12135        scale: None,
12136        offset: None,
12137        units: Some("bpm"),
12138        components: &[],
12139        sub_fields: &[],
12140        accumulate: false,
12141    },
12142    FieldInfo {
12143        field_def_num: 11,
12144        name: "max_heart_rate",
12145        type_name: "uint8",
12146        array: None,
12147        scale: None,
12148        offset: None,
12149        units: Some("bpm"),
12150        components: &[],
12151        sub_fields: &[],
12152        accumulate: false,
12153    },
12154    FieldInfo {
12155        field_def_num: 12,
12156        name: "avg_vert_speed",
12157        type_name: "sint32",
12158        array: None,
12159        scale: Some(1000_f64),
12160        offset: None,
12161        units: Some("m/s"),
12162        components: &[],
12163        sub_fields: &[],
12164        accumulate: false,
12165    },
12166    FieldInfo {
12167        field_def_num: 13,
12168        name: "total_calories",
12169        type_name: "uint32",
12170        array: None,
12171        scale: None,
12172        offset: None,
12173        units: Some("kcal"),
12174        components: &[],
12175        sub_fields: &[],
12176        accumulate: false,
12177    },
12178    FieldInfo {
12179        field_def_num: 77,
12180        name: "total_moving_time",
12181        type_name: "uint32",
12182        array: None,
12183        scale: Some(1000_f64),
12184        offset: None,
12185        units: Some("s"),
12186        components: &[],
12187        sub_fields: &[],
12188        accumulate: false,
12189    },
12190];
12191
12192pub static MESG_SPLIT_SUMMARY: MesgInfo = MesgInfo {
12193    name: "split_summary",
12194    fields: FIELDS_SPLIT_SUMMARY,
12195};
12196
12197static FIELDS_CLIMB_PRO: &[FieldInfo] = &[
12198    FieldInfo {
12199        field_def_num: 253,
12200        name: "timestamp",
12201        type_name: "date_time",
12202        array: None,
12203        scale: None,
12204        offset: None,
12205        units: Some("s"),
12206        components: &[],
12207        sub_fields: &[],
12208        accumulate: false,
12209    },
12210    FieldInfo {
12211        field_def_num: 0,
12212        name: "position_lat",
12213        type_name: "sint32",
12214        array: None,
12215        scale: None,
12216        offset: None,
12217        units: Some("semicircles"),
12218        components: &[],
12219        sub_fields: &[],
12220        accumulate: false,
12221    },
12222    FieldInfo {
12223        field_def_num: 1,
12224        name: "position_long",
12225        type_name: "sint32",
12226        array: None,
12227        scale: None,
12228        offset: None,
12229        units: Some("semicircles"),
12230        components: &[],
12231        sub_fields: &[],
12232        accumulate: false,
12233    },
12234    FieldInfo {
12235        field_def_num: 2,
12236        name: "climb_pro_event",
12237        type_name: "climb_pro_event",
12238        array: None,
12239        scale: None,
12240        offset: None,
12241        units: None,
12242        components: &[],
12243        sub_fields: &[],
12244        accumulate: false,
12245    },
12246    FieldInfo {
12247        field_def_num: 3,
12248        name: "climb_number",
12249        type_name: "uint16",
12250        array: None,
12251        scale: None,
12252        offset: None,
12253        units: None,
12254        components: &[],
12255        sub_fields: &[],
12256        accumulate: false,
12257    },
12258    FieldInfo {
12259        field_def_num: 4,
12260        name: "climb_category",
12261        type_name: "uint8",
12262        array: None,
12263        scale: None,
12264        offset: None,
12265        units: None,
12266        components: &[],
12267        sub_fields: &[],
12268        accumulate: false,
12269    },
12270    FieldInfo {
12271        field_def_num: 5,
12272        name: "current_dist",
12273        type_name: "float32",
12274        array: None,
12275        scale: None,
12276        offset: None,
12277        units: Some("m"),
12278        components: &[],
12279        sub_fields: &[],
12280        accumulate: false,
12281    },
12282];
12283
12284pub static MESG_CLIMB_PRO: MesgInfo = MesgInfo {
12285    name: "climb_pro",
12286    fields: FIELDS_CLIMB_PRO,
12287};
12288
12289static FIELDS_FIELD_DESCRIPTION: &[FieldInfo] = &[
12290    FieldInfo {
12291        field_def_num: 0,
12292        name: "developer_data_index",
12293        type_name: "uint8",
12294        array: None,
12295        scale: None,
12296        offset: None,
12297        units: None,
12298        components: &[],
12299        sub_fields: &[],
12300        accumulate: false,
12301    },
12302    FieldInfo {
12303        field_def_num: 1,
12304        name: "field_definition_number",
12305        type_name: "uint8",
12306        array: None,
12307        scale: None,
12308        offset: None,
12309        units: None,
12310        components: &[],
12311        sub_fields: &[],
12312        accumulate: false,
12313    },
12314    FieldInfo {
12315        field_def_num: 2,
12316        name: "fit_base_type_id",
12317        type_name: "fit_base_type",
12318        array: None,
12319        scale: None,
12320        offset: None,
12321        units: None,
12322        components: &[],
12323        sub_fields: &[],
12324        accumulate: false,
12325    },
12326    FieldInfo {
12327        field_def_num: 3,
12328        name: "field_name",
12329        type_name: "string",
12330        array: Some("[N]"),
12331        scale: None,
12332        offset: None,
12333        units: None,
12334        components: &[],
12335        sub_fields: &[],
12336        accumulate: false,
12337    },
12338    FieldInfo {
12339        field_def_num: 4,
12340        name: "array",
12341        type_name: "uint8",
12342        array: None,
12343        scale: None,
12344        offset: None,
12345        units: None,
12346        components: &[],
12347        sub_fields: &[],
12348        accumulate: false,
12349    },
12350    FieldInfo {
12351        field_def_num: 5,
12352        name: "components",
12353        type_name: "string",
12354        array: None,
12355        scale: None,
12356        offset: None,
12357        units: None,
12358        components: &[],
12359        sub_fields: &[],
12360        accumulate: false,
12361    },
12362    FieldInfo {
12363        field_def_num: 6,
12364        name: "scale",
12365        type_name: "uint8",
12366        array: None,
12367        scale: None,
12368        offset: None,
12369        units: None,
12370        components: &[],
12371        sub_fields: &[],
12372        accumulate: false,
12373    },
12374    FieldInfo {
12375        field_def_num: 7,
12376        name: "offset",
12377        type_name: "sint8",
12378        array: None,
12379        scale: None,
12380        offset: None,
12381        units: None,
12382        components: &[],
12383        sub_fields: &[],
12384        accumulate: false,
12385    },
12386    FieldInfo {
12387        field_def_num: 8,
12388        name: "units",
12389        type_name: "string",
12390        array: Some("[N]"),
12391        scale: None,
12392        offset: None,
12393        units: None,
12394        components: &[],
12395        sub_fields: &[],
12396        accumulate: false,
12397    },
12398    FieldInfo {
12399        field_def_num: 9,
12400        name: "bits",
12401        type_name: "string",
12402        array: None,
12403        scale: None,
12404        offset: None,
12405        units: None,
12406        components: &[],
12407        sub_fields: &[],
12408        accumulate: false,
12409    },
12410    FieldInfo {
12411        field_def_num: 10,
12412        name: "accumulate",
12413        type_name: "string",
12414        array: None,
12415        scale: None,
12416        offset: None,
12417        units: None,
12418        components: &[],
12419        sub_fields: &[],
12420        accumulate: false,
12421    },
12422    FieldInfo {
12423        field_def_num: 13,
12424        name: "fit_base_unit_id",
12425        type_name: "fit_base_unit",
12426        array: None,
12427        scale: None,
12428        offset: None,
12429        units: None,
12430        components: &[],
12431        sub_fields: &[],
12432        accumulate: false,
12433    },
12434    FieldInfo {
12435        field_def_num: 14,
12436        name: "native_mesg_num",
12437        type_name: "mesg_num",
12438        array: None,
12439        scale: None,
12440        offset: None,
12441        units: None,
12442        components: &[],
12443        sub_fields: &[],
12444        accumulate: false,
12445    },
12446    FieldInfo {
12447        field_def_num: 15,
12448        name: "native_field_num",
12449        type_name: "uint8",
12450        array: None,
12451        scale: None,
12452        offset: None,
12453        units: None,
12454        components: &[],
12455        sub_fields: &[],
12456        accumulate: false,
12457    },
12458];
12459
12460pub static MESG_FIELD_DESCRIPTION: MesgInfo = MesgInfo {
12461    name: "field_description",
12462    fields: FIELDS_FIELD_DESCRIPTION,
12463};
12464
12465static FIELDS_DEVELOPER_DATA_ID: &[FieldInfo] = &[
12466    FieldInfo {
12467        field_def_num: 0,
12468        name: "developer_id",
12469        type_name: "byte",
12470        array: Some("[N]"),
12471        scale: None,
12472        offset: None,
12473        units: None,
12474        components: &[],
12475        sub_fields: &[],
12476        accumulate: false,
12477    },
12478    FieldInfo {
12479        field_def_num: 1,
12480        name: "application_id",
12481        type_name: "byte",
12482        array: Some("[N]"),
12483        scale: None,
12484        offset: None,
12485        units: None,
12486        components: &[],
12487        sub_fields: &[],
12488        accumulate: false,
12489    },
12490    FieldInfo {
12491        field_def_num: 2,
12492        name: "manufacturer_id",
12493        type_name: "manufacturer",
12494        array: None,
12495        scale: None,
12496        offset: None,
12497        units: None,
12498        components: &[],
12499        sub_fields: &[],
12500        accumulate: false,
12501    },
12502    FieldInfo {
12503        field_def_num: 3,
12504        name: "developer_data_index",
12505        type_name: "uint8",
12506        array: None,
12507        scale: None,
12508        offset: None,
12509        units: None,
12510        components: &[],
12511        sub_fields: &[],
12512        accumulate: false,
12513    },
12514    FieldInfo {
12515        field_def_num: 4,
12516        name: "application_version",
12517        type_name: "uint32",
12518        array: None,
12519        scale: None,
12520        offset: None,
12521        units: None,
12522        components: &[],
12523        sub_fields: &[],
12524        accumulate: false,
12525    },
12526];
12527
12528pub static MESG_DEVELOPER_DATA_ID: MesgInfo = MesgInfo {
12529    name: "developer_data_id",
12530    fields: FIELDS_DEVELOPER_DATA_ID,
12531};
12532
12533static FIELDS_COURSE: &[FieldInfo] = &[
12534    FieldInfo {
12535        field_def_num: 4,
12536        name: "sport",
12537        type_name: "sport",
12538        array: None,
12539        scale: None,
12540        offset: None,
12541        units: None,
12542        components: &[],
12543        sub_fields: &[],
12544        accumulate: false,
12545    },
12546    FieldInfo {
12547        field_def_num: 5,
12548        name: "name",
12549        type_name: "string",
12550        array: None,
12551        scale: None,
12552        offset: None,
12553        units: None,
12554        components: &[],
12555        sub_fields: &[],
12556        accumulate: false,
12557    },
12558    FieldInfo {
12559        field_def_num: 6,
12560        name: "capabilities",
12561        type_name: "course_capabilities",
12562        array: None,
12563        scale: None,
12564        offset: None,
12565        units: None,
12566        components: &[],
12567        sub_fields: &[],
12568        accumulate: false,
12569    },
12570    FieldInfo {
12571        field_def_num: 7,
12572        name: "sub_sport",
12573        type_name: "sub_sport",
12574        array: None,
12575        scale: None,
12576        offset: None,
12577        units: None,
12578        components: &[],
12579        sub_fields: &[],
12580        accumulate: false,
12581    },
12582];
12583
12584pub static MESG_COURSE: MesgInfo = MesgInfo {
12585    name: "course",
12586    fields: FIELDS_COURSE,
12587};
12588
12589static FIELDS_COURSE_POINT: &[FieldInfo] = &[
12590    FieldInfo {
12591        field_def_num: 254,
12592        name: "message_index",
12593        type_name: "message_index",
12594        array: None,
12595        scale: None,
12596        offset: None,
12597        units: None,
12598        components: &[],
12599        sub_fields: &[],
12600        accumulate: false,
12601    },
12602    FieldInfo {
12603        field_def_num: 1,
12604        name: "timestamp",
12605        type_name: "date_time",
12606        array: None,
12607        scale: None,
12608        offset: None,
12609        units: None,
12610        components: &[],
12611        sub_fields: &[],
12612        accumulate: false,
12613    },
12614    FieldInfo {
12615        field_def_num: 2,
12616        name: "position_lat",
12617        type_name: "sint32",
12618        array: None,
12619        scale: None,
12620        offset: None,
12621        units: Some("semicircles"),
12622        components: &[],
12623        sub_fields: &[],
12624        accumulate: false,
12625    },
12626    FieldInfo {
12627        field_def_num: 3,
12628        name: "position_long",
12629        type_name: "sint32",
12630        array: None,
12631        scale: None,
12632        offset: None,
12633        units: Some("semicircles"),
12634        components: &[],
12635        sub_fields: &[],
12636        accumulate: false,
12637    },
12638    FieldInfo {
12639        field_def_num: 4,
12640        name: "distance",
12641        type_name: "uint32",
12642        array: None,
12643        scale: Some(100_f64),
12644        offset: None,
12645        units: Some("m"),
12646        components: &[],
12647        sub_fields: &[],
12648        accumulate: false,
12649    },
12650    FieldInfo {
12651        field_def_num: 5,
12652        name: "type",
12653        type_name: "course_point",
12654        array: None,
12655        scale: None,
12656        offset: None,
12657        units: None,
12658        components: &[],
12659        sub_fields: &[],
12660        accumulate: false,
12661    },
12662    FieldInfo {
12663        field_def_num: 6,
12664        name: "name",
12665        type_name: "string",
12666        array: None,
12667        scale: None,
12668        offset: None,
12669        units: None,
12670        components: &[],
12671        sub_fields: &[],
12672        accumulate: false,
12673    },
12674    FieldInfo {
12675        field_def_num: 8,
12676        name: "favorite",
12677        type_name: "bool",
12678        array: None,
12679        scale: None,
12680        offset: None,
12681        units: None,
12682        components: &[],
12683        sub_fields: &[],
12684        accumulate: false,
12685    },
12686];
12687
12688pub static MESG_COURSE_POINT: MesgInfo = MesgInfo {
12689    name: "course_point",
12690    fields: FIELDS_COURSE_POINT,
12691};
12692
12693static FIELDS_SEGMENT_ID: &[FieldInfo] = &[
12694    FieldInfo {
12695        field_def_num: 0,
12696        name: "name",
12697        type_name: "string",
12698        array: None,
12699        scale: None,
12700        offset: None,
12701        units: None,
12702        components: &[],
12703        sub_fields: &[],
12704        accumulate: false,
12705    },
12706    FieldInfo {
12707        field_def_num: 1,
12708        name: "uuid",
12709        type_name: "string",
12710        array: None,
12711        scale: None,
12712        offset: None,
12713        units: None,
12714        components: &[],
12715        sub_fields: &[],
12716        accumulate: false,
12717    },
12718    FieldInfo {
12719        field_def_num: 2,
12720        name: "sport",
12721        type_name: "sport",
12722        array: None,
12723        scale: None,
12724        offset: None,
12725        units: None,
12726        components: &[],
12727        sub_fields: &[],
12728        accumulate: false,
12729    },
12730    FieldInfo {
12731        field_def_num: 3,
12732        name: "enabled",
12733        type_name: "bool",
12734        array: None,
12735        scale: None,
12736        offset: None,
12737        units: None,
12738        components: &[],
12739        sub_fields: &[],
12740        accumulate: false,
12741    },
12742    FieldInfo {
12743        field_def_num: 4,
12744        name: "user_profile_primary_key",
12745        type_name: "uint32",
12746        array: None,
12747        scale: None,
12748        offset: None,
12749        units: None,
12750        components: &[],
12751        sub_fields: &[],
12752        accumulate: false,
12753    },
12754    FieldInfo {
12755        field_def_num: 5,
12756        name: "device_id",
12757        type_name: "uint32",
12758        array: None,
12759        scale: None,
12760        offset: None,
12761        units: None,
12762        components: &[],
12763        sub_fields: &[],
12764        accumulate: false,
12765    },
12766    FieldInfo {
12767        field_def_num: 6,
12768        name: "default_race_leader",
12769        type_name: "uint8",
12770        array: None,
12771        scale: None,
12772        offset: None,
12773        units: None,
12774        components: &[],
12775        sub_fields: &[],
12776        accumulate: false,
12777    },
12778    FieldInfo {
12779        field_def_num: 7,
12780        name: "delete_status",
12781        type_name: "segment_delete_status",
12782        array: None,
12783        scale: None,
12784        offset: None,
12785        units: None,
12786        components: &[],
12787        sub_fields: &[],
12788        accumulate: false,
12789    },
12790    FieldInfo {
12791        field_def_num: 8,
12792        name: "selection_type",
12793        type_name: "segment_selection_type",
12794        array: None,
12795        scale: None,
12796        offset: None,
12797        units: None,
12798        components: &[],
12799        sub_fields: &[],
12800        accumulate: false,
12801    },
12802];
12803
12804pub static MESG_SEGMENT_ID: MesgInfo = MesgInfo {
12805    name: "segment_id",
12806    fields: FIELDS_SEGMENT_ID,
12807};
12808
12809static FIELDS_SEGMENT_LEADERBOARD_ENTRY: &[FieldInfo] = &[
12810    FieldInfo {
12811        field_def_num: 254,
12812        name: "message_index",
12813        type_name: "message_index",
12814        array: None,
12815        scale: None,
12816        offset: None,
12817        units: None,
12818        components: &[],
12819        sub_fields: &[],
12820        accumulate: false,
12821    },
12822    FieldInfo {
12823        field_def_num: 0,
12824        name: "name",
12825        type_name: "string",
12826        array: None,
12827        scale: None,
12828        offset: None,
12829        units: None,
12830        components: &[],
12831        sub_fields: &[],
12832        accumulate: false,
12833    },
12834    FieldInfo {
12835        field_def_num: 1,
12836        name: "type",
12837        type_name: "segment_leaderboard_type",
12838        array: None,
12839        scale: None,
12840        offset: None,
12841        units: None,
12842        components: &[],
12843        sub_fields: &[],
12844        accumulate: false,
12845    },
12846    FieldInfo {
12847        field_def_num: 2,
12848        name: "group_primary_key",
12849        type_name: "uint32",
12850        array: None,
12851        scale: None,
12852        offset: None,
12853        units: None,
12854        components: &[],
12855        sub_fields: &[],
12856        accumulate: false,
12857    },
12858    FieldInfo {
12859        field_def_num: 3,
12860        name: "activity_id",
12861        type_name: "uint32",
12862        array: None,
12863        scale: None,
12864        offset: None,
12865        units: None,
12866        components: &[],
12867        sub_fields: &[],
12868        accumulate: false,
12869    },
12870    FieldInfo {
12871        field_def_num: 4,
12872        name: "segment_time",
12873        type_name: "uint32",
12874        array: None,
12875        scale: Some(1000_f64),
12876        offset: None,
12877        units: Some("s"),
12878        components: &[],
12879        sub_fields: &[],
12880        accumulate: false,
12881    },
12882    FieldInfo {
12883        field_def_num: 5,
12884        name: "activity_id_string",
12885        type_name: "string",
12886        array: None,
12887        scale: None,
12888        offset: None,
12889        units: None,
12890        components: &[],
12891        sub_fields: &[],
12892        accumulate: false,
12893    },
12894];
12895
12896pub static MESG_SEGMENT_LEADERBOARD_ENTRY: MesgInfo = MesgInfo {
12897    name: "segment_leaderboard_entry",
12898    fields: FIELDS_SEGMENT_LEADERBOARD_ENTRY,
12899};
12900
12901static COMPONENTS_SEGMENT_POINT_4: &[Component] = &[Component {
12902    name: "enhanced_altitude",
12903    bits: 16,
12904    scale: None,
12905    offset: None,
12906    units: None,
12907    accumulate: false,
12908}];
12909static FIELDS_SEGMENT_POINT: &[FieldInfo] = &[
12910    FieldInfo {
12911        field_def_num: 254,
12912        name: "message_index",
12913        type_name: "message_index",
12914        array: None,
12915        scale: None,
12916        offset: None,
12917        units: None,
12918        components: &[],
12919        sub_fields: &[],
12920        accumulate: false,
12921    },
12922    FieldInfo {
12923        field_def_num: 1,
12924        name: "position_lat",
12925        type_name: "sint32",
12926        array: None,
12927        scale: None,
12928        offset: None,
12929        units: Some("semicircles"),
12930        components: &[],
12931        sub_fields: &[],
12932        accumulate: false,
12933    },
12934    FieldInfo {
12935        field_def_num: 2,
12936        name: "position_long",
12937        type_name: "sint32",
12938        array: None,
12939        scale: None,
12940        offset: None,
12941        units: Some("semicircles"),
12942        components: &[],
12943        sub_fields: &[],
12944        accumulate: false,
12945    },
12946    FieldInfo {
12947        field_def_num: 3,
12948        name: "distance",
12949        type_name: "uint32",
12950        array: None,
12951        scale: Some(100_f64),
12952        offset: None,
12953        units: Some("m"),
12954        components: &[],
12955        sub_fields: &[],
12956        accumulate: false,
12957    },
12958    FieldInfo {
12959        field_def_num: 4,
12960        name: "altitude",
12961        type_name: "uint16",
12962        array: None,
12963        scale: Some(5_f64),
12964        offset: Some(500_f64),
12965        units: Some("m"),
12966        components: COMPONENTS_SEGMENT_POINT_4,
12967        sub_fields: &[],
12968        accumulate: false,
12969    },
12970    FieldInfo {
12971        field_def_num: 5,
12972        name: "leader_time",
12973        type_name: "uint32",
12974        array: Some("[N]"),
12975        scale: Some(1000_f64),
12976        offset: None,
12977        units: Some("s"),
12978        components: &[],
12979        sub_fields: &[],
12980        accumulate: false,
12981    },
12982    FieldInfo {
12983        field_def_num: 6,
12984        name: "enhanced_altitude",
12985        type_name: "uint32",
12986        array: None,
12987        scale: Some(5_f64),
12988        offset: Some(500_f64),
12989        units: Some("m"),
12990        components: &[],
12991        sub_fields: &[],
12992        accumulate: false,
12993    },
12994];
12995
12996pub static MESG_SEGMENT_POINT: MesgInfo = MesgInfo {
12997    name: "segment_point",
12998    fields: FIELDS_SEGMENT_POINT,
12999};
13000
13001static SUBFIELDS_SEGMENT_LAP_12: &[SubField] = &[SubField {
13002    name: "total_strokes",
13003    type_name: "uint32",
13004    conditions: &[("sport", "cycling")],
13005    components: &[],
13006    scale: None,
13007    offset: None,
13008    units: Some("strokes"),
13009}];
13010static COMPONENTS_SEGMENT_LAP_36: &[Component] = &[Component {
13011    name: "enhanced_avg_altitude",
13012    bits: 16,
13013    scale: None,
13014    offset: None,
13015    units: None,
13016    accumulate: false,
13017}];
13018static COMPONENTS_SEGMENT_LAP_37: &[Component] = &[Component {
13019    name: "enhanced_max_altitude",
13020    bits: 16,
13021    scale: None,
13022    offset: None,
13023    units: None,
13024    accumulate: false,
13025}];
13026static COMPONENTS_SEGMENT_LAP_56: &[Component] = &[Component {
13027    name: "enhanced_min_altitude",
13028    bits: 16,
13029    scale: None,
13030    offset: None,
13031    units: None,
13032    accumulate: false,
13033}];
13034static FIELDS_SEGMENT_LAP: &[FieldInfo] = &[
13035    FieldInfo {
13036        field_def_num: 254,
13037        name: "message_index",
13038        type_name: "message_index",
13039        array: None,
13040        scale: None,
13041        offset: None,
13042        units: None,
13043        components: &[],
13044        sub_fields: &[],
13045        accumulate: false,
13046    },
13047    FieldInfo {
13048        field_def_num: 253,
13049        name: "timestamp",
13050        type_name: "date_time",
13051        array: None,
13052        scale: None,
13053        offset: None,
13054        units: Some("s"),
13055        components: &[],
13056        sub_fields: &[],
13057        accumulate: false,
13058    },
13059    FieldInfo {
13060        field_def_num: 0,
13061        name: "event",
13062        type_name: "event",
13063        array: None,
13064        scale: None,
13065        offset: None,
13066        units: None,
13067        components: &[],
13068        sub_fields: &[],
13069        accumulate: false,
13070    },
13071    FieldInfo {
13072        field_def_num: 1,
13073        name: "event_type",
13074        type_name: "event_type",
13075        array: None,
13076        scale: None,
13077        offset: None,
13078        units: None,
13079        components: &[],
13080        sub_fields: &[],
13081        accumulate: false,
13082    },
13083    FieldInfo {
13084        field_def_num: 2,
13085        name: "start_time",
13086        type_name: "date_time",
13087        array: None,
13088        scale: None,
13089        offset: None,
13090        units: None,
13091        components: &[],
13092        sub_fields: &[],
13093        accumulate: false,
13094    },
13095    FieldInfo {
13096        field_def_num: 3,
13097        name: "start_position_lat",
13098        type_name: "sint32",
13099        array: None,
13100        scale: None,
13101        offset: None,
13102        units: Some("semicircles"),
13103        components: &[],
13104        sub_fields: &[],
13105        accumulate: false,
13106    },
13107    FieldInfo {
13108        field_def_num: 4,
13109        name: "start_position_long",
13110        type_name: "sint32",
13111        array: None,
13112        scale: None,
13113        offset: None,
13114        units: Some("semicircles"),
13115        components: &[],
13116        sub_fields: &[],
13117        accumulate: false,
13118    },
13119    FieldInfo {
13120        field_def_num: 5,
13121        name: "end_position_lat",
13122        type_name: "sint32",
13123        array: None,
13124        scale: None,
13125        offset: None,
13126        units: Some("semicircles"),
13127        components: &[],
13128        sub_fields: &[],
13129        accumulate: false,
13130    },
13131    FieldInfo {
13132        field_def_num: 6,
13133        name: "end_position_long",
13134        type_name: "sint32",
13135        array: None,
13136        scale: None,
13137        offset: None,
13138        units: Some("semicircles"),
13139        components: &[],
13140        sub_fields: &[],
13141        accumulate: false,
13142    },
13143    FieldInfo {
13144        field_def_num: 7,
13145        name: "total_elapsed_time",
13146        type_name: "uint32",
13147        array: None,
13148        scale: Some(1000_f64),
13149        offset: None,
13150        units: Some("s"),
13151        components: &[],
13152        sub_fields: &[],
13153        accumulate: false,
13154    },
13155    FieldInfo {
13156        field_def_num: 8,
13157        name: "total_timer_time",
13158        type_name: "uint32",
13159        array: None,
13160        scale: Some(1000_f64),
13161        offset: None,
13162        units: Some("s"),
13163        components: &[],
13164        sub_fields: &[],
13165        accumulate: false,
13166    },
13167    FieldInfo {
13168        field_def_num: 9,
13169        name: "total_distance",
13170        type_name: "uint32",
13171        array: None,
13172        scale: Some(100_f64),
13173        offset: None,
13174        units: Some("m"),
13175        components: &[],
13176        sub_fields: &[],
13177        accumulate: false,
13178    },
13179    FieldInfo {
13180        field_def_num: 10,
13181        name: "total_cycles",
13182        type_name: "uint32",
13183        array: None,
13184        scale: None,
13185        offset: None,
13186        units: Some("cycles"),
13187        components: &[],
13188        sub_fields: SUBFIELDS_SEGMENT_LAP_12,
13189        accumulate: false,
13190    },
13191    FieldInfo {
13192        field_def_num: 11,
13193        name: "total_calories",
13194        type_name: "uint16",
13195        array: None,
13196        scale: None,
13197        offset: None,
13198        units: Some("kcal"),
13199        components: &[],
13200        sub_fields: &[],
13201        accumulate: false,
13202    },
13203    FieldInfo {
13204        field_def_num: 12,
13205        name: "total_fat_calories",
13206        type_name: "uint16",
13207        array: None,
13208        scale: None,
13209        offset: None,
13210        units: Some("kcal"),
13211        components: &[],
13212        sub_fields: &[],
13213        accumulate: false,
13214    },
13215    FieldInfo {
13216        field_def_num: 13,
13217        name: "avg_speed",
13218        type_name: "uint16",
13219        array: None,
13220        scale: Some(1000_f64),
13221        offset: None,
13222        units: Some("m/s"),
13223        components: &[],
13224        sub_fields: &[],
13225        accumulate: false,
13226    },
13227    FieldInfo {
13228        field_def_num: 14,
13229        name: "max_speed",
13230        type_name: "uint16",
13231        array: None,
13232        scale: Some(1000_f64),
13233        offset: None,
13234        units: Some("m/s"),
13235        components: &[],
13236        sub_fields: &[],
13237        accumulate: false,
13238    },
13239    FieldInfo {
13240        field_def_num: 15,
13241        name: "avg_heart_rate",
13242        type_name: "uint8",
13243        array: None,
13244        scale: None,
13245        offset: None,
13246        units: Some("bpm"),
13247        components: &[],
13248        sub_fields: &[],
13249        accumulate: false,
13250    },
13251    FieldInfo {
13252        field_def_num: 16,
13253        name: "max_heart_rate",
13254        type_name: "uint8",
13255        array: None,
13256        scale: None,
13257        offset: None,
13258        units: Some("bpm"),
13259        components: &[],
13260        sub_fields: &[],
13261        accumulate: false,
13262    },
13263    FieldInfo {
13264        field_def_num: 17,
13265        name: "avg_cadence",
13266        type_name: "uint8",
13267        array: None,
13268        scale: None,
13269        offset: None,
13270        units: Some("rpm"),
13271        components: &[],
13272        sub_fields: &[],
13273        accumulate: false,
13274    },
13275    FieldInfo {
13276        field_def_num: 18,
13277        name: "max_cadence",
13278        type_name: "uint8",
13279        array: None,
13280        scale: None,
13281        offset: None,
13282        units: Some("rpm"),
13283        components: &[],
13284        sub_fields: &[],
13285        accumulate: false,
13286    },
13287    FieldInfo {
13288        field_def_num: 19,
13289        name: "avg_power",
13290        type_name: "uint16",
13291        array: None,
13292        scale: None,
13293        offset: None,
13294        units: Some("watts"),
13295        components: &[],
13296        sub_fields: &[],
13297        accumulate: false,
13298    },
13299    FieldInfo {
13300        field_def_num: 20,
13301        name: "max_power",
13302        type_name: "uint16",
13303        array: None,
13304        scale: None,
13305        offset: None,
13306        units: Some("watts"),
13307        components: &[],
13308        sub_fields: &[],
13309        accumulate: false,
13310    },
13311    FieldInfo {
13312        field_def_num: 21,
13313        name: "total_ascent",
13314        type_name: "uint16",
13315        array: None,
13316        scale: None,
13317        offset: None,
13318        units: Some("m"),
13319        components: &[],
13320        sub_fields: &[],
13321        accumulate: false,
13322    },
13323    FieldInfo {
13324        field_def_num: 22,
13325        name: "total_descent",
13326        type_name: "uint16",
13327        array: None,
13328        scale: None,
13329        offset: None,
13330        units: Some("m"),
13331        components: &[],
13332        sub_fields: &[],
13333        accumulate: false,
13334    },
13335    FieldInfo {
13336        field_def_num: 23,
13337        name: "sport",
13338        type_name: "sport",
13339        array: None,
13340        scale: None,
13341        offset: None,
13342        units: None,
13343        components: &[],
13344        sub_fields: &[],
13345        accumulate: false,
13346    },
13347    FieldInfo {
13348        field_def_num: 24,
13349        name: "event_group",
13350        type_name: "uint8",
13351        array: None,
13352        scale: None,
13353        offset: None,
13354        units: None,
13355        components: &[],
13356        sub_fields: &[],
13357        accumulate: false,
13358    },
13359    FieldInfo {
13360        field_def_num: 25,
13361        name: "nec_lat",
13362        type_name: "sint32",
13363        array: None,
13364        scale: None,
13365        offset: None,
13366        units: Some("semicircles"),
13367        components: &[],
13368        sub_fields: &[],
13369        accumulate: false,
13370    },
13371    FieldInfo {
13372        field_def_num: 26,
13373        name: "nec_long",
13374        type_name: "sint32",
13375        array: None,
13376        scale: None,
13377        offset: None,
13378        units: Some("semicircles"),
13379        components: &[],
13380        sub_fields: &[],
13381        accumulate: false,
13382    },
13383    FieldInfo {
13384        field_def_num: 27,
13385        name: "swc_lat",
13386        type_name: "sint32",
13387        array: None,
13388        scale: None,
13389        offset: None,
13390        units: Some("semicircles"),
13391        components: &[],
13392        sub_fields: &[],
13393        accumulate: false,
13394    },
13395    FieldInfo {
13396        field_def_num: 28,
13397        name: "swc_long",
13398        type_name: "sint32",
13399        array: None,
13400        scale: None,
13401        offset: None,
13402        units: Some("semicircles"),
13403        components: &[],
13404        sub_fields: &[],
13405        accumulate: false,
13406    },
13407    FieldInfo {
13408        field_def_num: 29,
13409        name: "name",
13410        type_name: "string",
13411        array: None,
13412        scale: None,
13413        offset: None,
13414        units: None,
13415        components: &[],
13416        sub_fields: &[],
13417        accumulate: false,
13418    },
13419    FieldInfo {
13420        field_def_num: 30,
13421        name: "normalized_power",
13422        type_name: "uint16",
13423        array: None,
13424        scale: None,
13425        offset: None,
13426        units: Some("watts"),
13427        components: &[],
13428        sub_fields: &[],
13429        accumulate: false,
13430    },
13431    FieldInfo {
13432        field_def_num: 31,
13433        name: "left_right_balance",
13434        type_name: "left_right_balance_100",
13435        array: None,
13436        scale: None,
13437        offset: None,
13438        units: None,
13439        components: &[],
13440        sub_fields: &[],
13441        accumulate: false,
13442    },
13443    FieldInfo {
13444        field_def_num: 32,
13445        name: "sub_sport",
13446        type_name: "sub_sport",
13447        array: None,
13448        scale: None,
13449        offset: None,
13450        units: None,
13451        components: &[],
13452        sub_fields: &[],
13453        accumulate: false,
13454    },
13455    FieldInfo {
13456        field_def_num: 33,
13457        name: "total_work",
13458        type_name: "uint32",
13459        array: None,
13460        scale: None,
13461        offset: None,
13462        units: Some("J"),
13463        components: &[],
13464        sub_fields: &[],
13465        accumulate: false,
13466    },
13467    FieldInfo {
13468        field_def_num: 34,
13469        name: "avg_altitude",
13470        type_name: "uint16",
13471        array: None,
13472        scale: Some(5_f64),
13473        offset: Some(500_f64),
13474        units: Some("m"),
13475        components: COMPONENTS_SEGMENT_LAP_36,
13476        sub_fields: &[],
13477        accumulate: false,
13478    },
13479    FieldInfo {
13480        field_def_num: 35,
13481        name: "max_altitude",
13482        type_name: "uint16",
13483        array: None,
13484        scale: Some(5_f64),
13485        offset: Some(500_f64),
13486        units: Some("m"),
13487        components: COMPONENTS_SEGMENT_LAP_37,
13488        sub_fields: &[],
13489        accumulate: false,
13490    },
13491    FieldInfo {
13492        field_def_num: 36,
13493        name: "gps_accuracy",
13494        type_name: "uint8",
13495        array: None,
13496        scale: None,
13497        offset: None,
13498        units: Some("m"),
13499        components: &[],
13500        sub_fields: &[],
13501        accumulate: false,
13502    },
13503    FieldInfo {
13504        field_def_num: 37,
13505        name: "avg_grade",
13506        type_name: "sint16",
13507        array: None,
13508        scale: Some(100_f64),
13509        offset: None,
13510        units: Some("%"),
13511        components: &[],
13512        sub_fields: &[],
13513        accumulate: false,
13514    },
13515    FieldInfo {
13516        field_def_num: 38,
13517        name: "avg_pos_grade",
13518        type_name: "sint16",
13519        array: None,
13520        scale: Some(100_f64),
13521        offset: None,
13522        units: Some("%"),
13523        components: &[],
13524        sub_fields: &[],
13525        accumulate: false,
13526    },
13527    FieldInfo {
13528        field_def_num: 39,
13529        name: "avg_neg_grade",
13530        type_name: "sint16",
13531        array: None,
13532        scale: Some(100_f64),
13533        offset: None,
13534        units: Some("%"),
13535        components: &[],
13536        sub_fields: &[],
13537        accumulate: false,
13538    },
13539    FieldInfo {
13540        field_def_num: 40,
13541        name: "max_pos_grade",
13542        type_name: "sint16",
13543        array: None,
13544        scale: Some(100_f64),
13545        offset: None,
13546        units: Some("%"),
13547        components: &[],
13548        sub_fields: &[],
13549        accumulate: false,
13550    },
13551    FieldInfo {
13552        field_def_num: 41,
13553        name: "max_neg_grade",
13554        type_name: "sint16",
13555        array: None,
13556        scale: Some(100_f64),
13557        offset: None,
13558        units: Some("%"),
13559        components: &[],
13560        sub_fields: &[],
13561        accumulate: false,
13562    },
13563    FieldInfo {
13564        field_def_num: 42,
13565        name: "avg_temperature",
13566        type_name: "sint8",
13567        array: None,
13568        scale: None,
13569        offset: None,
13570        units: Some("C"),
13571        components: &[],
13572        sub_fields: &[],
13573        accumulate: false,
13574    },
13575    FieldInfo {
13576        field_def_num: 43,
13577        name: "max_temperature",
13578        type_name: "sint8",
13579        array: None,
13580        scale: None,
13581        offset: None,
13582        units: Some("C"),
13583        components: &[],
13584        sub_fields: &[],
13585        accumulate: false,
13586    },
13587    FieldInfo {
13588        field_def_num: 44,
13589        name: "total_moving_time",
13590        type_name: "uint32",
13591        array: None,
13592        scale: Some(1000_f64),
13593        offset: None,
13594        units: Some("s"),
13595        components: &[],
13596        sub_fields: &[],
13597        accumulate: false,
13598    },
13599    FieldInfo {
13600        field_def_num: 45,
13601        name: "avg_pos_vertical_speed",
13602        type_name: "sint16",
13603        array: None,
13604        scale: Some(1000_f64),
13605        offset: None,
13606        units: Some("m/s"),
13607        components: &[],
13608        sub_fields: &[],
13609        accumulate: false,
13610    },
13611    FieldInfo {
13612        field_def_num: 46,
13613        name: "avg_neg_vertical_speed",
13614        type_name: "sint16",
13615        array: None,
13616        scale: Some(1000_f64),
13617        offset: None,
13618        units: Some("m/s"),
13619        components: &[],
13620        sub_fields: &[],
13621        accumulate: false,
13622    },
13623    FieldInfo {
13624        field_def_num: 47,
13625        name: "max_pos_vertical_speed",
13626        type_name: "sint16",
13627        array: None,
13628        scale: Some(1000_f64),
13629        offset: None,
13630        units: Some("m/s"),
13631        components: &[],
13632        sub_fields: &[],
13633        accumulate: false,
13634    },
13635    FieldInfo {
13636        field_def_num: 48,
13637        name: "max_neg_vertical_speed",
13638        type_name: "sint16",
13639        array: None,
13640        scale: Some(1000_f64),
13641        offset: None,
13642        units: Some("m/s"),
13643        components: &[],
13644        sub_fields: &[],
13645        accumulate: false,
13646    },
13647    FieldInfo {
13648        field_def_num: 49,
13649        name: "time_in_hr_zone",
13650        type_name: "uint32",
13651        array: Some("[N]"),
13652        scale: Some(1000_f64),
13653        offset: None,
13654        units: Some("s"),
13655        components: &[],
13656        sub_fields: &[],
13657        accumulate: false,
13658    },
13659    FieldInfo {
13660        field_def_num: 50,
13661        name: "time_in_speed_zone",
13662        type_name: "uint32",
13663        array: Some("[N]"),
13664        scale: Some(1000_f64),
13665        offset: None,
13666        units: Some("s"),
13667        components: &[],
13668        sub_fields: &[],
13669        accumulate: false,
13670    },
13671    FieldInfo {
13672        field_def_num: 51,
13673        name: "time_in_cadence_zone",
13674        type_name: "uint32",
13675        array: Some("[N]"),
13676        scale: Some(1000_f64),
13677        offset: None,
13678        units: Some("s"),
13679        components: &[],
13680        sub_fields: &[],
13681        accumulate: false,
13682    },
13683    FieldInfo {
13684        field_def_num: 52,
13685        name: "time_in_power_zone",
13686        type_name: "uint32",
13687        array: Some("[N]"),
13688        scale: Some(1000_f64),
13689        offset: None,
13690        units: Some("s"),
13691        components: &[],
13692        sub_fields: &[],
13693        accumulate: false,
13694    },
13695    FieldInfo {
13696        field_def_num: 53,
13697        name: "repetition_num",
13698        type_name: "uint16",
13699        array: None,
13700        scale: None,
13701        offset: None,
13702        units: None,
13703        components: &[],
13704        sub_fields: &[],
13705        accumulate: false,
13706    },
13707    FieldInfo {
13708        field_def_num: 54,
13709        name: "min_altitude",
13710        type_name: "uint16",
13711        array: None,
13712        scale: Some(5_f64),
13713        offset: Some(500_f64),
13714        units: Some("m"),
13715        components: COMPONENTS_SEGMENT_LAP_56,
13716        sub_fields: &[],
13717        accumulate: false,
13718    },
13719    FieldInfo {
13720        field_def_num: 55,
13721        name: "min_heart_rate",
13722        type_name: "uint8",
13723        array: None,
13724        scale: None,
13725        offset: None,
13726        units: Some("bpm"),
13727        components: &[],
13728        sub_fields: &[],
13729        accumulate: false,
13730    },
13731    FieldInfo {
13732        field_def_num: 56,
13733        name: "active_time",
13734        type_name: "uint32",
13735        array: None,
13736        scale: Some(1000_f64),
13737        offset: None,
13738        units: Some("s"),
13739        components: &[],
13740        sub_fields: &[],
13741        accumulate: false,
13742    },
13743    FieldInfo {
13744        field_def_num: 57,
13745        name: "wkt_step_index",
13746        type_name: "message_index",
13747        array: None,
13748        scale: None,
13749        offset: None,
13750        units: None,
13751        components: &[],
13752        sub_fields: &[],
13753        accumulate: false,
13754    },
13755    FieldInfo {
13756        field_def_num: 58,
13757        name: "sport_event",
13758        type_name: "sport_event",
13759        array: None,
13760        scale: None,
13761        offset: None,
13762        units: None,
13763        components: &[],
13764        sub_fields: &[],
13765        accumulate: false,
13766    },
13767    FieldInfo {
13768        field_def_num: 59,
13769        name: "avg_left_torque_effectiveness",
13770        type_name: "uint8",
13771        array: None,
13772        scale: Some(2_f64),
13773        offset: None,
13774        units: Some("percent"),
13775        components: &[],
13776        sub_fields: &[],
13777        accumulate: false,
13778    },
13779    FieldInfo {
13780        field_def_num: 60,
13781        name: "avg_right_torque_effectiveness",
13782        type_name: "uint8",
13783        array: None,
13784        scale: Some(2_f64),
13785        offset: None,
13786        units: Some("percent"),
13787        components: &[],
13788        sub_fields: &[],
13789        accumulate: false,
13790    },
13791    FieldInfo {
13792        field_def_num: 61,
13793        name: "avg_left_pedal_smoothness",
13794        type_name: "uint8",
13795        array: None,
13796        scale: Some(2_f64),
13797        offset: None,
13798        units: Some("percent"),
13799        components: &[],
13800        sub_fields: &[],
13801        accumulate: false,
13802    },
13803    FieldInfo {
13804        field_def_num: 62,
13805        name: "avg_right_pedal_smoothness",
13806        type_name: "uint8",
13807        array: None,
13808        scale: Some(2_f64),
13809        offset: None,
13810        units: Some("percent"),
13811        components: &[],
13812        sub_fields: &[],
13813        accumulate: false,
13814    },
13815    FieldInfo {
13816        field_def_num: 63,
13817        name: "avg_combined_pedal_smoothness",
13818        type_name: "uint8",
13819        array: None,
13820        scale: Some(2_f64),
13821        offset: None,
13822        units: Some("percent"),
13823        components: &[],
13824        sub_fields: &[],
13825        accumulate: false,
13826    },
13827    FieldInfo {
13828        field_def_num: 64,
13829        name: "status",
13830        type_name: "segment_lap_status",
13831        array: None,
13832        scale: None,
13833        offset: None,
13834        units: None,
13835        components: &[],
13836        sub_fields: &[],
13837        accumulate: false,
13838    },
13839    FieldInfo {
13840        field_def_num: 65,
13841        name: "uuid",
13842        type_name: "string",
13843        array: None,
13844        scale: None,
13845        offset: None,
13846        units: None,
13847        components: &[],
13848        sub_fields: &[],
13849        accumulate: false,
13850    },
13851    FieldInfo {
13852        field_def_num: 66,
13853        name: "avg_fractional_cadence",
13854        type_name: "uint8",
13855        array: None,
13856        scale: Some(128_f64),
13857        offset: None,
13858        units: Some("rpm"),
13859        components: &[],
13860        sub_fields: &[],
13861        accumulate: false,
13862    },
13863    FieldInfo {
13864        field_def_num: 67,
13865        name: "max_fractional_cadence",
13866        type_name: "uint8",
13867        array: None,
13868        scale: Some(128_f64),
13869        offset: None,
13870        units: Some("rpm"),
13871        components: &[],
13872        sub_fields: &[],
13873        accumulate: false,
13874    },
13875    FieldInfo {
13876        field_def_num: 68,
13877        name: "total_fractional_cycles",
13878        type_name: "uint8",
13879        array: None,
13880        scale: Some(128_f64),
13881        offset: None,
13882        units: Some("cycles"),
13883        components: &[],
13884        sub_fields: &[],
13885        accumulate: false,
13886    },
13887    FieldInfo {
13888        field_def_num: 69,
13889        name: "front_gear_shift_count",
13890        type_name: "uint16",
13891        array: None,
13892        scale: None,
13893        offset: None,
13894        units: None,
13895        components: &[],
13896        sub_fields: &[],
13897        accumulate: false,
13898    },
13899    FieldInfo {
13900        field_def_num: 70,
13901        name: "rear_gear_shift_count",
13902        type_name: "uint16",
13903        array: None,
13904        scale: None,
13905        offset: None,
13906        units: None,
13907        components: &[],
13908        sub_fields: &[],
13909        accumulate: false,
13910    },
13911    FieldInfo {
13912        field_def_num: 71,
13913        name: "time_standing",
13914        type_name: "uint32",
13915        array: None,
13916        scale: Some(1000_f64),
13917        offset: None,
13918        units: Some("s"),
13919        components: &[],
13920        sub_fields: &[],
13921        accumulate: false,
13922    },
13923    FieldInfo {
13924        field_def_num: 72,
13925        name: "stand_count",
13926        type_name: "uint16",
13927        array: None,
13928        scale: None,
13929        offset: None,
13930        units: None,
13931        components: &[],
13932        sub_fields: &[],
13933        accumulate: false,
13934    },
13935    FieldInfo {
13936        field_def_num: 73,
13937        name: "avg_left_pco",
13938        type_name: "sint8",
13939        array: None,
13940        scale: None,
13941        offset: None,
13942        units: Some("mm"),
13943        components: &[],
13944        sub_fields: &[],
13945        accumulate: false,
13946    },
13947    FieldInfo {
13948        field_def_num: 74,
13949        name: "avg_right_pco",
13950        type_name: "sint8",
13951        array: None,
13952        scale: None,
13953        offset: None,
13954        units: Some("mm"),
13955        components: &[],
13956        sub_fields: &[],
13957        accumulate: false,
13958    },
13959    FieldInfo {
13960        field_def_num: 75,
13961        name: "avg_left_power_phase",
13962        type_name: "uint8",
13963        array: Some("[N]"),
13964        scale: Some(0.7111111_f64),
13965        offset: None,
13966        units: Some("degrees"),
13967        components: &[],
13968        sub_fields: &[],
13969        accumulate: false,
13970    },
13971    FieldInfo {
13972        field_def_num: 76,
13973        name: "avg_left_power_phase_peak",
13974        type_name: "uint8",
13975        array: Some("[N]"),
13976        scale: Some(0.7111111_f64),
13977        offset: None,
13978        units: Some("degrees"),
13979        components: &[],
13980        sub_fields: &[],
13981        accumulate: false,
13982    },
13983    FieldInfo {
13984        field_def_num: 77,
13985        name: "avg_right_power_phase",
13986        type_name: "uint8",
13987        array: Some("[N]"),
13988        scale: Some(0.7111111_f64),
13989        offset: None,
13990        units: Some("degrees"),
13991        components: &[],
13992        sub_fields: &[],
13993        accumulate: false,
13994    },
13995    FieldInfo {
13996        field_def_num: 78,
13997        name: "avg_right_power_phase_peak",
13998        type_name: "uint8",
13999        array: Some("[N]"),
14000        scale: Some(0.7111111_f64),
14001        offset: None,
14002        units: Some("degrees"),
14003        components: &[],
14004        sub_fields: &[],
14005        accumulate: false,
14006    },
14007    FieldInfo {
14008        field_def_num: 79,
14009        name: "avg_power_position",
14010        type_name: "uint16",
14011        array: Some("[N]"),
14012        scale: None,
14013        offset: None,
14014        units: Some("watts"),
14015        components: &[],
14016        sub_fields: &[],
14017        accumulate: false,
14018    },
14019    FieldInfo {
14020        field_def_num: 80,
14021        name: "max_power_position",
14022        type_name: "uint16",
14023        array: Some("[N]"),
14024        scale: None,
14025        offset: None,
14026        units: Some("watts"),
14027        components: &[],
14028        sub_fields: &[],
14029        accumulate: false,
14030    },
14031    FieldInfo {
14032        field_def_num: 81,
14033        name: "avg_cadence_position",
14034        type_name: "uint8",
14035        array: Some("[N]"),
14036        scale: None,
14037        offset: None,
14038        units: Some("rpm"),
14039        components: &[],
14040        sub_fields: &[],
14041        accumulate: false,
14042    },
14043    FieldInfo {
14044        field_def_num: 82,
14045        name: "max_cadence_position",
14046        type_name: "uint8",
14047        array: Some("[N]"),
14048        scale: None,
14049        offset: None,
14050        units: Some("rpm"),
14051        components: &[],
14052        sub_fields: &[],
14053        accumulate: false,
14054    },
14055    FieldInfo {
14056        field_def_num: 83,
14057        name: "manufacturer",
14058        type_name: "manufacturer",
14059        array: None,
14060        scale: None,
14061        offset: None,
14062        units: None,
14063        components: &[],
14064        sub_fields: &[],
14065        accumulate: false,
14066    },
14067    FieldInfo {
14068        field_def_num: 84,
14069        name: "total_grit",
14070        type_name: "float32",
14071        array: None,
14072        scale: None,
14073        offset: None,
14074        units: Some("kGrit"),
14075        components: &[],
14076        sub_fields: &[],
14077        accumulate: false,
14078    },
14079    FieldInfo {
14080        field_def_num: 85,
14081        name: "total_flow",
14082        type_name: "float32",
14083        array: None,
14084        scale: None,
14085        offset: None,
14086        units: Some("Flow"),
14087        components: &[],
14088        sub_fields: &[],
14089        accumulate: false,
14090    },
14091    FieldInfo {
14092        field_def_num: 86,
14093        name: "avg_grit",
14094        type_name: "float32",
14095        array: None,
14096        scale: None,
14097        offset: None,
14098        units: Some("kGrit"),
14099        components: &[],
14100        sub_fields: &[],
14101        accumulate: false,
14102    },
14103    FieldInfo {
14104        field_def_num: 87,
14105        name: "avg_flow",
14106        type_name: "float32",
14107        array: None,
14108        scale: None,
14109        offset: None,
14110        units: Some("Flow"),
14111        components: &[],
14112        sub_fields: &[],
14113        accumulate: false,
14114    },
14115    FieldInfo {
14116        field_def_num: 89,
14117        name: "total_fractional_ascent",
14118        type_name: "uint8",
14119        array: None,
14120        scale: Some(100_f64),
14121        offset: None,
14122        units: Some("m"),
14123        components: &[],
14124        sub_fields: &[],
14125        accumulate: false,
14126    },
14127    FieldInfo {
14128        field_def_num: 90,
14129        name: "total_fractional_descent",
14130        type_name: "uint8",
14131        array: None,
14132        scale: Some(100_f64),
14133        offset: None,
14134        units: Some("m"),
14135        components: &[],
14136        sub_fields: &[],
14137        accumulate: false,
14138    },
14139    FieldInfo {
14140        field_def_num: 91,
14141        name: "enhanced_avg_altitude",
14142        type_name: "uint32",
14143        array: None,
14144        scale: Some(5_f64),
14145        offset: Some(500_f64),
14146        units: Some("m"),
14147        components: &[],
14148        sub_fields: &[],
14149        accumulate: false,
14150    },
14151    FieldInfo {
14152        field_def_num: 92,
14153        name: "enhanced_max_altitude",
14154        type_name: "uint32",
14155        array: None,
14156        scale: Some(5_f64),
14157        offset: Some(500_f64),
14158        units: Some("m"),
14159        components: &[],
14160        sub_fields: &[],
14161        accumulate: false,
14162    },
14163    FieldInfo {
14164        field_def_num: 93,
14165        name: "enhanced_min_altitude",
14166        type_name: "uint32",
14167        array: None,
14168        scale: Some(5_f64),
14169        offset: Some(500_f64),
14170        units: Some("m"),
14171        components: &[],
14172        sub_fields: &[],
14173        accumulate: false,
14174    },
14175];
14176
14177pub static MESG_SEGMENT_LAP: MesgInfo = MesgInfo {
14178    name: "segment_lap",
14179    fields: FIELDS_SEGMENT_LAP,
14180};
14181
14182static FIELDS_SEGMENT_FILE: &[FieldInfo] = &[
14183    FieldInfo {
14184        field_def_num: 254,
14185        name: "message_index",
14186        type_name: "message_index",
14187        array: None,
14188        scale: None,
14189        offset: None,
14190        units: None,
14191        components: &[],
14192        sub_fields: &[],
14193        accumulate: false,
14194    },
14195    FieldInfo {
14196        field_def_num: 1,
14197        name: "file_uuid",
14198        type_name: "string",
14199        array: None,
14200        scale: None,
14201        offset: None,
14202        units: None,
14203        components: &[],
14204        sub_fields: &[],
14205        accumulate: false,
14206    },
14207    FieldInfo {
14208        field_def_num: 3,
14209        name: "enabled",
14210        type_name: "bool",
14211        array: None,
14212        scale: None,
14213        offset: None,
14214        units: None,
14215        components: &[],
14216        sub_fields: &[],
14217        accumulate: false,
14218    },
14219    FieldInfo {
14220        field_def_num: 4,
14221        name: "user_profile_primary_key",
14222        type_name: "uint32",
14223        array: None,
14224        scale: None,
14225        offset: None,
14226        units: None,
14227        components: &[],
14228        sub_fields: &[],
14229        accumulate: false,
14230    },
14231    FieldInfo {
14232        field_def_num: 7,
14233        name: "leader_type",
14234        type_name: "segment_leaderboard_type",
14235        array: Some("[N]"),
14236        scale: None,
14237        offset: None,
14238        units: None,
14239        components: &[],
14240        sub_fields: &[],
14241        accumulate: false,
14242    },
14243    FieldInfo {
14244        field_def_num: 8,
14245        name: "leader_group_primary_key",
14246        type_name: "uint32",
14247        array: Some("[N]"),
14248        scale: None,
14249        offset: None,
14250        units: None,
14251        components: &[],
14252        sub_fields: &[],
14253        accumulate: false,
14254    },
14255    FieldInfo {
14256        field_def_num: 9,
14257        name: "leader_activity_id",
14258        type_name: "uint32",
14259        array: Some("[N]"),
14260        scale: None,
14261        offset: None,
14262        units: None,
14263        components: &[],
14264        sub_fields: &[],
14265        accumulate: false,
14266    },
14267    FieldInfo {
14268        field_def_num: 10,
14269        name: "leader_activity_id_string",
14270        type_name: "string",
14271        array: Some("[N]"),
14272        scale: None,
14273        offset: None,
14274        units: None,
14275        components: &[],
14276        sub_fields: &[],
14277        accumulate: false,
14278    },
14279    FieldInfo {
14280        field_def_num: 11,
14281        name: "default_race_leader",
14282        type_name: "uint8",
14283        array: None,
14284        scale: None,
14285        offset: None,
14286        units: None,
14287        components: &[],
14288        sub_fields: &[],
14289        accumulate: false,
14290    },
14291];
14292
14293pub static MESG_SEGMENT_FILE: MesgInfo = MesgInfo {
14294    name: "segment_file",
14295    fields: FIELDS_SEGMENT_FILE,
14296};
14297
14298static FIELDS_WORKOUT: &[FieldInfo] = &[
14299    FieldInfo {
14300        field_def_num: 254,
14301        name: "message_index",
14302        type_name: "message_index",
14303        array: None,
14304        scale: None,
14305        offset: None,
14306        units: None,
14307        components: &[],
14308        sub_fields: &[],
14309        accumulate: false,
14310    },
14311    FieldInfo {
14312        field_def_num: 4,
14313        name: "sport",
14314        type_name: "sport",
14315        array: None,
14316        scale: None,
14317        offset: None,
14318        units: None,
14319        components: &[],
14320        sub_fields: &[],
14321        accumulate: false,
14322    },
14323    FieldInfo {
14324        field_def_num: 5,
14325        name: "capabilities",
14326        type_name: "workout_capabilities",
14327        array: None,
14328        scale: None,
14329        offset: None,
14330        units: None,
14331        components: &[],
14332        sub_fields: &[],
14333        accumulate: false,
14334    },
14335    FieldInfo {
14336        field_def_num: 6,
14337        name: "num_valid_steps",
14338        type_name: "uint16",
14339        array: None,
14340        scale: None,
14341        offset: None,
14342        units: None,
14343        components: &[],
14344        sub_fields: &[],
14345        accumulate: false,
14346    },
14347    FieldInfo {
14348        field_def_num: 8,
14349        name: "wkt_name",
14350        type_name: "string",
14351        array: None,
14352        scale: None,
14353        offset: None,
14354        units: None,
14355        components: &[],
14356        sub_fields: &[],
14357        accumulate: false,
14358    },
14359    FieldInfo {
14360        field_def_num: 11,
14361        name: "sub_sport",
14362        type_name: "sub_sport",
14363        array: None,
14364        scale: None,
14365        offset: None,
14366        units: None,
14367        components: &[],
14368        sub_fields: &[],
14369        accumulate: false,
14370    },
14371    FieldInfo {
14372        field_def_num: 14,
14373        name: "pool_length",
14374        type_name: "uint16",
14375        array: None,
14376        scale: Some(100_f64),
14377        offset: None,
14378        units: Some("m"),
14379        components: &[],
14380        sub_fields: &[],
14381        accumulate: false,
14382    },
14383    FieldInfo {
14384        field_def_num: 15,
14385        name: "pool_length_unit",
14386        type_name: "display_measure",
14387        array: None,
14388        scale: None,
14389        offset: None,
14390        units: None,
14391        components: &[],
14392        sub_fields: &[],
14393        accumulate: false,
14394    },
14395    FieldInfo {
14396        field_def_num: 17,
14397        name: "wkt_description",
14398        type_name: "string",
14399        array: None,
14400        scale: None,
14401        offset: None,
14402        units: None,
14403        components: &[],
14404        sub_fields: &[],
14405        accumulate: false,
14406    },
14407];
14408
14409pub static MESG_WORKOUT: MesgInfo = MesgInfo {
14410    name: "workout",
14411    fields: FIELDS_WORKOUT,
14412};
14413
14414static FIELDS_WORKOUT_SESSION: &[FieldInfo] = &[
14415    FieldInfo {
14416        field_def_num: 254,
14417        name: "message_index",
14418        type_name: "message_index",
14419        array: None,
14420        scale: None,
14421        offset: None,
14422        units: None,
14423        components: &[],
14424        sub_fields: &[],
14425        accumulate: false,
14426    },
14427    FieldInfo {
14428        field_def_num: 0,
14429        name: "sport",
14430        type_name: "sport",
14431        array: None,
14432        scale: None,
14433        offset: None,
14434        units: None,
14435        components: &[],
14436        sub_fields: &[],
14437        accumulate: false,
14438    },
14439    FieldInfo {
14440        field_def_num: 1,
14441        name: "sub_sport",
14442        type_name: "sub_sport",
14443        array: None,
14444        scale: None,
14445        offset: None,
14446        units: None,
14447        components: &[],
14448        sub_fields: &[],
14449        accumulate: false,
14450    },
14451    FieldInfo {
14452        field_def_num: 2,
14453        name: "num_valid_steps",
14454        type_name: "uint16",
14455        array: None,
14456        scale: None,
14457        offset: None,
14458        units: None,
14459        components: &[],
14460        sub_fields: &[],
14461        accumulate: false,
14462    },
14463    FieldInfo {
14464        field_def_num: 3,
14465        name: "first_step_index",
14466        type_name: "uint16",
14467        array: None,
14468        scale: None,
14469        offset: None,
14470        units: None,
14471        components: &[],
14472        sub_fields: &[],
14473        accumulate: false,
14474    },
14475    FieldInfo {
14476        field_def_num: 4,
14477        name: "pool_length",
14478        type_name: "uint16",
14479        array: None,
14480        scale: Some(100_f64),
14481        offset: None,
14482        units: Some("m"),
14483        components: &[],
14484        sub_fields: &[],
14485        accumulate: false,
14486    },
14487    FieldInfo {
14488        field_def_num: 5,
14489        name: "pool_length_unit",
14490        type_name: "display_measure",
14491        array: None,
14492        scale: None,
14493        offset: None,
14494        units: None,
14495        components: &[],
14496        sub_fields: &[],
14497        accumulate: false,
14498    },
14499];
14500
14501pub static MESG_WORKOUT_SESSION: MesgInfo = MesgInfo {
14502    name: "workout_session",
14503    fields: FIELDS_WORKOUT_SESSION,
14504};
14505
14506static SUBFIELDS_WORKOUT_STEP_3: &[SubField] = &[
14507    SubField {
14508        name: "duration_time",
14509        type_name: "uint32",
14510        conditions: &[
14511            ("duration_type", "time"),
14512            ("duration_type", "repetition_time"),
14513        ],
14514        components: &[],
14515        scale: Some(1000_f64),
14516        offset: None,
14517        units: Some("s"),
14518    },
14519    SubField {
14520        name: "duration_distance",
14521        type_name: "uint32",
14522        conditions: &[("duration_type", "distance")],
14523        components: &[],
14524        scale: Some(100_f64),
14525        offset: None,
14526        units: Some("m"),
14527    },
14528    SubField {
14529        name: "duration_hr",
14530        type_name: "workout_hr",
14531        conditions: &[
14532            ("duration_type", "hr_less_than"),
14533            ("duration_type", "hr_greater_than"),
14534        ],
14535        components: &[],
14536        scale: None,
14537        offset: None,
14538        units: Some("% or bpm"),
14539    },
14540    SubField {
14541        name: "duration_calories",
14542        type_name: "uint32",
14543        conditions: &[("duration_type", "calories")],
14544        components: &[],
14545        scale: None,
14546        offset: None,
14547        units: Some("calories"),
14548    },
14549    SubField {
14550        name: "duration_step",
14551        type_name: "uint32",
14552        conditions: &[
14553            ("duration_type", "repeat_until_steps_cmplt"),
14554            ("duration_type", "repeat_until_time"),
14555            ("duration_type", "repeat_until_distance"),
14556            ("duration_type", "repeat_until_calories"),
14557            ("duration_type", "repeat_until_hr_less_than"),
14558            ("duration_type", "repeat_until_hr_greater_than"),
14559            ("duration_type", "repeat_until_power_less_than"),
14560            ("duration_type", "repeat_until_power_greater_than"),
14561        ],
14562        components: &[],
14563        scale: None,
14564        offset: None,
14565        units: None,
14566    },
14567    SubField {
14568        name: "duration_power",
14569        type_name: "workout_power",
14570        conditions: &[
14571            ("duration_type", "power_less_than"),
14572            ("duration_type", "power_greater_than"),
14573        ],
14574        components: &[],
14575        scale: None,
14576        offset: None,
14577        units: Some("% or watts"),
14578    },
14579    SubField {
14580        name: "duration_reps",
14581        type_name: "uint32",
14582        conditions: &[("duration_type", "reps")],
14583        components: &[],
14584        scale: None,
14585        offset: None,
14586        units: None,
14587    },
14588];
14589static SUBFIELDS_WORKOUT_STEP_5: &[SubField] = &[
14590    SubField {
14591        name: "target_speed_zone",
14592        type_name: "uint32",
14593        conditions: &[("target_type", "speed")],
14594        components: &[],
14595        scale: None,
14596        offset: None,
14597        units: None,
14598    },
14599    SubField {
14600        name: "target_hr_zone",
14601        type_name: "uint32",
14602        conditions: &[("target_type", "heart_rate")],
14603        components: &[],
14604        scale: None,
14605        offset: None,
14606        units: None,
14607    },
14608    SubField {
14609        name: "target_cadence_zone",
14610        type_name: "uint32",
14611        conditions: &[("target_type", "cadence")],
14612        components: &[],
14613        scale: None,
14614        offset: None,
14615        units: None,
14616    },
14617    SubField {
14618        name: "target_power_zone",
14619        type_name: "uint32",
14620        conditions: &[("target_type", "power")],
14621        components: &[],
14622        scale: None,
14623        offset: None,
14624        units: None,
14625    },
14626    SubField {
14627        name: "repeat_steps",
14628        type_name: "uint32",
14629        conditions: &[("duration_type", "repeat_until_steps_cmplt")],
14630        components: &[],
14631        scale: None,
14632        offset: None,
14633        units: None,
14634    },
14635    SubField {
14636        name: "repeat_time",
14637        type_name: "uint32",
14638        conditions: &[("duration_type", "repeat_until_time")],
14639        components: &[],
14640        scale: Some(1000_f64),
14641        offset: None,
14642        units: Some("s"),
14643    },
14644    SubField {
14645        name: "repeat_distance",
14646        type_name: "uint32",
14647        conditions: &[("duration_type", "repeat_until_distance")],
14648        components: &[],
14649        scale: Some(100_f64),
14650        offset: None,
14651        units: Some("m"),
14652    },
14653    SubField {
14654        name: "repeat_calories",
14655        type_name: "uint32",
14656        conditions: &[("duration_type", "repeat_until_calories")],
14657        components: &[],
14658        scale: None,
14659        offset: None,
14660        units: Some("calories"),
14661    },
14662    SubField {
14663        name: "repeat_hr",
14664        type_name: "workout_hr",
14665        conditions: &[
14666            ("duration_type", "repeat_until_hr_less_than"),
14667            ("duration_type", "repeat_until_hr_greater_than"),
14668        ],
14669        components: &[],
14670        scale: None,
14671        offset: None,
14672        units: Some("% or bpm"),
14673    },
14674    SubField {
14675        name: "repeat_power",
14676        type_name: "workout_power",
14677        conditions: &[
14678            ("duration_type", "repeat_until_power_less_than"),
14679            ("duration_type", "repeat_until_power_greater_than"),
14680        ],
14681        components: &[],
14682        scale: None,
14683        offset: None,
14684        units: Some("% or watts"),
14685    },
14686    SubField {
14687        name: "target_stroke_type",
14688        type_name: "swim_stroke",
14689        conditions: &[("target_type", "swim_stroke")],
14690        components: &[],
14691        scale: None,
14692        offset: None,
14693        units: None,
14694    },
14695];
14696static SUBFIELDS_WORKOUT_STEP_6: &[SubField] = &[
14697    SubField {
14698        name: "custom_target_speed_low",
14699        type_name: "uint32",
14700        conditions: &[("target_type", "speed")],
14701        components: &[],
14702        scale: Some(1000_f64),
14703        offset: None,
14704        units: Some("m/s"),
14705    },
14706    SubField {
14707        name: "custom_target_heart_rate_low",
14708        type_name: "workout_hr",
14709        conditions: &[("target_type", "heart_rate")],
14710        components: &[],
14711        scale: None,
14712        offset: None,
14713        units: Some("% or bpm"),
14714    },
14715    SubField {
14716        name: "custom_target_cadence_low",
14717        type_name: "uint32",
14718        conditions: &[("target_type", "cadence")],
14719        components: &[],
14720        scale: None,
14721        offset: None,
14722        units: Some("rpm"),
14723    },
14724    SubField {
14725        name: "custom_target_power_low",
14726        type_name: "workout_power",
14727        conditions: &[("target_type", "power")],
14728        components: &[],
14729        scale: None,
14730        offset: None,
14731        units: Some("% or watts"),
14732    },
14733];
14734static SUBFIELDS_WORKOUT_STEP_7: &[SubField] = &[
14735    SubField {
14736        name: "custom_target_speed_high",
14737        type_name: "uint32",
14738        conditions: &[("target_type", "speed")],
14739        components: &[],
14740        scale: Some(1000_f64),
14741        offset: None,
14742        units: Some("m/s"),
14743    },
14744    SubField {
14745        name: "custom_target_heart_rate_high",
14746        type_name: "workout_hr",
14747        conditions: &[("target_type", "heart_rate")],
14748        components: &[],
14749        scale: None,
14750        offset: None,
14751        units: Some("% or bpm"),
14752    },
14753    SubField {
14754        name: "custom_target_cadence_high",
14755        type_name: "uint32",
14756        conditions: &[("target_type", "cadence")],
14757        components: &[],
14758        scale: None,
14759        offset: None,
14760        units: Some("rpm"),
14761    },
14762    SubField {
14763        name: "custom_target_power_high",
14764        type_name: "workout_power",
14765        conditions: &[("target_type", "power")],
14766        components: &[],
14767        scale: None,
14768        offset: None,
14769        units: Some("% or watts"),
14770    },
14771];
14772static SUBFIELDS_WORKOUT_STEP_16: &[SubField] = &[
14773    SubField {
14774        name: "secondary_target_speed_zone",
14775        type_name: "uint32",
14776        conditions: &[("secondary_target_type", "speed")],
14777        components: &[],
14778        scale: None,
14779        offset: None,
14780        units: None,
14781    },
14782    SubField {
14783        name: "secondary_target_hr_zone",
14784        type_name: "uint32",
14785        conditions: &[("secondary_target_type", "heart_rate")],
14786        components: &[],
14787        scale: None,
14788        offset: None,
14789        units: None,
14790    },
14791    SubField {
14792        name: "secondary_target_cadence_zone",
14793        type_name: "uint32",
14794        conditions: &[("secondary_target_type", "cadence")],
14795        components: &[],
14796        scale: None,
14797        offset: None,
14798        units: None,
14799    },
14800    SubField {
14801        name: "secondary_target_power_zone",
14802        type_name: "uint32",
14803        conditions: &[("secondary_target_type", "power")],
14804        components: &[],
14805        scale: None,
14806        offset: None,
14807        units: None,
14808    },
14809    SubField {
14810        name: "secondary_target_stroke_type",
14811        type_name: "swim_stroke",
14812        conditions: &[("secondary_target_type", "swim_stroke")],
14813        components: &[],
14814        scale: None,
14815        offset: None,
14816        units: None,
14817    },
14818];
14819static SUBFIELDS_WORKOUT_STEP_17: &[SubField] = &[
14820    SubField {
14821        name: "secondary_custom_target_speed_low",
14822        type_name: "uint32",
14823        conditions: &[("secondary_target_type", "speed")],
14824        components: &[],
14825        scale: Some(1000_f64),
14826        offset: None,
14827        units: Some("m/s"),
14828    },
14829    SubField {
14830        name: "secondary_custom_target_heart_rate_low",
14831        type_name: "workout_hr",
14832        conditions: &[("secondary_target_type", "heart_rate")],
14833        components: &[],
14834        scale: None,
14835        offset: None,
14836        units: Some("% or bpm"),
14837    },
14838    SubField {
14839        name: "secondary_custom_target_cadence_low",
14840        type_name: "uint32",
14841        conditions: &[("secondary_target_type", "cadence")],
14842        components: &[],
14843        scale: None,
14844        offset: None,
14845        units: Some("rpm"),
14846    },
14847    SubField {
14848        name: "secondary_custom_target_power_low",
14849        type_name: "workout_power",
14850        conditions: &[("secondary_target_type", "power")],
14851        components: &[],
14852        scale: None,
14853        offset: None,
14854        units: Some("% or watts"),
14855    },
14856];
14857static SUBFIELDS_WORKOUT_STEP_18: &[SubField] = &[
14858    SubField {
14859        name: "secondary_custom_target_speed_high",
14860        type_name: "uint32",
14861        conditions: &[("secondary_target_type", "speed")],
14862        components: &[],
14863        scale: Some(1000_f64),
14864        offset: None,
14865        units: Some("m/s"),
14866    },
14867    SubField {
14868        name: "secondary_custom_target_heart_rate_high",
14869        type_name: "workout_hr",
14870        conditions: &[("secondary_target_type", "heart_rate")],
14871        components: &[],
14872        scale: None,
14873        offset: None,
14874        units: Some("% or bpm"),
14875    },
14876    SubField {
14877        name: "secondary_custom_target_cadence_high",
14878        type_name: "uint32",
14879        conditions: &[("secondary_target_type", "cadence")],
14880        components: &[],
14881        scale: None,
14882        offset: None,
14883        units: Some("rpm"),
14884    },
14885    SubField {
14886        name: "secondary_custom_target_power_high",
14887        type_name: "workout_power",
14888        conditions: &[("secondary_target_type", "power")],
14889        components: &[],
14890        scale: None,
14891        offset: None,
14892        units: Some("% or watts"),
14893    },
14894];
14895static FIELDS_WORKOUT_STEP: &[FieldInfo] = &[
14896    FieldInfo {
14897        field_def_num: 254,
14898        name: "message_index",
14899        type_name: "message_index",
14900        array: None,
14901        scale: None,
14902        offset: None,
14903        units: None,
14904        components: &[],
14905        sub_fields: &[],
14906        accumulate: false,
14907    },
14908    FieldInfo {
14909        field_def_num: 0,
14910        name: "wkt_step_name",
14911        type_name: "string",
14912        array: None,
14913        scale: None,
14914        offset: None,
14915        units: None,
14916        components: &[],
14917        sub_fields: &[],
14918        accumulate: false,
14919    },
14920    FieldInfo {
14921        field_def_num: 1,
14922        name: "duration_type",
14923        type_name: "wkt_step_duration",
14924        array: None,
14925        scale: None,
14926        offset: None,
14927        units: None,
14928        components: &[],
14929        sub_fields: &[],
14930        accumulate: false,
14931    },
14932    FieldInfo {
14933        field_def_num: 2,
14934        name: "duration_value",
14935        type_name: "uint32",
14936        array: None,
14937        scale: None,
14938        offset: None,
14939        units: None,
14940        components: &[],
14941        sub_fields: SUBFIELDS_WORKOUT_STEP_3,
14942        accumulate: false,
14943    },
14944    FieldInfo {
14945        field_def_num: 3,
14946        name: "target_type",
14947        type_name: "wkt_step_target",
14948        array: None,
14949        scale: None,
14950        offset: None,
14951        units: None,
14952        components: &[],
14953        sub_fields: &[],
14954        accumulate: false,
14955    },
14956    FieldInfo {
14957        field_def_num: 4,
14958        name: "target_value",
14959        type_name: "uint32",
14960        array: None,
14961        scale: None,
14962        offset: None,
14963        units: None,
14964        components: &[],
14965        sub_fields: SUBFIELDS_WORKOUT_STEP_5,
14966        accumulate: false,
14967    },
14968    FieldInfo {
14969        field_def_num: 5,
14970        name: "custom_target_value_low",
14971        type_name: "uint32",
14972        array: None,
14973        scale: None,
14974        offset: None,
14975        units: None,
14976        components: &[],
14977        sub_fields: SUBFIELDS_WORKOUT_STEP_6,
14978        accumulate: false,
14979    },
14980    FieldInfo {
14981        field_def_num: 6,
14982        name: "custom_target_value_high",
14983        type_name: "uint32",
14984        array: None,
14985        scale: None,
14986        offset: None,
14987        units: None,
14988        components: &[],
14989        sub_fields: SUBFIELDS_WORKOUT_STEP_7,
14990        accumulate: false,
14991    },
14992    FieldInfo {
14993        field_def_num: 7,
14994        name: "intensity",
14995        type_name: "intensity",
14996        array: None,
14997        scale: None,
14998        offset: None,
14999        units: None,
15000        components: &[],
15001        sub_fields: &[],
15002        accumulate: false,
15003    },
15004    FieldInfo {
15005        field_def_num: 8,
15006        name: "notes",
15007        type_name: "string",
15008        array: None,
15009        scale: None,
15010        offset: None,
15011        units: None,
15012        components: &[],
15013        sub_fields: &[],
15014        accumulate: false,
15015    },
15016    FieldInfo {
15017        field_def_num: 9,
15018        name: "equipment",
15019        type_name: "workout_equipment",
15020        array: None,
15021        scale: None,
15022        offset: None,
15023        units: None,
15024        components: &[],
15025        sub_fields: &[],
15026        accumulate: false,
15027    },
15028    FieldInfo {
15029        field_def_num: 10,
15030        name: "exercise_category",
15031        type_name: "exercise_category",
15032        array: None,
15033        scale: None,
15034        offset: None,
15035        units: None,
15036        components: &[],
15037        sub_fields: &[],
15038        accumulate: false,
15039    },
15040    FieldInfo {
15041        field_def_num: 11,
15042        name: "exercise_name",
15043        type_name: "uint16",
15044        array: None,
15045        scale: None,
15046        offset: None,
15047        units: None,
15048        components: &[],
15049        sub_fields: &[],
15050        accumulate: false,
15051    },
15052    FieldInfo {
15053        field_def_num: 12,
15054        name: "exercise_weight",
15055        type_name: "uint16",
15056        array: None,
15057        scale: Some(100_f64),
15058        offset: None,
15059        units: Some("kg"),
15060        components: &[],
15061        sub_fields: &[],
15062        accumulate: false,
15063    },
15064    FieldInfo {
15065        field_def_num: 13,
15066        name: "weight_display_unit",
15067        type_name: "fit_base_unit",
15068        array: None,
15069        scale: None,
15070        offset: None,
15071        units: None,
15072        components: &[],
15073        sub_fields: &[],
15074        accumulate: false,
15075    },
15076    FieldInfo {
15077        field_def_num: 19,
15078        name: "secondary_target_type",
15079        type_name: "wkt_step_target",
15080        array: None,
15081        scale: None,
15082        offset: None,
15083        units: None,
15084        components: &[],
15085        sub_fields: &[],
15086        accumulate: false,
15087    },
15088    FieldInfo {
15089        field_def_num: 20,
15090        name: "secondary_target_value",
15091        type_name: "uint32",
15092        array: None,
15093        scale: None,
15094        offset: None,
15095        units: None,
15096        components: &[],
15097        sub_fields: SUBFIELDS_WORKOUT_STEP_16,
15098        accumulate: false,
15099    },
15100    FieldInfo {
15101        field_def_num: 21,
15102        name: "secondary_custom_target_value_low",
15103        type_name: "uint32",
15104        array: None,
15105        scale: None,
15106        offset: None,
15107        units: None,
15108        components: &[],
15109        sub_fields: SUBFIELDS_WORKOUT_STEP_17,
15110        accumulate: false,
15111    },
15112    FieldInfo {
15113        field_def_num: 22,
15114        name: "secondary_custom_target_value_high",
15115        type_name: "uint32",
15116        array: None,
15117        scale: None,
15118        offset: None,
15119        units: None,
15120        components: &[],
15121        sub_fields: SUBFIELDS_WORKOUT_STEP_18,
15122        accumulate: false,
15123    },
15124];
15125
15126pub static MESG_WORKOUT_STEP: MesgInfo = MesgInfo {
15127    name: "workout_step",
15128    fields: FIELDS_WORKOUT_STEP,
15129};
15130
15131static FIELDS_EXERCISE_TITLE: &[FieldInfo] = &[
15132    FieldInfo {
15133        field_def_num: 254,
15134        name: "message_index",
15135        type_name: "message_index",
15136        array: None,
15137        scale: None,
15138        offset: None,
15139        units: None,
15140        components: &[],
15141        sub_fields: &[],
15142        accumulate: false,
15143    },
15144    FieldInfo {
15145        field_def_num: 0,
15146        name: "exercise_category",
15147        type_name: "exercise_category",
15148        array: None,
15149        scale: None,
15150        offset: None,
15151        units: None,
15152        components: &[],
15153        sub_fields: &[],
15154        accumulate: false,
15155    },
15156    FieldInfo {
15157        field_def_num: 1,
15158        name: "exercise_name",
15159        type_name: "uint16",
15160        array: None,
15161        scale: None,
15162        offset: None,
15163        units: None,
15164        components: &[],
15165        sub_fields: &[],
15166        accumulate: false,
15167    },
15168    FieldInfo {
15169        field_def_num: 2,
15170        name: "wkt_step_name",
15171        type_name: "string",
15172        array: Some("[N]"),
15173        scale: None,
15174        offset: None,
15175        units: None,
15176        components: &[],
15177        sub_fields: &[],
15178        accumulate: false,
15179    },
15180];
15181
15182pub static MESG_EXERCISE_TITLE: MesgInfo = MesgInfo {
15183    name: "exercise_title",
15184    fields: FIELDS_EXERCISE_TITLE,
15185};
15186
15187static SUBFIELDS_SCHEDULE_1: &[SubField] = &[
15188    SubField {
15189        name: "favero_product",
15190        type_name: "favero_product",
15191        conditions: &[("manufacturer", "favero_electronics")],
15192        components: &[],
15193        scale: None,
15194        offset: None,
15195        units: None,
15196    },
15197    SubField {
15198        name: "garmin_product",
15199        type_name: "garmin_product",
15200        conditions: &[
15201            ("manufacturer", "garmin"),
15202            ("manufacturer", "dynastream"),
15203            ("manufacturer", "dynastream_oem"),
15204            ("manufacturer", "tacx"),
15205        ],
15206        components: &[],
15207        scale: None,
15208        offset: None,
15209        units: None,
15210    },
15211];
15212static FIELDS_SCHEDULE: &[FieldInfo] = &[
15213    FieldInfo {
15214        field_def_num: 0,
15215        name: "manufacturer",
15216        type_name: "manufacturer",
15217        array: None,
15218        scale: None,
15219        offset: None,
15220        units: None,
15221        components: &[],
15222        sub_fields: &[],
15223        accumulate: false,
15224    },
15225    FieldInfo {
15226        field_def_num: 1,
15227        name: "product",
15228        type_name: "uint16",
15229        array: None,
15230        scale: None,
15231        offset: None,
15232        units: None,
15233        components: &[],
15234        sub_fields: SUBFIELDS_SCHEDULE_1,
15235        accumulate: false,
15236    },
15237    FieldInfo {
15238        field_def_num: 2,
15239        name: "serial_number",
15240        type_name: "uint32z",
15241        array: None,
15242        scale: None,
15243        offset: None,
15244        units: None,
15245        components: &[],
15246        sub_fields: &[],
15247        accumulate: false,
15248    },
15249    FieldInfo {
15250        field_def_num: 3,
15251        name: "time_created",
15252        type_name: "date_time",
15253        array: None,
15254        scale: None,
15255        offset: None,
15256        units: None,
15257        components: &[],
15258        sub_fields: &[],
15259        accumulate: false,
15260    },
15261    FieldInfo {
15262        field_def_num: 4,
15263        name: "completed",
15264        type_name: "bool",
15265        array: None,
15266        scale: None,
15267        offset: None,
15268        units: None,
15269        components: &[],
15270        sub_fields: &[],
15271        accumulate: false,
15272    },
15273    FieldInfo {
15274        field_def_num: 5,
15275        name: "type",
15276        type_name: "schedule",
15277        array: None,
15278        scale: None,
15279        offset: None,
15280        units: None,
15281        components: &[],
15282        sub_fields: &[],
15283        accumulate: false,
15284    },
15285    FieldInfo {
15286        field_def_num: 6,
15287        name: "scheduled_time",
15288        type_name: "local_date_time",
15289        array: None,
15290        scale: None,
15291        offset: None,
15292        units: None,
15293        components: &[],
15294        sub_fields: &[],
15295        accumulate: false,
15296    },
15297];
15298
15299pub static MESG_SCHEDULE: MesgInfo = MesgInfo {
15300    name: "schedule",
15301    fields: FIELDS_SCHEDULE,
15302};
15303
15304static FIELDS_TOTALS: &[FieldInfo] = &[
15305    FieldInfo {
15306        field_def_num: 254,
15307        name: "message_index",
15308        type_name: "message_index",
15309        array: None,
15310        scale: None,
15311        offset: None,
15312        units: None,
15313        components: &[],
15314        sub_fields: &[],
15315        accumulate: false,
15316    },
15317    FieldInfo {
15318        field_def_num: 253,
15319        name: "timestamp",
15320        type_name: "date_time",
15321        array: None,
15322        scale: None,
15323        offset: None,
15324        units: Some("s"),
15325        components: &[],
15326        sub_fields: &[],
15327        accumulate: false,
15328    },
15329    FieldInfo {
15330        field_def_num: 0,
15331        name: "timer_time",
15332        type_name: "uint32",
15333        array: None,
15334        scale: None,
15335        offset: None,
15336        units: Some("s"),
15337        components: &[],
15338        sub_fields: &[],
15339        accumulate: false,
15340    },
15341    FieldInfo {
15342        field_def_num: 1,
15343        name: "distance",
15344        type_name: "uint32",
15345        array: None,
15346        scale: None,
15347        offset: None,
15348        units: Some("m"),
15349        components: &[],
15350        sub_fields: &[],
15351        accumulate: false,
15352    },
15353    FieldInfo {
15354        field_def_num: 2,
15355        name: "calories",
15356        type_name: "uint32",
15357        array: None,
15358        scale: None,
15359        offset: None,
15360        units: Some("kcal"),
15361        components: &[],
15362        sub_fields: &[],
15363        accumulate: false,
15364    },
15365    FieldInfo {
15366        field_def_num: 3,
15367        name: "sport",
15368        type_name: "sport",
15369        array: None,
15370        scale: None,
15371        offset: None,
15372        units: None,
15373        components: &[],
15374        sub_fields: &[],
15375        accumulate: false,
15376    },
15377    FieldInfo {
15378        field_def_num: 4,
15379        name: "elapsed_time",
15380        type_name: "uint32",
15381        array: None,
15382        scale: None,
15383        offset: None,
15384        units: Some("s"),
15385        components: &[],
15386        sub_fields: &[],
15387        accumulate: false,
15388    },
15389    FieldInfo {
15390        field_def_num: 5,
15391        name: "sessions",
15392        type_name: "uint16",
15393        array: None,
15394        scale: None,
15395        offset: None,
15396        units: None,
15397        components: &[],
15398        sub_fields: &[],
15399        accumulate: false,
15400    },
15401    FieldInfo {
15402        field_def_num: 6,
15403        name: "active_time",
15404        type_name: "uint32",
15405        array: None,
15406        scale: None,
15407        offset: None,
15408        units: Some("s"),
15409        components: &[],
15410        sub_fields: &[],
15411        accumulate: false,
15412    },
15413    FieldInfo {
15414        field_def_num: 9,
15415        name: "sport_index",
15416        type_name: "uint8",
15417        array: None,
15418        scale: None,
15419        offset: None,
15420        units: None,
15421        components: &[],
15422        sub_fields: &[],
15423        accumulate: false,
15424    },
15425];
15426
15427pub static MESG_TOTALS: MesgInfo = MesgInfo {
15428    name: "totals",
15429    fields: FIELDS_TOTALS,
15430};
15431
15432static FIELDS_WEIGHT_SCALE: &[FieldInfo] = &[
15433    FieldInfo {
15434        field_def_num: 253,
15435        name: "timestamp",
15436        type_name: "date_time",
15437        array: None,
15438        scale: None,
15439        offset: None,
15440        units: Some("s"),
15441        components: &[],
15442        sub_fields: &[],
15443        accumulate: false,
15444    },
15445    FieldInfo {
15446        field_def_num: 0,
15447        name: "weight",
15448        type_name: "weight",
15449        array: None,
15450        scale: Some(100_f64),
15451        offset: None,
15452        units: Some("kg"),
15453        components: &[],
15454        sub_fields: &[],
15455        accumulate: false,
15456    },
15457    FieldInfo {
15458        field_def_num: 1,
15459        name: "percent_fat",
15460        type_name: "uint16",
15461        array: None,
15462        scale: Some(100_f64),
15463        offset: None,
15464        units: Some("%"),
15465        components: &[],
15466        sub_fields: &[],
15467        accumulate: false,
15468    },
15469    FieldInfo {
15470        field_def_num: 2,
15471        name: "percent_hydration",
15472        type_name: "uint16",
15473        array: None,
15474        scale: Some(100_f64),
15475        offset: None,
15476        units: Some("%"),
15477        components: &[],
15478        sub_fields: &[],
15479        accumulate: false,
15480    },
15481    FieldInfo {
15482        field_def_num: 3,
15483        name: "visceral_fat_mass",
15484        type_name: "uint16",
15485        array: None,
15486        scale: Some(100_f64),
15487        offset: None,
15488        units: Some("kg"),
15489        components: &[],
15490        sub_fields: &[],
15491        accumulate: false,
15492    },
15493    FieldInfo {
15494        field_def_num: 4,
15495        name: "bone_mass",
15496        type_name: "uint16",
15497        array: None,
15498        scale: Some(100_f64),
15499        offset: None,
15500        units: Some("kg"),
15501        components: &[],
15502        sub_fields: &[],
15503        accumulate: false,
15504    },
15505    FieldInfo {
15506        field_def_num: 5,
15507        name: "muscle_mass",
15508        type_name: "uint16",
15509        array: None,
15510        scale: Some(100_f64),
15511        offset: None,
15512        units: Some("kg"),
15513        components: &[],
15514        sub_fields: &[],
15515        accumulate: false,
15516    },
15517    FieldInfo {
15518        field_def_num: 7,
15519        name: "basal_met",
15520        type_name: "uint16",
15521        array: None,
15522        scale: Some(4_f64),
15523        offset: None,
15524        units: Some("kcal/day"),
15525        components: &[],
15526        sub_fields: &[],
15527        accumulate: false,
15528    },
15529    FieldInfo {
15530        field_def_num: 8,
15531        name: "physique_rating",
15532        type_name: "uint8",
15533        array: None,
15534        scale: None,
15535        offset: None,
15536        units: None,
15537        components: &[],
15538        sub_fields: &[],
15539        accumulate: false,
15540    },
15541    FieldInfo {
15542        field_def_num: 9,
15543        name: "active_met",
15544        type_name: "uint16",
15545        array: None,
15546        scale: Some(4_f64),
15547        offset: None,
15548        units: Some("kcal/day"),
15549        components: &[],
15550        sub_fields: &[],
15551        accumulate: false,
15552    },
15553    FieldInfo {
15554        field_def_num: 10,
15555        name: "metabolic_age",
15556        type_name: "uint8",
15557        array: None,
15558        scale: None,
15559        offset: None,
15560        units: Some("years"),
15561        components: &[],
15562        sub_fields: &[],
15563        accumulate: false,
15564    },
15565    FieldInfo {
15566        field_def_num: 11,
15567        name: "visceral_fat_rating",
15568        type_name: "uint8",
15569        array: None,
15570        scale: None,
15571        offset: None,
15572        units: None,
15573        components: &[],
15574        sub_fields: &[],
15575        accumulate: false,
15576    },
15577    FieldInfo {
15578        field_def_num: 12,
15579        name: "user_profile_index",
15580        type_name: "message_index",
15581        array: None,
15582        scale: None,
15583        offset: None,
15584        units: None,
15585        components: &[],
15586        sub_fields: &[],
15587        accumulate: false,
15588    },
15589    FieldInfo {
15590        field_def_num: 13,
15591        name: "bmi",
15592        type_name: "uint16",
15593        array: None,
15594        scale: Some(10_f64),
15595        offset: None,
15596        units: Some("kg/m^2"),
15597        components: &[],
15598        sub_fields: &[],
15599        accumulate: false,
15600    },
15601];
15602
15603pub static MESG_WEIGHT_SCALE: MesgInfo = MesgInfo {
15604    name: "weight_scale",
15605    fields: FIELDS_WEIGHT_SCALE,
15606};
15607
15608static FIELDS_BLOOD_PRESSURE: &[FieldInfo] = &[
15609    FieldInfo {
15610        field_def_num: 253,
15611        name: "timestamp",
15612        type_name: "date_time",
15613        array: None,
15614        scale: None,
15615        offset: None,
15616        units: Some("s"),
15617        components: &[],
15618        sub_fields: &[],
15619        accumulate: false,
15620    },
15621    FieldInfo {
15622        field_def_num: 0,
15623        name: "systolic_pressure",
15624        type_name: "uint16",
15625        array: None,
15626        scale: None,
15627        offset: None,
15628        units: Some("mmHg"),
15629        components: &[],
15630        sub_fields: &[],
15631        accumulate: false,
15632    },
15633    FieldInfo {
15634        field_def_num: 1,
15635        name: "diastolic_pressure",
15636        type_name: "uint16",
15637        array: None,
15638        scale: None,
15639        offset: None,
15640        units: Some("mmHg"),
15641        components: &[],
15642        sub_fields: &[],
15643        accumulate: false,
15644    },
15645    FieldInfo {
15646        field_def_num: 2,
15647        name: "mean_arterial_pressure",
15648        type_name: "uint16",
15649        array: None,
15650        scale: None,
15651        offset: None,
15652        units: Some("mmHg"),
15653        components: &[],
15654        sub_fields: &[],
15655        accumulate: false,
15656    },
15657    FieldInfo {
15658        field_def_num: 3,
15659        name: "map_3_sample_mean",
15660        type_name: "uint16",
15661        array: None,
15662        scale: None,
15663        offset: None,
15664        units: Some("mmHg"),
15665        components: &[],
15666        sub_fields: &[],
15667        accumulate: false,
15668    },
15669    FieldInfo {
15670        field_def_num: 4,
15671        name: "map_morning_values",
15672        type_name: "uint16",
15673        array: None,
15674        scale: None,
15675        offset: None,
15676        units: Some("mmHg"),
15677        components: &[],
15678        sub_fields: &[],
15679        accumulate: false,
15680    },
15681    FieldInfo {
15682        field_def_num: 5,
15683        name: "map_evening_values",
15684        type_name: "uint16",
15685        array: None,
15686        scale: None,
15687        offset: None,
15688        units: Some("mmHg"),
15689        components: &[],
15690        sub_fields: &[],
15691        accumulate: false,
15692    },
15693    FieldInfo {
15694        field_def_num: 6,
15695        name: "heart_rate",
15696        type_name: "uint8",
15697        array: None,
15698        scale: None,
15699        offset: None,
15700        units: Some("bpm"),
15701        components: &[],
15702        sub_fields: &[],
15703        accumulate: false,
15704    },
15705    FieldInfo {
15706        field_def_num: 7,
15707        name: "heart_rate_type",
15708        type_name: "hr_type",
15709        array: None,
15710        scale: None,
15711        offset: None,
15712        units: None,
15713        components: &[],
15714        sub_fields: &[],
15715        accumulate: false,
15716    },
15717    FieldInfo {
15718        field_def_num: 8,
15719        name: "status",
15720        type_name: "bp_status",
15721        array: None,
15722        scale: None,
15723        offset: None,
15724        units: None,
15725        components: &[],
15726        sub_fields: &[],
15727        accumulate: false,
15728    },
15729    FieldInfo {
15730        field_def_num: 9,
15731        name: "user_profile_index",
15732        type_name: "message_index",
15733        array: None,
15734        scale: None,
15735        offset: None,
15736        units: None,
15737        components: &[],
15738        sub_fields: &[],
15739        accumulate: false,
15740    },
15741];
15742
15743pub static MESG_BLOOD_PRESSURE: MesgInfo = MesgInfo {
15744    name: "blood_pressure",
15745    fields: FIELDS_BLOOD_PRESSURE,
15746};
15747
15748static FIELDS_MONITORING_INFO: &[FieldInfo] = &[
15749    FieldInfo {
15750        field_def_num: 253,
15751        name: "timestamp",
15752        type_name: "date_time",
15753        array: None,
15754        scale: None,
15755        offset: None,
15756        units: Some("s"),
15757        components: &[],
15758        sub_fields: &[],
15759        accumulate: false,
15760    },
15761    FieldInfo {
15762        field_def_num: 0,
15763        name: "local_timestamp",
15764        type_name: "local_date_time",
15765        array: None,
15766        scale: None,
15767        offset: None,
15768        units: Some("s"),
15769        components: &[],
15770        sub_fields: &[],
15771        accumulate: false,
15772    },
15773    FieldInfo {
15774        field_def_num: 1,
15775        name: "activity_type",
15776        type_name: "activity_type",
15777        array: Some("[N]"),
15778        scale: None,
15779        offset: None,
15780        units: None,
15781        components: &[],
15782        sub_fields: &[],
15783        accumulate: false,
15784    },
15785    FieldInfo {
15786        field_def_num: 3,
15787        name: "cycles_to_distance",
15788        type_name: "uint16",
15789        array: Some("[N]"),
15790        scale: Some(5000_f64),
15791        offset: None,
15792        units: Some("m/cycle"),
15793        components: &[],
15794        sub_fields: &[],
15795        accumulate: false,
15796    },
15797    FieldInfo {
15798        field_def_num: 4,
15799        name: "cycles_to_calories",
15800        type_name: "uint16",
15801        array: Some("[N]"),
15802        scale: Some(5000_f64),
15803        offset: None,
15804        units: Some("kcal/cycle"),
15805        components: &[],
15806        sub_fields: &[],
15807        accumulate: false,
15808    },
15809    FieldInfo {
15810        field_def_num: 5,
15811        name: "resting_metabolic_rate",
15812        type_name: "uint16",
15813        array: None,
15814        scale: None,
15815        offset: None,
15816        units: Some("kcal / day"),
15817        components: &[],
15818        sub_fields: &[],
15819        accumulate: false,
15820    },
15821];
15822
15823pub static MESG_MONITORING_INFO: MesgInfo = MesgInfo {
15824    name: "monitoring_info",
15825    fields: FIELDS_MONITORING_INFO,
15826};
15827
15828static SUBFIELDS_MONITORING_4: &[SubField] = &[
15829    SubField {
15830        name: "steps",
15831        type_name: "uint32",
15832        conditions: &[("activity_type", "walking"), ("activity_type", "running")],
15833        components: &[],
15834        scale: Some(1_f64),
15835        offset: None,
15836        units: Some("steps"),
15837    },
15838    SubField {
15839        name: "strokes",
15840        type_name: "uint32",
15841        conditions: &[("activity_type", "cycling"), ("activity_type", "swimming")],
15842        components: &[],
15843        scale: Some(2_f64),
15844        offset: None,
15845        units: Some("strokes"),
15846    },
15847];
15848static COMPONENTS_MONITORING_18: &[Component] = &[
15849    Component {
15850        name: "activity_type",
15851        bits: 5,
15852        scale: None,
15853        offset: None,
15854        units: None,
15855        accumulate: false,
15856    },
15857    Component {
15858        name: "intensity",
15859        bits: 3,
15860        scale: None,
15861        offset: None,
15862        units: None,
15863        accumulate: false,
15864    },
15865];
15866static FIELDS_MONITORING: &[FieldInfo] = &[
15867    FieldInfo {
15868        field_def_num: 253,
15869        name: "timestamp",
15870        type_name: "date_time",
15871        array: None,
15872        scale: None,
15873        offset: None,
15874        units: Some("s"),
15875        components: &[],
15876        sub_fields: &[],
15877        accumulate: false,
15878    },
15879    FieldInfo {
15880        field_def_num: 0,
15881        name: "device_index",
15882        type_name: "device_index",
15883        array: None,
15884        scale: None,
15885        offset: None,
15886        units: None,
15887        components: &[],
15888        sub_fields: &[],
15889        accumulate: false,
15890    },
15891    FieldInfo {
15892        field_def_num: 1,
15893        name: "calories",
15894        type_name: "uint16",
15895        array: None,
15896        scale: None,
15897        offset: None,
15898        units: Some("kcal"),
15899        components: &[],
15900        sub_fields: &[],
15901        accumulate: false,
15902    },
15903    FieldInfo {
15904        field_def_num: 2,
15905        name: "distance",
15906        type_name: "uint32",
15907        array: None,
15908        scale: Some(100_f64),
15909        offset: None,
15910        units: Some("m"),
15911        components: &[],
15912        sub_fields: &[],
15913        accumulate: false,
15914    },
15915    FieldInfo {
15916        field_def_num: 3,
15917        name: "cycles",
15918        type_name: "uint32",
15919        array: None,
15920        scale: Some(2_f64),
15921        offset: None,
15922        units: Some("cycles"),
15923        components: &[],
15924        sub_fields: SUBFIELDS_MONITORING_4,
15925        accumulate: false,
15926    },
15927    FieldInfo {
15928        field_def_num: 4,
15929        name: "active_time",
15930        type_name: "uint32",
15931        array: None,
15932        scale: Some(1000_f64),
15933        offset: None,
15934        units: Some("s"),
15935        components: &[],
15936        sub_fields: &[],
15937        accumulate: false,
15938    },
15939    FieldInfo {
15940        field_def_num: 5,
15941        name: "activity_type",
15942        type_name: "activity_type",
15943        array: None,
15944        scale: None,
15945        offset: None,
15946        units: None,
15947        components: &[],
15948        sub_fields: &[],
15949        accumulate: false,
15950    },
15951    FieldInfo {
15952        field_def_num: 6,
15953        name: "activity_subtype",
15954        type_name: "activity_subtype",
15955        array: None,
15956        scale: None,
15957        offset: None,
15958        units: None,
15959        components: &[],
15960        sub_fields: &[],
15961        accumulate: false,
15962    },
15963    FieldInfo {
15964        field_def_num: 7,
15965        name: "activity_level",
15966        type_name: "activity_level",
15967        array: None,
15968        scale: None,
15969        offset: None,
15970        units: None,
15971        components: &[],
15972        sub_fields: &[],
15973        accumulate: false,
15974    },
15975    FieldInfo {
15976        field_def_num: 8,
15977        name: "distance_16",
15978        type_name: "uint16",
15979        array: None,
15980        scale: None,
15981        offset: None,
15982        units: Some("100 * m"),
15983        components: &[],
15984        sub_fields: &[],
15985        accumulate: false,
15986    },
15987    FieldInfo {
15988        field_def_num: 9,
15989        name: "cycles_16",
15990        type_name: "uint16",
15991        array: None,
15992        scale: None,
15993        offset: None,
15994        units: Some("2 * cycles (steps)"),
15995        components: &[],
15996        sub_fields: &[],
15997        accumulate: false,
15998    },
15999    FieldInfo {
16000        field_def_num: 10,
16001        name: "active_time_16",
16002        type_name: "uint16",
16003        array: None,
16004        scale: None,
16005        offset: None,
16006        units: Some("s"),
16007        components: &[],
16008        sub_fields: &[],
16009        accumulate: false,
16010    },
16011    FieldInfo {
16012        field_def_num: 11,
16013        name: "local_timestamp",
16014        type_name: "local_date_time",
16015        array: None,
16016        scale: None,
16017        offset: None,
16018        units: None,
16019        components: &[],
16020        sub_fields: &[],
16021        accumulate: false,
16022    },
16023    FieldInfo {
16024        field_def_num: 12,
16025        name: "temperature",
16026        type_name: "sint16",
16027        array: None,
16028        scale: Some(100_f64),
16029        offset: None,
16030        units: Some("C"),
16031        components: &[],
16032        sub_fields: &[],
16033        accumulate: false,
16034    },
16035    FieldInfo {
16036        field_def_num: 14,
16037        name: "temperature_min",
16038        type_name: "sint16",
16039        array: None,
16040        scale: Some(100_f64),
16041        offset: None,
16042        units: Some("C"),
16043        components: &[],
16044        sub_fields: &[],
16045        accumulate: false,
16046    },
16047    FieldInfo {
16048        field_def_num: 15,
16049        name: "temperature_max",
16050        type_name: "sint16",
16051        array: None,
16052        scale: Some(100_f64),
16053        offset: None,
16054        units: Some("C"),
16055        components: &[],
16056        sub_fields: &[],
16057        accumulate: false,
16058    },
16059    FieldInfo {
16060        field_def_num: 16,
16061        name: "activity_time",
16062        type_name: "uint16",
16063        array: Some("[8]"),
16064        scale: None,
16065        offset: None,
16066        units: Some("minutes"),
16067        components: &[],
16068        sub_fields: &[],
16069        accumulate: false,
16070    },
16071    FieldInfo {
16072        field_def_num: 19,
16073        name: "active_calories",
16074        type_name: "uint16",
16075        array: None,
16076        scale: None,
16077        offset: None,
16078        units: Some("kcal"),
16079        components: &[],
16080        sub_fields: &[],
16081        accumulate: false,
16082    },
16083    FieldInfo {
16084        field_def_num: 24,
16085        name: "current_activity_type_intensity",
16086        type_name: "byte",
16087        array: None,
16088        scale: None,
16089        offset: None,
16090        units: None,
16091        components: COMPONENTS_MONITORING_18,
16092        sub_fields: &[],
16093        accumulate: false,
16094    },
16095    FieldInfo {
16096        field_def_num: 25,
16097        name: "timestamp_min_8",
16098        type_name: "uint8",
16099        array: None,
16100        scale: None,
16101        offset: None,
16102        units: Some("min"),
16103        components: &[],
16104        sub_fields: &[],
16105        accumulate: false,
16106    },
16107    FieldInfo {
16108        field_def_num: 26,
16109        name: "timestamp_16",
16110        type_name: "uint16",
16111        array: None,
16112        scale: None,
16113        offset: None,
16114        units: Some("s"),
16115        components: &[],
16116        sub_fields: &[],
16117        accumulate: false,
16118    },
16119    FieldInfo {
16120        field_def_num: 27,
16121        name: "heart_rate",
16122        type_name: "uint8",
16123        array: None,
16124        scale: None,
16125        offset: None,
16126        units: Some("bpm"),
16127        components: &[],
16128        sub_fields: &[],
16129        accumulate: false,
16130    },
16131    FieldInfo {
16132        field_def_num: 28,
16133        name: "intensity",
16134        type_name: "uint8",
16135        array: None,
16136        scale: Some(10_f64),
16137        offset: None,
16138        units: None,
16139        components: &[],
16140        sub_fields: &[],
16141        accumulate: false,
16142    },
16143    FieldInfo {
16144        field_def_num: 29,
16145        name: "duration_min",
16146        type_name: "uint16",
16147        array: None,
16148        scale: None,
16149        offset: None,
16150        units: Some("min"),
16151        components: &[],
16152        sub_fields: &[],
16153        accumulate: false,
16154    },
16155    FieldInfo {
16156        field_def_num: 30,
16157        name: "duration",
16158        type_name: "uint32",
16159        array: None,
16160        scale: None,
16161        offset: None,
16162        units: Some("s"),
16163        components: &[],
16164        sub_fields: &[],
16165        accumulate: false,
16166    },
16167    FieldInfo {
16168        field_def_num: 31,
16169        name: "ascent",
16170        type_name: "uint32",
16171        array: None,
16172        scale: Some(1000_f64),
16173        offset: None,
16174        units: Some("m"),
16175        components: &[],
16176        sub_fields: &[],
16177        accumulate: false,
16178    },
16179    FieldInfo {
16180        field_def_num: 32,
16181        name: "descent",
16182        type_name: "uint32",
16183        array: None,
16184        scale: Some(1000_f64),
16185        offset: None,
16186        units: Some("m"),
16187        components: &[],
16188        sub_fields: &[],
16189        accumulate: false,
16190    },
16191    FieldInfo {
16192        field_def_num: 33,
16193        name: "moderate_activity_minutes",
16194        type_name: "uint16",
16195        array: None,
16196        scale: None,
16197        offset: None,
16198        units: Some("minutes"),
16199        components: &[],
16200        sub_fields: &[],
16201        accumulate: false,
16202    },
16203    FieldInfo {
16204        field_def_num: 34,
16205        name: "vigorous_activity_minutes",
16206        type_name: "uint16",
16207        array: None,
16208        scale: None,
16209        offset: None,
16210        units: Some("minutes"),
16211        components: &[],
16212        sub_fields: &[],
16213        accumulate: false,
16214    },
16215];
16216
16217pub static MESG_MONITORING: MesgInfo = MesgInfo {
16218    name: "monitoring",
16219    fields: FIELDS_MONITORING,
16220};
16221
16222static FIELDS_MONITORING_HR_DATA: &[FieldInfo] = &[
16223    FieldInfo {
16224        field_def_num: 253,
16225        name: "timestamp",
16226        type_name: "date_time",
16227        array: None,
16228        scale: None,
16229        offset: None,
16230        units: Some("s"),
16231        components: &[],
16232        sub_fields: &[],
16233        accumulate: false,
16234    },
16235    FieldInfo {
16236        field_def_num: 0,
16237        name: "resting_heart_rate",
16238        type_name: "uint8",
16239        array: None,
16240        scale: None,
16241        offset: None,
16242        units: Some("bpm"),
16243        components: &[],
16244        sub_fields: &[],
16245        accumulate: false,
16246    },
16247    FieldInfo {
16248        field_def_num: 1,
16249        name: "current_day_resting_heart_rate",
16250        type_name: "uint8",
16251        array: None,
16252        scale: None,
16253        offset: None,
16254        units: Some("bpm"),
16255        components: &[],
16256        sub_fields: &[],
16257        accumulate: false,
16258    },
16259];
16260
16261pub static MESG_MONITORING_HR_DATA: MesgInfo = MesgInfo {
16262    name: "monitoring_hr_data",
16263    fields: FIELDS_MONITORING_HR_DATA,
16264};
16265
16266static FIELDS_SPO2_DATA: &[FieldInfo] = &[
16267    FieldInfo {
16268        field_def_num: 253,
16269        name: "timestamp",
16270        type_name: "date_time",
16271        array: None,
16272        scale: None,
16273        offset: None,
16274        units: Some("s"),
16275        components: &[],
16276        sub_fields: &[],
16277        accumulate: false,
16278    },
16279    FieldInfo {
16280        field_def_num: 0,
16281        name: "reading_spo2",
16282        type_name: "uint8",
16283        array: None,
16284        scale: Some(1_f64),
16285        offset: None,
16286        units: Some("percent"),
16287        components: &[],
16288        sub_fields: &[],
16289        accumulate: false,
16290    },
16291    FieldInfo {
16292        field_def_num: 1,
16293        name: "reading_confidence",
16294        type_name: "uint8",
16295        array: None,
16296        scale: Some(1_f64),
16297        offset: None,
16298        units: None,
16299        components: &[],
16300        sub_fields: &[],
16301        accumulate: false,
16302    },
16303    FieldInfo {
16304        field_def_num: 2,
16305        name: "mode",
16306        type_name: "spo2_measurement_type",
16307        array: None,
16308        scale: None,
16309        offset: None,
16310        units: None,
16311        components: &[],
16312        sub_fields: &[],
16313        accumulate: false,
16314    },
16315];
16316
16317pub static MESG_SPO2_DATA: MesgInfo = MesgInfo {
16318    name: "spo2_data",
16319    fields: FIELDS_SPO2_DATA,
16320};
16321
16322static COMPONENTS_HR_2: &[Component] = &[Component {
16323    name: "fractional_timestamp",
16324    bits: 8,
16325    scale: None,
16326    offset: None,
16327    units: None,
16328    accumulate: false,
16329}];
16330static COMPONENTS_HR_5: &[Component] = &[
16331    Component {
16332        name: "event_timestamp",
16333        bits: 12,
16334        scale: None,
16335        offset: None,
16336        units: None,
16337        accumulate: true,
16338    },
16339    Component {
16340        name: "event_timestamp",
16341        bits: 12,
16342        scale: None,
16343        offset: None,
16344        units: None,
16345        accumulate: true,
16346    },
16347    Component {
16348        name: "event_timestamp",
16349        bits: 12,
16350        scale: None,
16351        offset: None,
16352        units: None,
16353        accumulate: true,
16354    },
16355    Component {
16356        name: "event_timestamp",
16357        bits: 12,
16358        scale: None,
16359        offset: None,
16360        units: None,
16361        accumulate: true,
16362    },
16363    Component {
16364        name: "event_timestamp",
16365        bits: 12,
16366        scale: None,
16367        offset: None,
16368        units: None,
16369        accumulate: true,
16370    },
16371    Component {
16372        name: "event_timestamp",
16373        bits: 12,
16374        scale: None,
16375        offset: None,
16376        units: None,
16377        accumulate: true,
16378    },
16379    Component {
16380        name: "event_timestamp",
16381        bits: 12,
16382        scale: None,
16383        offset: None,
16384        units: None,
16385        accumulate: true,
16386    },
16387    Component {
16388        name: "event_timestamp",
16389        bits: 12,
16390        scale: None,
16391        offset: None,
16392        units: None,
16393        accumulate: true,
16394    },
16395    Component {
16396        name: "event_timestamp",
16397        bits: 12,
16398        scale: None,
16399        offset: None,
16400        units: None,
16401        accumulate: true,
16402    },
16403    Component {
16404        name: "event_timestamp",
16405        bits: 12,
16406        scale: None,
16407        offset: None,
16408        units: None,
16409        accumulate: true,
16410    },
16411];
16412static FIELDS_HR: &[FieldInfo] = &[
16413    FieldInfo {
16414        field_def_num: 253,
16415        name: "timestamp",
16416        type_name: "date_time",
16417        array: None,
16418        scale: None,
16419        offset: None,
16420        units: None,
16421        components: &[],
16422        sub_fields: &[],
16423        accumulate: false,
16424    },
16425    FieldInfo {
16426        field_def_num: 0,
16427        name: "fractional_timestamp",
16428        type_name: "uint16",
16429        array: None,
16430        scale: Some(32768_f64),
16431        offset: None,
16432        units: Some("s"),
16433        components: &[],
16434        sub_fields: &[],
16435        accumulate: false,
16436    },
16437    FieldInfo {
16438        field_def_num: 1,
16439        name: "time256",
16440        type_name: "uint8",
16441        array: None,
16442        scale: Some(256_f64),
16443        offset: None,
16444        units: Some("s"),
16445        components: COMPONENTS_HR_2,
16446        sub_fields: &[],
16447        accumulate: false,
16448    },
16449    FieldInfo {
16450        field_def_num: 6,
16451        name: "filtered_bpm",
16452        type_name: "uint8",
16453        array: Some("[N]"),
16454        scale: None,
16455        offset: None,
16456        units: Some("bpm"),
16457        components: &[],
16458        sub_fields: &[],
16459        accumulate: false,
16460    },
16461    FieldInfo {
16462        field_def_num: 9,
16463        name: "event_timestamp",
16464        type_name: "uint32",
16465        array: Some("[N]"),
16466        scale: Some(1024_f64),
16467        offset: None,
16468        units: Some("s"),
16469        components: &[],
16470        sub_fields: &[],
16471        accumulate: false,
16472    },
16473    FieldInfo {
16474        field_def_num: 10,
16475        name: "event_timestamp_12",
16476        type_name: "byte",
16477        array: Some("[N]"),
16478        scale: Some(1024_f64),
16479        offset: None,
16480        units: Some("s"),
16481        components: COMPONENTS_HR_5,
16482        sub_fields: &[],
16483        accumulate: true,
16484    },
16485];
16486
16487pub static MESG_HR: MesgInfo = MesgInfo {
16488    name: "hr",
16489    fields: FIELDS_HR,
16490};
16491
16492static FIELDS_STRESS_LEVEL: &[FieldInfo] = &[
16493    FieldInfo {
16494        field_def_num: 0,
16495        name: "stress_level_value",
16496        type_name: "sint16",
16497        array: None,
16498        scale: None,
16499        offset: None,
16500        units: None,
16501        components: &[],
16502        sub_fields: &[],
16503        accumulate: false,
16504    },
16505    FieldInfo {
16506        field_def_num: 1,
16507        name: "stress_level_time",
16508        type_name: "date_time",
16509        array: None,
16510        scale: None,
16511        offset: None,
16512        units: Some("s"),
16513        components: &[],
16514        sub_fields: &[],
16515        accumulate: false,
16516    },
16517];
16518
16519pub static MESG_STRESS_LEVEL: MesgInfo = MesgInfo {
16520    name: "stress_level",
16521    fields: FIELDS_STRESS_LEVEL,
16522};
16523
16524static FIELDS_MAX_MET_DATA: &[FieldInfo] = &[
16525    FieldInfo {
16526        field_def_num: 0,
16527        name: "update_time",
16528        type_name: "date_time",
16529        array: None,
16530        scale: None,
16531        offset: None,
16532        units: None,
16533        components: &[],
16534        sub_fields: &[],
16535        accumulate: false,
16536    },
16537    FieldInfo {
16538        field_def_num: 2,
16539        name: "vo2_max",
16540        type_name: "uint16",
16541        array: None,
16542        scale: Some(10_f64),
16543        offset: None,
16544        units: Some("mL/kg/min"),
16545        components: &[],
16546        sub_fields: &[],
16547        accumulate: false,
16548    },
16549    FieldInfo {
16550        field_def_num: 5,
16551        name: "sport",
16552        type_name: "sport",
16553        array: None,
16554        scale: None,
16555        offset: None,
16556        units: None,
16557        components: &[],
16558        sub_fields: &[],
16559        accumulate: false,
16560    },
16561    FieldInfo {
16562        field_def_num: 6,
16563        name: "sub_sport",
16564        type_name: "sub_sport",
16565        array: None,
16566        scale: None,
16567        offset: None,
16568        units: None,
16569        components: &[],
16570        sub_fields: &[],
16571        accumulate: false,
16572    },
16573    FieldInfo {
16574        field_def_num: 8,
16575        name: "max_met_category",
16576        type_name: "max_met_category",
16577        array: None,
16578        scale: None,
16579        offset: None,
16580        units: None,
16581        components: &[],
16582        sub_fields: &[],
16583        accumulate: false,
16584    },
16585    FieldInfo {
16586        field_def_num: 9,
16587        name: "calibrated_data",
16588        type_name: "bool",
16589        array: None,
16590        scale: None,
16591        offset: None,
16592        units: None,
16593        components: &[],
16594        sub_fields: &[],
16595        accumulate: false,
16596    },
16597    FieldInfo {
16598        field_def_num: 12,
16599        name: "hr_source",
16600        type_name: "max_met_heart_rate_source",
16601        array: None,
16602        scale: None,
16603        offset: None,
16604        units: None,
16605        components: &[],
16606        sub_fields: &[],
16607        accumulate: false,
16608    },
16609    FieldInfo {
16610        field_def_num: 13,
16611        name: "speed_source",
16612        type_name: "max_met_speed_source",
16613        array: None,
16614        scale: None,
16615        offset: None,
16616        units: None,
16617        components: &[],
16618        sub_fields: &[],
16619        accumulate: false,
16620    },
16621];
16622
16623pub static MESG_MAX_MET_DATA: MesgInfo = MesgInfo {
16624    name: "max_met_data",
16625    fields: FIELDS_MAX_MET_DATA,
16626};
16627
16628static FIELDS_HSA_BODY_BATTERY_DATA: &[FieldInfo] = &[
16629    FieldInfo {
16630        field_def_num: 253,
16631        name: "timestamp",
16632        type_name: "date_time",
16633        array: None,
16634        scale: None,
16635        offset: None,
16636        units: Some("s"),
16637        components: &[],
16638        sub_fields: &[],
16639        accumulate: false,
16640    },
16641    FieldInfo {
16642        field_def_num: 0,
16643        name: "processing_interval",
16644        type_name: "uint16",
16645        array: None,
16646        scale: None,
16647        offset: None,
16648        units: Some("s"),
16649        components: &[],
16650        sub_fields: &[],
16651        accumulate: false,
16652    },
16653    FieldInfo {
16654        field_def_num: 1,
16655        name: "level",
16656        type_name: "sint8",
16657        array: Some("[N]"),
16658        scale: None,
16659        offset: None,
16660        units: Some("percent"),
16661        components: &[],
16662        sub_fields: &[],
16663        accumulate: false,
16664    },
16665    FieldInfo {
16666        field_def_num: 2,
16667        name: "charged",
16668        type_name: "sint16",
16669        array: Some("[N]"),
16670        scale: None,
16671        offset: None,
16672        units: None,
16673        components: &[],
16674        sub_fields: &[],
16675        accumulate: false,
16676    },
16677    FieldInfo {
16678        field_def_num: 3,
16679        name: "uncharged",
16680        type_name: "sint16",
16681        array: Some("[N]"),
16682        scale: None,
16683        offset: None,
16684        units: None,
16685        components: &[],
16686        sub_fields: &[],
16687        accumulate: false,
16688    },
16689];
16690
16691pub static MESG_HSA_BODY_BATTERY_DATA: MesgInfo = MesgInfo {
16692    name: "hsa_body_battery_data",
16693    fields: FIELDS_HSA_BODY_BATTERY_DATA,
16694};
16695
16696static FIELDS_HSA_EVENT: &[FieldInfo] = &[
16697    FieldInfo {
16698        field_def_num: 253,
16699        name: "timestamp",
16700        type_name: "date_time",
16701        array: None,
16702        scale: None,
16703        offset: None,
16704        units: Some("s"),
16705        components: &[],
16706        sub_fields: &[],
16707        accumulate: false,
16708    },
16709    FieldInfo {
16710        field_def_num: 0,
16711        name: "event_id",
16712        type_name: "uint8",
16713        array: None,
16714        scale: None,
16715        offset: None,
16716        units: None,
16717        components: &[],
16718        sub_fields: &[],
16719        accumulate: false,
16720    },
16721];
16722
16723pub static MESG_HSA_EVENT: MesgInfo = MesgInfo {
16724    name: "hsa_event",
16725    fields: FIELDS_HSA_EVENT,
16726};
16727
16728static FIELDS_HSA_ACCELEROMETER_DATA: &[FieldInfo] = &[
16729    FieldInfo {
16730        field_def_num: 253,
16731        name: "timestamp",
16732        type_name: "date_time",
16733        array: None,
16734        scale: None,
16735        offset: None,
16736        units: Some("s"),
16737        components: &[],
16738        sub_fields: &[],
16739        accumulate: false,
16740    },
16741    FieldInfo {
16742        field_def_num: 0,
16743        name: "timestamp_ms",
16744        type_name: "uint16",
16745        array: None,
16746        scale: None,
16747        offset: None,
16748        units: Some("ms"),
16749        components: &[],
16750        sub_fields: &[],
16751        accumulate: false,
16752    },
16753    FieldInfo {
16754        field_def_num: 1,
16755        name: "sampling_interval",
16756        type_name: "uint16",
16757        array: None,
16758        scale: None,
16759        offset: None,
16760        units: Some("ms"),
16761        components: &[],
16762        sub_fields: &[],
16763        accumulate: false,
16764    },
16765    FieldInfo {
16766        field_def_num: 2,
16767        name: "accel_x",
16768        type_name: "sint16",
16769        array: Some("[N]"),
16770        scale: Some(1.024_f64),
16771        offset: None,
16772        units: Some("mG"),
16773        components: &[],
16774        sub_fields: &[],
16775        accumulate: false,
16776    },
16777    FieldInfo {
16778        field_def_num: 3,
16779        name: "accel_y",
16780        type_name: "sint16",
16781        array: Some("[N]"),
16782        scale: Some(1.024_f64),
16783        offset: None,
16784        units: Some("mG"),
16785        components: &[],
16786        sub_fields: &[],
16787        accumulate: false,
16788    },
16789    FieldInfo {
16790        field_def_num: 4,
16791        name: "accel_z",
16792        type_name: "sint16",
16793        array: Some("[N]"),
16794        scale: Some(1.024_f64),
16795        offset: None,
16796        units: Some("mG"),
16797        components: &[],
16798        sub_fields: &[],
16799        accumulate: false,
16800    },
16801    FieldInfo {
16802        field_def_num: 5,
16803        name: "timestamp_32k",
16804        type_name: "uint32",
16805        array: None,
16806        scale: None,
16807        offset: None,
16808        units: None,
16809        components: &[],
16810        sub_fields: &[],
16811        accumulate: false,
16812    },
16813];
16814
16815pub static MESG_HSA_ACCELEROMETER_DATA: MesgInfo = MesgInfo {
16816    name: "hsa_accelerometer_data",
16817    fields: FIELDS_HSA_ACCELEROMETER_DATA,
16818};
16819
16820static FIELDS_HSA_GYROSCOPE_DATA: &[FieldInfo] = &[
16821    FieldInfo {
16822        field_def_num: 253,
16823        name: "timestamp",
16824        type_name: "date_time",
16825        array: None,
16826        scale: None,
16827        offset: None,
16828        units: Some("s"),
16829        components: &[],
16830        sub_fields: &[],
16831        accumulate: false,
16832    },
16833    FieldInfo {
16834        field_def_num: 0,
16835        name: "timestamp_ms",
16836        type_name: "uint16",
16837        array: None,
16838        scale: None,
16839        offset: None,
16840        units: Some("ms"),
16841        components: &[],
16842        sub_fields: &[],
16843        accumulate: false,
16844    },
16845    FieldInfo {
16846        field_def_num: 1,
16847        name: "sampling_interval",
16848        type_name: "uint16",
16849        array: None,
16850        scale: None,
16851        offset: None,
16852        units: Some("1/32768 s"),
16853        components: &[],
16854        sub_fields: &[],
16855        accumulate: false,
16856    },
16857    FieldInfo {
16858        field_def_num: 2,
16859        name: "gyro_x",
16860        type_name: "sint16",
16861        array: Some("[N]"),
16862        scale: Some(28.57143_f64),
16863        offset: None,
16864        units: Some("deg/s"),
16865        components: &[],
16866        sub_fields: &[],
16867        accumulate: false,
16868    },
16869    FieldInfo {
16870        field_def_num: 3,
16871        name: "gyro_y",
16872        type_name: "sint16",
16873        array: Some("[N]"),
16874        scale: Some(28.57143_f64),
16875        offset: None,
16876        units: Some("deg/s"),
16877        components: &[],
16878        sub_fields: &[],
16879        accumulate: false,
16880    },
16881    FieldInfo {
16882        field_def_num: 4,
16883        name: "gyro_z",
16884        type_name: "sint16",
16885        array: Some("[N]"),
16886        scale: Some(28.57143_f64),
16887        offset: None,
16888        units: Some("deg/s"),
16889        components: &[],
16890        sub_fields: &[],
16891        accumulate: false,
16892    },
16893    FieldInfo {
16894        field_def_num: 5,
16895        name: "timestamp_32k",
16896        type_name: "uint32",
16897        array: None,
16898        scale: None,
16899        offset: None,
16900        units: Some("1/32768 s"),
16901        components: &[],
16902        sub_fields: &[],
16903        accumulate: false,
16904    },
16905];
16906
16907pub static MESG_HSA_GYROSCOPE_DATA: MesgInfo = MesgInfo {
16908    name: "hsa_gyroscope_data",
16909    fields: FIELDS_HSA_GYROSCOPE_DATA,
16910};
16911
16912static FIELDS_HSA_STEP_DATA: &[FieldInfo] = &[
16913    FieldInfo {
16914        field_def_num: 253,
16915        name: "timestamp",
16916        type_name: "date_time",
16917        array: None,
16918        scale: None,
16919        offset: None,
16920        units: Some("s"),
16921        components: &[],
16922        sub_fields: &[],
16923        accumulate: false,
16924    },
16925    FieldInfo {
16926        field_def_num: 0,
16927        name: "processing_interval",
16928        type_name: "uint16",
16929        array: None,
16930        scale: None,
16931        offset: None,
16932        units: Some("s"),
16933        components: &[],
16934        sub_fields: &[],
16935        accumulate: false,
16936    },
16937    FieldInfo {
16938        field_def_num: 1,
16939        name: "steps",
16940        type_name: "uint32",
16941        array: Some("[N]"),
16942        scale: Some(1_f64),
16943        offset: None,
16944        units: Some("steps"),
16945        components: &[],
16946        sub_fields: &[],
16947        accumulate: false,
16948    },
16949];
16950
16951pub static MESG_HSA_STEP_DATA: MesgInfo = MesgInfo {
16952    name: "hsa_step_data",
16953    fields: FIELDS_HSA_STEP_DATA,
16954};
16955
16956static FIELDS_HSA_SPO2_DATA: &[FieldInfo] = &[
16957    FieldInfo {
16958        field_def_num: 253,
16959        name: "timestamp",
16960        type_name: "date_time",
16961        array: None,
16962        scale: None,
16963        offset: None,
16964        units: Some("s"),
16965        components: &[],
16966        sub_fields: &[],
16967        accumulate: false,
16968    },
16969    FieldInfo {
16970        field_def_num: 0,
16971        name: "processing_interval",
16972        type_name: "uint16",
16973        array: None,
16974        scale: None,
16975        offset: None,
16976        units: Some("s"),
16977        components: &[],
16978        sub_fields: &[],
16979        accumulate: false,
16980    },
16981    FieldInfo {
16982        field_def_num: 1,
16983        name: "reading_spo2",
16984        type_name: "uint8",
16985        array: Some("[N]"),
16986        scale: None,
16987        offset: None,
16988        units: Some("percent"),
16989        components: &[],
16990        sub_fields: &[],
16991        accumulate: false,
16992    },
16993    FieldInfo {
16994        field_def_num: 2,
16995        name: "confidence",
16996        type_name: "uint8",
16997        array: Some("[N]"),
16998        scale: None,
16999        offset: None,
17000        units: None,
17001        components: &[],
17002        sub_fields: &[],
17003        accumulate: false,
17004    },
17005];
17006
17007pub static MESG_HSA_SPO2_DATA: MesgInfo = MesgInfo {
17008    name: "hsa_spo2_data",
17009    fields: FIELDS_HSA_SPO2_DATA,
17010};
17011
17012static FIELDS_HSA_STRESS_DATA: &[FieldInfo] = &[
17013    FieldInfo {
17014        field_def_num: 253,
17015        name: "timestamp",
17016        type_name: "date_time",
17017        array: None,
17018        scale: None,
17019        offset: None,
17020        units: None,
17021        components: &[],
17022        sub_fields: &[],
17023        accumulate: false,
17024    },
17025    FieldInfo {
17026        field_def_num: 0,
17027        name: "processing_interval",
17028        type_name: "uint16",
17029        array: None,
17030        scale: None,
17031        offset: None,
17032        units: Some("s"),
17033        components: &[],
17034        sub_fields: &[],
17035        accumulate: false,
17036    },
17037    FieldInfo {
17038        field_def_num: 1,
17039        name: "stress_level",
17040        type_name: "sint8",
17041        array: Some("[N]"),
17042        scale: Some(1_f64),
17043        offset: None,
17044        units: Some("s"),
17045        components: &[],
17046        sub_fields: &[],
17047        accumulate: false,
17048    },
17049];
17050
17051pub static MESG_HSA_STRESS_DATA: MesgInfo = MesgInfo {
17052    name: "hsa_stress_data",
17053    fields: FIELDS_HSA_STRESS_DATA,
17054};
17055
17056static FIELDS_HSA_RESPIRATION_DATA: &[FieldInfo] = &[
17057    FieldInfo {
17058        field_def_num: 253,
17059        name: "timestamp",
17060        type_name: "date_time",
17061        array: None,
17062        scale: None,
17063        offset: None,
17064        units: Some("s"),
17065        components: &[],
17066        sub_fields: &[],
17067        accumulate: false,
17068    },
17069    FieldInfo {
17070        field_def_num: 0,
17071        name: "processing_interval",
17072        type_name: "uint16",
17073        array: None,
17074        scale: None,
17075        offset: None,
17076        units: Some("s"),
17077        components: &[],
17078        sub_fields: &[],
17079        accumulate: false,
17080    },
17081    FieldInfo {
17082        field_def_num: 1,
17083        name: "respiration_rate",
17084        type_name: "sint16",
17085        array: Some("[N]"),
17086        scale: Some(100_f64),
17087        offset: None,
17088        units: Some("breaths/min"),
17089        components: &[],
17090        sub_fields: &[],
17091        accumulate: false,
17092    },
17093];
17094
17095pub static MESG_HSA_RESPIRATION_DATA: MesgInfo = MesgInfo {
17096    name: "hsa_respiration_data",
17097    fields: FIELDS_HSA_RESPIRATION_DATA,
17098};
17099
17100static FIELDS_HSA_HEART_RATE_DATA: &[FieldInfo] = &[
17101    FieldInfo {
17102        field_def_num: 253,
17103        name: "timestamp",
17104        type_name: "date_time",
17105        array: None,
17106        scale: None,
17107        offset: None,
17108        units: Some("s"),
17109        components: &[],
17110        sub_fields: &[],
17111        accumulate: false,
17112    },
17113    FieldInfo {
17114        field_def_num: 0,
17115        name: "processing_interval",
17116        type_name: "uint16",
17117        array: None,
17118        scale: None,
17119        offset: None,
17120        units: Some("s"),
17121        components: &[],
17122        sub_fields: &[],
17123        accumulate: false,
17124    },
17125    FieldInfo {
17126        field_def_num: 1,
17127        name: "status",
17128        type_name: "uint8",
17129        array: None,
17130        scale: None,
17131        offset: None,
17132        units: None,
17133        components: &[],
17134        sub_fields: &[],
17135        accumulate: false,
17136    },
17137    FieldInfo {
17138        field_def_num: 2,
17139        name: "heart_rate",
17140        type_name: "uint8",
17141        array: Some("[N]"),
17142        scale: Some(1_f64),
17143        offset: None,
17144        units: Some("bpm"),
17145        components: &[],
17146        sub_fields: &[],
17147        accumulate: false,
17148    },
17149];
17150
17151pub static MESG_HSA_HEART_RATE_DATA: MesgInfo = MesgInfo {
17152    name: "hsa_heart_rate_data",
17153    fields: FIELDS_HSA_HEART_RATE_DATA,
17154};
17155
17156static FIELDS_HSA_CONFIGURATION_DATA: &[FieldInfo] = &[
17157    FieldInfo {
17158        field_def_num: 253,
17159        name: "timestamp",
17160        type_name: "date_time",
17161        array: None,
17162        scale: None,
17163        offset: None,
17164        units: Some("s"),
17165        components: &[],
17166        sub_fields: &[],
17167        accumulate: false,
17168    },
17169    FieldInfo {
17170        field_def_num: 0,
17171        name: "data",
17172        type_name: "byte",
17173        array: Some("[N]"),
17174        scale: None,
17175        offset: None,
17176        units: None,
17177        components: &[],
17178        sub_fields: &[],
17179        accumulate: false,
17180    },
17181    FieldInfo {
17182        field_def_num: 1,
17183        name: "data_size",
17184        type_name: "uint8",
17185        array: None,
17186        scale: None,
17187        offset: None,
17188        units: None,
17189        components: &[],
17190        sub_fields: &[],
17191        accumulate: false,
17192    },
17193];
17194
17195pub static MESG_HSA_CONFIGURATION_DATA: MesgInfo = MesgInfo {
17196    name: "hsa_configuration_data",
17197    fields: FIELDS_HSA_CONFIGURATION_DATA,
17198};
17199
17200static FIELDS_HSA_WRIST_TEMPERATURE_DATA: &[FieldInfo] = &[
17201    FieldInfo {
17202        field_def_num: 253,
17203        name: "timestamp",
17204        type_name: "date_time",
17205        array: None,
17206        scale: None,
17207        offset: None,
17208        units: Some("s"),
17209        components: &[],
17210        sub_fields: &[],
17211        accumulate: false,
17212    },
17213    FieldInfo {
17214        field_def_num: 0,
17215        name: "processing_interval",
17216        type_name: "uint16",
17217        array: None,
17218        scale: None,
17219        offset: None,
17220        units: Some("s"),
17221        components: &[],
17222        sub_fields: &[],
17223        accumulate: false,
17224    },
17225    FieldInfo {
17226        field_def_num: 1,
17227        name: "value",
17228        type_name: "uint16",
17229        array: Some("[N]"),
17230        scale: Some(1000_f64),
17231        offset: None,
17232        units: Some("degC"),
17233        components: &[],
17234        sub_fields: &[],
17235        accumulate: false,
17236    },
17237];
17238
17239pub static MESG_HSA_WRIST_TEMPERATURE_DATA: MesgInfo = MesgInfo {
17240    name: "hsa_wrist_temperature_data",
17241    fields: FIELDS_HSA_WRIST_TEMPERATURE_DATA,
17242};
17243
17244static FIELDS_MEMO_GLOB: &[FieldInfo] = &[
17245    FieldInfo {
17246        field_def_num: 250,
17247        name: "part_index",
17248        type_name: "uint32",
17249        array: None,
17250        scale: None,
17251        offset: None,
17252        units: None,
17253        components: &[],
17254        sub_fields: &[],
17255        accumulate: false,
17256    },
17257    FieldInfo {
17258        field_def_num: 0,
17259        name: "memo",
17260        type_name: "byte",
17261        array: Some("[N]"),
17262        scale: None,
17263        offset: None,
17264        units: None,
17265        components: &[],
17266        sub_fields: &[],
17267        accumulate: false,
17268    },
17269    FieldInfo {
17270        field_def_num: 1,
17271        name: "mesg_num",
17272        type_name: "mesg_num",
17273        array: None,
17274        scale: None,
17275        offset: None,
17276        units: None,
17277        components: &[],
17278        sub_fields: &[],
17279        accumulate: false,
17280    },
17281    FieldInfo {
17282        field_def_num: 2,
17283        name: "parent_index",
17284        type_name: "message_index",
17285        array: None,
17286        scale: None,
17287        offset: None,
17288        units: None,
17289        components: &[],
17290        sub_fields: &[],
17291        accumulate: false,
17292    },
17293    FieldInfo {
17294        field_def_num: 3,
17295        name: "field_num",
17296        type_name: "uint8",
17297        array: None,
17298        scale: None,
17299        offset: None,
17300        units: None,
17301        components: &[],
17302        sub_fields: &[],
17303        accumulate: false,
17304    },
17305    FieldInfo {
17306        field_def_num: 4,
17307        name: "data",
17308        type_name: "uint8z",
17309        array: Some("[N]"),
17310        scale: None,
17311        offset: None,
17312        units: None,
17313        components: &[],
17314        sub_fields: &[],
17315        accumulate: false,
17316    },
17317];
17318
17319pub static MESG_MEMO_GLOB: MesgInfo = MesgInfo {
17320    name: "memo_glob",
17321    fields: FIELDS_MEMO_GLOB,
17322};
17323
17324static FIELDS_SLEEP_LEVEL: &[FieldInfo] = &[
17325    FieldInfo {
17326        field_def_num: 253,
17327        name: "timestamp",
17328        type_name: "date_time",
17329        array: None,
17330        scale: None,
17331        offset: None,
17332        units: Some("s"),
17333        components: &[],
17334        sub_fields: &[],
17335        accumulate: false,
17336    },
17337    FieldInfo {
17338        field_def_num: 0,
17339        name: "sleep_level",
17340        type_name: "sleep_level",
17341        array: None,
17342        scale: None,
17343        offset: None,
17344        units: None,
17345        components: &[],
17346        sub_fields: &[],
17347        accumulate: false,
17348    },
17349];
17350
17351pub static MESG_SLEEP_LEVEL: MesgInfo = MesgInfo {
17352    name: "sleep_level",
17353    fields: FIELDS_SLEEP_LEVEL,
17354};
17355
17356static FIELDS_ANT_CHANNEL_ID: &[FieldInfo] = &[
17357    FieldInfo {
17358        field_def_num: 0,
17359        name: "channel_number",
17360        type_name: "uint8",
17361        array: None,
17362        scale: None,
17363        offset: None,
17364        units: None,
17365        components: &[],
17366        sub_fields: &[],
17367        accumulate: false,
17368    },
17369    FieldInfo {
17370        field_def_num: 1,
17371        name: "device_type",
17372        type_name: "uint8z",
17373        array: None,
17374        scale: None,
17375        offset: None,
17376        units: None,
17377        components: &[],
17378        sub_fields: &[],
17379        accumulate: false,
17380    },
17381    FieldInfo {
17382        field_def_num: 2,
17383        name: "device_number",
17384        type_name: "uint16z",
17385        array: None,
17386        scale: None,
17387        offset: None,
17388        units: None,
17389        components: &[],
17390        sub_fields: &[],
17391        accumulate: false,
17392    },
17393    FieldInfo {
17394        field_def_num: 3,
17395        name: "transmission_type",
17396        type_name: "uint8z",
17397        array: None,
17398        scale: None,
17399        offset: None,
17400        units: None,
17401        components: &[],
17402        sub_fields: &[],
17403        accumulate: false,
17404    },
17405    FieldInfo {
17406        field_def_num: 4,
17407        name: "device_index",
17408        type_name: "device_index",
17409        array: None,
17410        scale: None,
17411        offset: None,
17412        units: None,
17413        components: &[],
17414        sub_fields: &[],
17415        accumulate: false,
17416    },
17417];
17418
17419pub static MESG_ANT_CHANNEL_ID: MesgInfo = MesgInfo {
17420    name: "ant_channel_id",
17421    fields: FIELDS_ANT_CHANNEL_ID,
17422};
17423
17424static COMPONENTS_ANT_RX_3: &[Component] = &[
17425    Component {
17426        name: "channel_number",
17427        bits: 8,
17428        scale: None,
17429        offset: None,
17430        units: None,
17431        accumulate: false,
17432    },
17433    Component {
17434        name: "data",
17435        bits: 8,
17436        scale: None,
17437        offset: None,
17438        units: None,
17439        accumulate: false,
17440    },
17441    Component {
17442        name: "data",
17443        bits: 8,
17444        scale: None,
17445        offset: None,
17446        units: None,
17447        accumulate: false,
17448    },
17449    Component {
17450        name: "data",
17451        bits: 8,
17452        scale: None,
17453        offset: None,
17454        units: None,
17455        accumulate: false,
17456    },
17457    Component {
17458        name: "data",
17459        bits: 8,
17460        scale: None,
17461        offset: None,
17462        units: None,
17463        accumulate: false,
17464    },
17465    Component {
17466        name: "data",
17467        bits: 8,
17468        scale: None,
17469        offset: None,
17470        units: None,
17471        accumulate: false,
17472    },
17473    Component {
17474        name: "data",
17475        bits: 8,
17476        scale: None,
17477        offset: None,
17478        units: None,
17479        accumulate: false,
17480    },
17481    Component {
17482        name: "data",
17483        bits: 8,
17484        scale: None,
17485        offset: None,
17486        units: None,
17487        accumulate: false,
17488    },
17489    Component {
17490        name: "data",
17491        bits: 8,
17492        scale: None,
17493        offset: None,
17494        units: None,
17495        accumulate: false,
17496    },
17497];
17498static FIELDS_ANT_RX: &[FieldInfo] = &[
17499    FieldInfo {
17500        field_def_num: 253,
17501        name: "timestamp",
17502        type_name: "date_time",
17503        array: None,
17504        scale: None,
17505        offset: None,
17506        units: Some("s"),
17507        components: &[],
17508        sub_fields: &[],
17509        accumulate: false,
17510    },
17511    FieldInfo {
17512        field_def_num: 0,
17513        name: "fractional_timestamp",
17514        type_name: "uint16",
17515        array: None,
17516        scale: Some(32768_f64),
17517        offset: None,
17518        units: Some("s"),
17519        components: &[],
17520        sub_fields: &[],
17521        accumulate: false,
17522    },
17523    FieldInfo {
17524        field_def_num: 1,
17525        name: "mesg_id",
17526        type_name: "byte",
17527        array: None,
17528        scale: None,
17529        offset: None,
17530        units: None,
17531        components: &[],
17532        sub_fields: &[],
17533        accumulate: false,
17534    },
17535    FieldInfo {
17536        field_def_num: 2,
17537        name: "mesg_data",
17538        type_name: "byte",
17539        array: Some("[N]"),
17540        scale: None,
17541        offset: None,
17542        units: None,
17543        components: COMPONENTS_ANT_RX_3,
17544        sub_fields: &[],
17545        accumulate: false,
17546    },
17547    FieldInfo {
17548        field_def_num: 3,
17549        name: "channel_number",
17550        type_name: "uint8",
17551        array: None,
17552        scale: None,
17553        offset: None,
17554        units: None,
17555        components: &[],
17556        sub_fields: &[],
17557        accumulate: false,
17558    },
17559    FieldInfo {
17560        field_def_num: 4,
17561        name: "data",
17562        type_name: "byte",
17563        array: Some("[N]"),
17564        scale: None,
17565        offset: None,
17566        units: None,
17567        components: &[],
17568        sub_fields: &[],
17569        accumulate: false,
17570    },
17571];
17572
17573pub static MESG_ANT_RX: MesgInfo = MesgInfo {
17574    name: "ant_rx",
17575    fields: FIELDS_ANT_RX,
17576};
17577
17578static COMPONENTS_ANT_TX_3: &[Component] = &[
17579    Component {
17580        name: "channel_number",
17581        bits: 8,
17582        scale: None,
17583        offset: None,
17584        units: None,
17585        accumulate: false,
17586    },
17587    Component {
17588        name: "data",
17589        bits: 8,
17590        scale: None,
17591        offset: None,
17592        units: None,
17593        accumulate: false,
17594    },
17595    Component {
17596        name: "data",
17597        bits: 8,
17598        scale: None,
17599        offset: None,
17600        units: None,
17601        accumulate: false,
17602    },
17603    Component {
17604        name: "data",
17605        bits: 8,
17606        scale: None,
17607        offset: None,
17608        units: None,
17609        accumulate: false,
17610    },
17611    Component {
17612        name: "data",
17613        bits: 8,
17614        scale: None,
17615        offset: None,
17616        units: None,
17617        accumulate: false,
17618    },
17619    Component {
17620        name: "data",
17621        bits: 8,
17622        scale: None,
17623        offset: None,
17624        units: None,
17625        accumulate: false,
17626    },
17627    Component {
17628        name: "data",
17629        bits: 8,
17630        scale: None,
17631        offset: None,
17632        units: None,
17633        accumulate: false,
17634    },
17635    Component {
17636        name: "data",
17637        bits: 8,
17638        scale: None,
17639        offset: None,
17640        units: None,
17641        accumulate: false,
17642    },
17643    Component {
17644        name: "data",
17645        bits: 8,
17646        scale: None,
17647        offset: None,
17648        units: None,
17649        accumulate: false,
17650    },
17651];
17652static FIELDS_ANT_TX: &[FieldInfo] = &[
17653    FieldInfo {
17654        field_def_num: 253,
17655        name: "timestamp",
17656        type_name: "date_time",
17657        array: None,
17658        scale: None,
17659        offset: None,
17660        units: Some("s"),
17661        components: &[],
17662        sub_fields: &[],
17663        accumulate: false,
17664    },
17665    FieldInfo {
17666        field_def_num: 0,
17667        name: "fractional_timestamp",
17668        type_name: "uint16",
17669        array: None,
17670        scale: Some(32768_f64),
17671        offset: None,
17672        units: Some("s"),
17673        components: &[],
17674        sub_fields: &[],
17675        accumulate: false,
17676    },
17677    FieldInfo {
17678        field_def_num: 1,
17679        name: "mesg_id",
17680        type_name: "byte",
17681        array: None,
17682        scale: None,
17683        offset: None,
17684        units: None,
17685        components: &[],
17686        sub_fields: &[],
17687        accumulate: false,
17688    },
17689    FieldInfo {
17690        field_def_num: 2,
17691        name: "mesg_data",
17692        type_name: "byte",
17693        array: Some("[N]"),
17694        scale: None,
17695        offset: None,
17696        units: None,
17697        components: COMPONENTS_ANT_TX_3,
17698        sub_fields: &[],
17699        accumulate: false,
17700    },
17701    FieldInfo {
17702        field_def_num: 3,
17703        name: "channel_number",
17704        type_name: "uint8",
17705        array: None,
17706        scale: None,
17707        offset: None,
17708        units: None,
17709        components: &[],
17710        sub_fields: &[],
17711        accumulate: false,
17712    },
17713    FieldInfo {
17714        field_def_num: 4,
17715        name: "data",
17716        type_name: "byte",
17717        array: Some("[N]"),
17718        scale: None,
17719        offset: None,
17720        units: None,
17721        components: &[],
17722        sub_fields: &[],
17723        accumulate: false,
17724    },
17725];
17726
17727pub static MESG_ANT_TX: MesgInfo = MesgInfo {
17728    name: "ant_tx",
17729    fields: FIELDS_ANT_TX,
17730};
17731
17732static FIELDS_EXD_SCREEN_CONFIGURATION: &[FieldInfo] = &[
17733    FieldInfo {
17734        field_def_num: 0,
17735        name: "screen_index",
17736        type_name: "uint8",
17737        array: None,
17738        scale: None,
17739        offset: None,
17740        units: None,
17741        components: &[],
17742        sub_fields: &[],
17743        accumulate: false,
17744    },
17745    FieldInfo {
17746        field_def_num: 1,
17747        name: "field_count",
17748        type_name: "uint8",
17749        array: None,
17750        scale: None,
17751        offset: None,
17752        units: None,
17753        components: &[],
17754        sub_fields: &[],
17755        accumulate: false,
17756    },
17757    FieldInfo {
17758        field_def_num: 2,
17759        name: "layout",
17760        type_name: "exd_layout",
17761        array: None,
17762        scale: None,
17763        offset: None,
17764        units: None,
17765        components: &[],
17766        sub_fields: &[],
17767        accumulate: false,
17768    },
17769    FieldInfo {
17770        field_def_num: 3,
17771        name: "screen_enabled",
17772        type_name: "bool",
17773        array: None,
17774        scale: None,
17775        offset: None,
17776        units: None,
17777        components: &[],
17778        sub_fields: &[],
17779        accumulate: false,
17780    },
17781];
17782
17783pub static MESG_EXD_SCREEN_CONFIGURATION: MesgInfo = MesgInfo {
17784    name: "exd_screen_configuration",
17785    fields: FIELDS_EXD_SCREEN_CONFIGURATION,
17786};
17787
17788static COMPONENTS_EXD_DATA_FIELD_CONFIGURATION_1: &[Component] = &[
17789    Component {
17790        name: "field_id",
17791        bits: 4,
17792        scale: None,
17793        offset: None,
17794        units: None,
17795        accumulate: false,
17796    },
17797    Component {
17798        name: "concept_count",
17799        bits: 4,
17800        scale: None,
17801        offset: None,
17802        units: None,
17803        accumulate: false,
17804    },
17805];
17806static FIELDS_EXD_DATA_FIELD_CONFIGURATION: &[FieldInfo] = &[
17807    FieldInfo {
17808        field_def_num: 0,
17809        name: "screen_index",
17810        type_name: "uint8",
17811        array: None,
17812        scale: None,
17813        offset: None,
17814        units: None,
17815        components: &[],
17816        sub_fields: &[],
17817        accumulate: false,
17818    },
17819    FieldInfo {
17820        field_def_num: 1,
17821        name: "concept_field",
17822        type_name: "byte",
17823        array: None,
17824        scale: None,
17825        offset: None,
17826        units: None,
17827        components: COMPONENTS_EXD_DATA_FIELD_CONFIGURATION_1,
17828        sub_fields: &[],
17829        accumulate: false,
17830    },
17831    FieldInfo {
17832        field_def_num: 2,
17833        name: "field_id",
17834        type_name: "uint8",
17835        array: None,
17836        scale: None,
17837        offset: None,
17838        units: None,
17839        components: &[],
17840        sub_fields: &[],
17841        accumulate: false,
17842    },
17843    FieldInfo {
17844        field_def_num: 3,
17845        name: "concept_count",
17846        type_name: "uint8",
17847        array: None,
17848        scale: None,
17849        offset: None,
17850        units: None,
17851        components: &[],
17852        sub_fields: &[],
17853        accumulate: false,
17854    },
17855    FieldInfo {
17856        field_def_num: 4,
17857        name: "display_type",
17858        type_name: "exd_display_type",
17859        array: None,
17860        scale: None,
17861        offset: None,
17862        units: None,
17863        components: &[],
17864        sub_fields: &[],
17865        accumulate: false,
17866    },
17867    FieldInfo {
17868        field_def_num: 5,
17869        name: "title",
17870        type_name: "string",
17871        array: Some("[32]"),
17872        scale: None,
17873        offset: None,
17874        units: None,
17875        components: &[],
17876        sub_fields: &[],
17877        accumulate: false,
17878    },
17879];
17880
17881pub static MESG_EXD_DATA_FIELD_CONFIGURATION: MesgInfo = MesgInfo {
17882    name: "exd_data_field_configuration",
17883    fields: FIELDS_EXD_DATA_FIELD_CONFIGURATION,
17884};
17885
17886static COMPONENTS_EXD_DATA_CONCEPT_CONFIGURATION_1: &[Component] = &[
17887    Component {
17888        name: "field_id",
17889        bits: 4,
17890        scale: None,
17891        offset: None,
17892        units: None,
17893        accumulate: false,
17894    },
17895    Component {
17896        name: "concept_index",
17897        bits: 4,
17898        scale: None,
17899        offset: None,
17900        units: None,
17901        accumulate: false,
17902    },
17903];
17904static FIELDS_EXD_DATA_CONCEPT_CONFIGURATION: &[FieldInfo] = &[
17905    FieldInfo {
17906        field_def_num: 0,
17907        name: "screen_index",
17908        type_name: "uint8",
17909        array: None,
17910        scale: None,
17911        offset: None,
17912        units: None,
17913        components: &[],
17914        sub_fields: &[],
17915        accumulate: false,
17916    },
17917    FieldInfo {
17918        field_def_num: 1,
17919        name: "concept_field",
17920        type_name: "byte",
17921        array: None,
17922        scale: None,
17923        offset: None,
17924        units: None,
17925        components: COMPONENTS_EXD_DATA_CONCEPT_CONFIGURATION_1,
17926        sub_fields: &[],
17927        accumulate: false,
17928    },
17929    FieldInfo {
17930        field_def_num: 2,
17931        name: "field_id",
17932        type_name: "uint8",
17933        array: None,
17934        scale: None,
17935        offset: None,
17936        units: None,
17937        components: &[],
17938        sub_fields: &[],
17939        accumulate: false,
17940    },
17941    FieldInfo {
17942        field_def_num: 3,
17943        name: "concept_index",
17944        type_name: "uint8",
17945        array: None,
17946        scale: None,
17947        offset: None,
17948        units: None,
17949        components: &[],
17950        sub_fields: &[],
17951        accumulate: false,
17952    },
17953    FieldInfo {
17954        field_def_num: 4,
17955        name: "data_page",
17956        type_name: "uint8",
17957        array: None,
17958        scale: None,
17959        offset: None,
17960        units: None,
17961        components: &[],
17962        sub_fields: &[],
17963        accumulate: false,
17964    },
17965    FieldInfo {
17966        field_def_num: 5,
17967        name: "concept_key",
17968        type_name: "uint8",
17969        array: None,
17970        scale: None,
17971        offset: None,
17972        units: None,
17973        components: &[],
17974        sub_fields: &[],
17975        accumulate: false,
17976    },
17977    FieldInfo {
17978        field_def_num: 6,
17979        name: "scaling",
17980        type_name: "uint8",
17981        array: None,
17982        scale: None,
17983        offset: None,
17984        units: None,
17985        components: &[],
17986        sub_fields: &[],
17987        accumulate: false,
17988    },
17989    FieldInfo {
17990        field_def_num: 8,
17991        name: "data_units",
17992        type_name: "exd_data_units",
17993        array: None,
17994        scale: None,
17995        offset: None,
17996        units: None,
17997        components: &[],
17998        sub_fields: &[],
17999        accumulate: false,
18000    },
18001    FieldInfo {
18002        field_def_num: 9,
18003        name: "qualifier",
18004        type_name: "exd_qualifiers",
18005        array: None,
18006        scale: None,
18007        offset: None,
18008        units: None,
18009        components: &[],
18010        sub_fields: &[],
18011        accumulate: false,
18012    },
18013    FieldInfo {
18014        field_def_num: 10,
18015        name: "descriptor",
18016        type_name: "exd_descriptors",
18017        array: None,
18018        scale: None,
18019        offset: None,
18020        units: None,
18021        components: &[],
18022        sub_fields: &[],
18023        accumulate: false,
18024    },
18025    FieldInfo {
18026        field_def_num: 11,
18027        name: "is_signed",
18028        type_name: "bool",
18029        array: None,
18030        scale: None,
18031        offset: None,
18032        units: None,
18033        components: &[],
18034        sub_fields: &[],
18035        accumulate: false,
18036    },
18037];
18038
18039pub static MESG_EXD_DATA_CONCEPT_CONFIGURATION: MesgInfo = MesgInfo {
18040    name: "exd_data_concept_configuration",
18041    fields: FIELDS_EXD_DATA_CONCEPT_CONFIGURATION,
18042};
18043
18044static FIELDS_DIVE_SUMMARY: &[FieldInfo] = &[
18045    FieldInfo {
18046        field_def_num: 253,
18047        name: "timestamp",
18048        type_name: "date_time",
18049        array: None,
18050        scale: None,
18051        offset: None,
18052        units: Some("s"),
18053        components: &[],
18054        sub_fields: &[],
18055        accumulate: false,
18056    },
18057    FieldInfo {
18058        field_def_num: 0,
18059        name: "reference_mesg",
18060        type_name: "mesg_num",
18061        array: None,
18062        scale: None,
18063        offset: None,
18064        units: None,
18065        components: &[],
18066        sub_fields: &[],
18067        accumulate: false,
18068    },
18069    FieldInfo {
18070        field_def_num: 1,
18071        name: "reference_index",
18072        type_name: "message_index",
18073        array: None,
18074        scale: None,
18075        offset: None,
18076        units: None,
18077        components: &[],
18078        sub_fields: &[],
18079        accumulate: false,
18080    },
18081    FieldInfo {
18082        field_def_num: 2,
18083        name: "avg_depth",
18084        type_name: "uint32",
18085        array: None,
18086        scale: Some(1000_f64),
18087        offset: None,
18088        units: Some("m"),
18089        components: &[],
18090        sub_fields: &[],
18091        accumulate: false,
18092    },
18093    FieldInfo {
18094        field_def_num: 3,
18095        name: "max_depth",
18096        type_name: "uint32",
18097        array: None,
18098        scale: Some(1000_f64),
18099        offset: None,
18100        units: Some("m"),
18101        components: &[],
18102        sub_fields: &[],
18103        accumulate: false,
18104    },
18105    FieldInfo {
18106        field_def_num: 4,
18107        name: "surface_interval",
18108        type_name: "uint32",
18109        array: None,
18110        scale: Some(1_f64),
18111        offset: None,
18112        units: Some("s"),
18113        components: &[],
18114        sub_fields: &[],
18115        accumulate: false,
18116    },
18117    FieldInfo {
18118        field_def_num: 5,
18119        name: "start_cns",
18120        type_name: "uint8",
18121        array: None,
18122        scale: Some(1_f64),
18123        offset: None,
18124        units: Some("percent"),
18125        components: &[],
18126        sub_fields: &[],
18127        accumulate: false,
18128    },
18129    FieldInfo {
18130        field_def_num: 6,
18131        name: "end_cns",
18132        type_name: "uint8",
18133        array: None,
18134        scale: Some(1_f64),
18135        offset: None,
18136        units: Some("percent"),
18137        components: &[],
18138        sub_fields: &[],
18139        accumulate: false,
18140    },
18141    FieldInfo {
18142        field_def_num: 7,
18143        name: "start_n2",
18144        type_name: "uint16",
18145        array: None,
18146        scale: Some(1_f64),
18147        offset: None,
18148        units: Some("percent"),
18149        components: &[],
18150        sub_fields: &[],
18151        accumulate: false,
18152    },
18153    FieldInfo {
18154        field_def_num: 8,
18155        name: "end_n2",
18156        type_name: "uint16",
18157        array: None,
18158        scale: Some(1_f64),
18159        offset: None,
18160        units: Some("percent"),
18161        components: &[],
18162        sub_fields: &[],
18163        accumulate: false,
18164    },
18165    FieldInfo {
18166        field_def_num: 9,
18167        name: "o2_toxicity",
18168        type_name: "uint16",
18169        array: None,
18170        scale: None,
18171        offset: None,
18172        units: Some("OTUs"),
18173        components: &[],
18174        sub_fields: &[],
18175        accumulate: false,
18176    },
18177    FieldInfo {
18178        field_def_num: 10,
18179        name: "dive_number",
18180        type_name: "uint32",
18181        array: None,
18182        scale: None,
18183        offset: None,
18184        units: None,
18185        components: &[],
18186        sub_fields: &[],
18187        accumulate: false,
18188    },
18189    FieldInfo {
18190        field_def_num: 11,
18191        name: "bottom_time",
18192        type_name: "uint32",
18193        array: None,
18194        scale: Some(1000_f64),
18195        offset: None,
18196        units: Some("s"),
18197        components: &[],
18198        sub_fields: &[],
18199        accumulate: false,
18200    },
18201    FieldInfo {
18202        field_def_num: 12,
18203        name: "avg_pressure_sac",
18204        type_name: "uint16",
18205        array: None,
18206        scale: Some(100_f64),
18207        offset: None,
18208        units: Some("bar/min"),
18209        components: &[],
18210        sub_fields: &[],
18211        accumulate: false,
18212    },
18213    FieldInfo {
18214        field_def_num: 13,
18215        name: "avg_volume_sac",
18216        type_name: "uint16",
18217        array: None,
18218        scale: Some(100_f64),
18219        offset: None,
18220        units: Some("L/min"),
18221        components: &[],
18222        sub_fields: &[],
18223        accumulate: false,
18224    },
18225    FieldInfo {
18226        field_def_num: 14,
18227        name: "avg_rmv",
18228        type_name: "uint16",
18229        array: None,
18230        scale: Some(100_f64),
18231        offset: None,
18232        units: Some("L/min"),
18233        components: &[],
18234        sub_fields: &[],
18235        accumulate: false,
18236    },
18237    FieldInfo {
18238        field_def_num: 15,
18239        name: "descent_time",
18240        type_name: "uint32",
18241        array: None,
18242        scale: Some(1000_f64),
18243        offset: None,
18244        units: Some("s"),
18245        components: &[],
18246        sub_fields: &[],
18247        accumulate: false,
18248    },
18249    FieldInfo {
18250        field_def_num: 16,
18251        name: "ascent_time",
18252        type_name: "uint32",
18253        array: None,
18254        scale: Some(1000_f64),
18255        offset: None,
18256        units: Some("s"),
18257        components: &[],
18258        sub_fields: &[],
18259        accumulate: false,
18260    },
18261    FieldInfo {
18262        field_def_num: 17,
18263        name: "avg_ascent_rate",
18264        type_name: "sint32",
18265        array: None,
18266        scale: Some(1000_f64),
18267        offset: None,
18268        units: Some("m/s"),
18269        components: &[],
18270        sub_fields: &[],
18271        accumulate: false,
18272    },
18273    FieldInfo {
18274        field_def_num: 22,
18275        name: "avg_descent_rate",
18276        type_name: "uint32",
18277        array: None,
18278        scale: Some(1000_f64),
18279        offset: None,
18280        units: Some("m/s"),
18281        components: &[],
18282        sub_fields: &[],
18283        accumulate: false,
18284    },
18285    FieldInfo {
18286        field_def_num: 23,
18287        name: "max_ascent_rate",
18288        type_name: "uint32",
18289        array: None,
18290        scale: Some(1000_f64),
18291        offset: None,
18292        units: Some("m/s"),
18293        components: &[],
18294        sub_fields: &[],
18295        accumulate: false,
18296    },
18297    FieldInfo {
18298        field_def_num: 24,
18299        name: "max_descent_rate",
18300        type_name: "uint32",
18301        array: None,
18302        scale: Some(1000_f64),
18303        offset: None,
18304        units: Some("m/s"),
18305        components: &[],
18306        sub_fields: &[],
18307        accumulate: false,
18308    },
18309    FieldInfo {
18310        field_def_num: 25,
18311        name: "hang_time",
18312        type_name: "uint32",
18313        array: None,
18314        scale: Some(1000_f64),
18315        offset: None,
18316        units: Some("s"),
18317        components: &[],
18318        sub_fields: &[],
18319        accumulate: false,
18320    },
18321];
18322
18323pub static MESG_DIVE_SUMMARY: MesgInfo = MesgInfo {
18324    name: "dive_summary",
18325    fields: FIELDS_DIVE_SUMMARY,
18326};
18327
18328static FIELDS_AAD_ACCEL_FEATURES: &[FieldInfo] = &[
18329    FieldInfo {
18330        field_def_num: 253,
18331        name: "timestamp",
18332        type_name: "date_time",
18333        array: None,
18334        scale: None,
18335        offset: None,
18336        units: None,
18337        components: &[],
18338        sub_fields: &[],
18339        accumulate: false,
18340    },
18341    FieldInfo {
18342        field_def_num: 0,
18343        name: "time",
18344        type_name: "uint16",
18345        array: None,
18346        scale: None,
18347        offset: None,
18348        units: Some("s"),
18349        components: &[],
18350        sub_fields: &[],
18351        accumulate: false,
18352    },
18353    FieldInfo {
18354        field_def_num: 1,
18355        name: "energy_total",
18356        type_name: "uint32",
18357        array: None,
18358        scale: None,
18359        offset: None,
18360        units: None,
18361        components: &[],
18362        sub_fields: &[],
18363        accumulate: false,
18364    },
18365    FieldInfo {
18366        field_def_num: 2,
18367        name: "zero_cross_cnt",
18368        type_name: "uint16",
18369        array: None,
18370        scale: None,
18371        offset: None,
18372        units: None,
18373        components: &[],
18374        sub_fields: &[],
18375        accumulate: false,
18376    },
18377    FieldInfo {
18378        field_def_num: 3,
18379        name: "instance",
18380        type_name: "uint8",
18381        array: None,
18382        scale: None,
18383        offset: None,
18384        units: None,
18385        components: &[],
18386        sub_fields: &[],
18387        accumulate: false,
18388    },
18389    FieldInfo {
18390        field_def_num: 4,
18391        name: "time_above_threshold",
18392        type_name: "uint16",
18393        array: None,
18394        scale: Some(25_f64),
18395        offset: None,
18396        units: Some("s"),
18397        components: &[],
18398        sub_fields: &[],
18399        accumulate: false,
18400    },
18401];
18402
18403pub static MESG_AAD_ACCEL_FEATURES: MesgInfo = MesgInfo {
18404    name: "aad_accel_features",
18405    fields: FIELDS_AAD_ACCEL_FEATURES,
18406};
18407
18408static FIELDS_HRV: &[FieldInfo] = &[FieldInfo {
18409    field_def_num: 0,
18410    name: "time",
18411    type_name: "uint16",
18412    array: Some("[N]"),
18413    scale: Some(1000_f64),
18414    offset: None,
18415    units: Some("s"),
18416    components: &[],
18417    sub_fields: &[],
18418    accumulate: false,
18419}];
18420
18421pub static MESG_HRV: MesgInfo = MesgInfo {
18422    name: "hrv",
18423    fields: FIELDS_HRV,
18424};
18425
18426static FIELDS_BEAT_INTERVALS: &[FieldInfo] = &[
18427    FieldInfo {
18428        field_def_num: 253,
18429        name: "timestamp",
18430        type_name: "date_time",
18431        array: None,
18432        scale: None,
18433        offset: None,
18434        units: None,
18435        components: &[],
18436        sub_fields: &[],
18437        accumulate: false,
18438    },
18439    FieldInfo {
18440        field_def_num: 0,
18441        name: "timestamp_ms",
18442        type_name: "uint16",
18443        array: None,
18444        scale: None,
18445        offset: None,
18446        units: Some("ms"),
18447        components: &[],
18448        sub_fields: &[],
18449        accumulate: false,
18450    },
18451    FieldInfo {
18452        field_def_num: 1,
18453        name: "time",
18454        type_name: "uint16",
18455        array: Some("[N]"),
18456        scale: None,
18457        offset: None,
18458        units: Some("ms"),
18459        components: &[],
18460        sub_fields: &[],
18461        accumulate: false,
18462    },
18463];
18464
18465pub static MESG_BEAT_INTERVALS: MesgInfo = MesgInfo {
18466    name: "beat_intervals",
18467    fields: FIELDS_BEAT_INTERVALS,
18468};
18469
18470static FIELDS_HRV_STATUS_SUMMARY: &[FieldInfo] = &[
18471    FieldInfo {
18472        field_def_num: 253,
18473        name: "timestamp",
18474        type_name: "date_time",
18475        array: None,
18476        scale: None,
18477        offset: None,
18478        units: None,
18479        components: &[],
18480        sub_fields: &[],
18481        accumulate: false,
18482    },
18483    FieldInfo {
18484        field_def_num: 0,
18485        name: "weekly_average",
18486        type_name: "uint16",
18487        array: None,
18488        scale: Some(128_f64),
18489        offset: None,
18490        units: Some("ms"),
18491        components: &[],
18492        sub_fields: &[],
18493        accumulate: false,
18494    },
18495    FieldInfo {
18496        field_def_num: 1,
18497        name: "last_night_average",
18498        type_name: "uint16",
18499        array: None,
18500        scale: Some(128_f64),
18501        offset: None,
18502        units: Some("ms"),
18503        components: &[],
18504        sub_fields: &[],
18505        accumulate: false,
18506    },
18507    FieldInfo {
18508        field_def_num: 2,
18509        name: "last_night_5_min_high",
18510        type_name: "uint16",
18511        array: None,
18512        scale: Some(128_f64),
18513        offset: None,
18514        units: Some("ms"),
18515        components: &[],
18516        sub_fields: &[],
18517        accumulate: false,
18518    },
18519    FieldInfo {
18520        field_def_num: 3,
18521        name: "baseline_low_upper",
18522        type_name: "uint16",
18523        array: None,
18524        scale: Some(128_f64),
18525        offset: None,
18526        units: Some("ms"),
18527        components: &[],
18528        sub_fields: &[],
18529        accumulate: false,
18530    },
18531    FieldInfo {
18532        field_def_num: 4,
18533        name: "baseline_balanced_lower",
18534        type_name: "uint16",
18535        array: None,
18536        scale: Some(128_f64),
18537        offset: None,
18538        units: Some("ms"),
18539        components: &[],
18540        sub_fields: &[],
18541        accumulate: false,
18542    },
18543    FieldInfo {
18544        field_def_num: 5,
18545        name: "baseline_balanced_upper",
18546        type_name: "uint16",
18547        array: None,
18548        scale: Some(128_f64),
18549        offset: None,
18550        units: Some("ms"),
18551        components: &[],
18552        sub_fields: &[],
18553        accumulate: false,
18554    },
18555    FieldInfo {
18556        field_def_num: 6,
18557        name: "status",
18558        type_name: "hrv_status",
18559        array: None,
18560        scale: None,
18561        offset: None,
18562        units: None,
18563        components: &[],
18564        sub_fields: &[],
18565        accumulate: false,
18566    },
18567];
18568
18569pub static MESG_HRV_STATUS_SUMMARY: MesgInfo = MesgInfo {
18570    name: "hrv_status_summary",
18571    fields: FIELDS_HRV_STATUS_SUMMARY,
18572};
18573
18574static FIELDS_HRV_VALUE: &[FieldInfo] = &[
18575    FieldInfo {
18576        field_def_num: 253,
18577        name: "timestamp",
18578        type_name: "date_time",
18579        array: None,
18580        scale: None,
18581        offset: None,
18582        units: None,
18583        components: &[],
18584        sub_fields: &[],
18585        accumulate: false,
18586    },
18587    FieldInfo {
18588        field_def_num: 0,
18589        name: "value",
18590        type_name: "uint16",
18591        array: None,
18592        scale: Some(128_f64),
18593        offset: None,
18594        units: Some("ms"),
18595        components: &[],
18596        sub_fields: &[],
18597        accumulate: false,
18598    },
18599];
18600
18601pub static MESG_HRV_VALUE: MesgInfo = MesgInfo {
18602    name: "hrv_value",
18603    fields: FIELDS_HRV_VALUE,
18604};
18605
18606static COMPONENTS_RAW_BBI_2: &[Component] = &[
18607    Component {
18608        name: "time",
18609        bits: 14,
18610        scale: None,
18611        offset: None,
18612        units: None,
18613        accumulate: false,
18614    },
18615    Component {
18616        name: "quality",
18617        bits: 1,
18618        scale: None,
18619        offset: None,
18620        units: None,
18621        accumulate: false,
18622    },
18623    Component {
18624        name: "gap",
18625        bits: 1,
18626        scale: None,
18627        offset: None,
18628        units: None,
18629        accumulate: false,
18630    },
18631    Component {
18632        name: "time",
18633        bits: 14,
18634        scale: None,
18635        offset: None,
18636        units: None,
18637        accumulate: false,
18638    },
18639    Component {
18640        name: "quality",
18641        bits: 1,
18642        scale: None,
18643        offset: None,
18644        units: None,
18645        accumulate: false,
18646    },
18647    Component {
18648        name: "gap",
18649        bits: 1,
18650        scale: None,
18651        offset: None,
18652        units: None,
18653        accumulate: false,
18654    },
18655    Component {
18656        name: "time",
18657        bits: 14,
18658        scale: None,
18659        offset: None,
18660        units: None,
18661        accumulate: false,
18662    },
18663    Component {
18664        name: "quality",
18665        bits: 1,
18666        scale: None,
18667        offset: None,
18668        units: None,
18669        accumulate: false,
18670    },
18671    Component {
18672        name: "gap",
18673        bits: 1,
18674        scale: None,
18675        offset: None,
18676        units: None,
18677        accumulate: false,
18678    },
18679    Component {
18680        name: "time",
18681        bits: 14,
18682        scale: None,
18683        offset: None,
18684        units: None,
18685        accumulate: false,
18686    },
18687    Component {
18688        name: "quality",
18689        bits: 1,
18690        scale: None,
18691        offset: None,
18692        units: None,
18693        accumulate: false,
18694    },
18695    Component {
18696        name: "gap",
18697        bits: 1,
18698        scale: None,
18699        offset: None,
18700        units: None,
18701        accumulate: false,
18702    },
18703    Component {
18704        name: "time",
18705        bits: 14,
18706        scale: None,
18707        offset: None,
18708        units: None,
18709        accumulate: false,
18710    },
18711    Component {
18712        name: "quality",
18713        bits: 1,
18714        scale: None,
18715        offset: None,
18716        units: None,
18717        accumulate: false,
18718    },
18719    Component {
18720        name: "gap",
18721        bits: 1,
18722        scale: None,
18723        offset: None,
18724        units: None,
18725        accumulate: false,
18726    },
18727    Component {
18728        name: "time",
18729        bits: 14,
18730        scale: None,
18731        offset: None,
18732        units: None,
18733        accumulate: false,
18734    },
18735    Component {
18736        name: "quality",
18737        bits: 1,
18738        scale: None,
18739        offset: None,
18740        units: None,
18741        accumulate: false,
18742    },
18743    Component {
18744        name: "gap",
18745        bits: 1,
18746        scale: None,
18747        offset: None,
18748        units: None,
18749        accumulate: false,
18750    },
18751    Component {
18752        name: "time",
18753        bits: 14,
18754        scale: None,
18755        offset: None,
18756        units: None,
18757        accumulate: false,
18758    },
18759    Component {
18760        name: "quality",
18761        bits: 1,
18762        scale: None,
18763        offset: None,
18764        units: None,
18765        accumulate: false,
18766    },
18767    Component {
18768        name: "gap",
18769        bits: 1,
18770        scale: None,
18771        offset: None,
18772        units: None,
18773        accumulate: false,
18774    },
18775    Component {
18776        name: "time",
18777        bits: 14,
18778        scale: None,
18779        offset: None,
18780        units: None,
18781        accumulate: false,
18782    },
18783    Component {
18784        name: "quality",
18785        bits: 1,
18786        scale: None,
18787        offset: None,
18788        units: None,
18789        accumulate: false,
18790    },
18791    Component {
18792        name: "gap",
18793        bits: 1,
18794        scale: None,
18795        offset: None,
18796        units: None,
18797        accumulate: false,
18798    },
18799    Component {
18800        name: "time",
18801        bits: 14,
18802        scale: None,
18803        offset: None,
18804        units: None,
18805        accumulate: false,
18806    },
18807    Component {
18808        name: "quality",
18809        bits: 1,
18810        scale: None,
18811        offset: None,
18812        units: None,
18813        accumulate: false,
18814    },
18815    Component {
18816        name: "gap",
18817        bits: 1,
18818        scale: None,
18819        offset: None,
18820        units: None,
18821        accumulate: false,
18822    },
18823    Component {
18824        name: "time",
18825        bits: 14,
18826        scale: None,
18827        offset: None,
18828        units: None,
18829        accumulate: false,
18830    },
18831    Component {
18832        name: "quality",
18833        bits: 1,
18834        scale: None,
18835        offset: None,
18836        units: None,
18837        accumulate: false,
18838    },
18839    Component {
18840        name: "gap",
18841        bits: 1,
18842        scale: None,
18843        offset: None,
18844        units: None,
18845        accumulate: false,
18846    },
18847    Component {
18848        name: "time",
18849        bits: 14,
18850        scale: None,
18851        offset: None,
18852        units: None,
18853        accumulate: false,
18854    },
18855    Component {
18856        name: "quality",
18857        bits: 1,
18858        scale: None,
18859        offset: None,
18860        units: None,
18861        accumulate: false,
18862    },
18863    Component {
18864        name: "gap",
18865        bits: 1,
18866        scale: None,
18867        offset: None,
18868        units: None,
18869        accumulate: false,
18870    },
18871    Component {
18872        name: "time",
18873        bits: 14,
18874        scale: None,
18875        offset: None,
18876        units: None,
18877        accumulate: false,
18878    },
18879    Component {
18880        name: "quality",
18881        bits: 1,
18882        scale: None,
18883        offset: None,
18884        units: None,
18885        accumulate: false,
18886    },
18887    Component {
18888        name: "gap",
18889        bits: 1,
18890        scale: None,
18891        offset: None,
18892        units: None,
18893        accumulate: false,
18894    },
18895    Component {
18896        name: "time",
18897        bits: 14,
18898        scale: None,
18899        offset: None,
18900        units: None,
18901        accumulate: false,
18902    },
18903    Component {
18904        name: "quality",
18905        bits: 1,
18906        scale: None,
18907        offset: None,
18908        units: None,
18909        accumulate: false,
18910    },
18911    Component {
18912        name: "gap",
18913        bits: 1,
18914        scale: None,
18915        offset: None,
18916        units: None,
18917        accumulate: false,
18918    },
18919    Component {
18920        name: "time",
18921        bits: 14,
18922        scale: None,
18923        offset: None,
18924        units: None,
18925        accumulate: false,
18926    },
18927    Component {
18928        name: "quality",
18929        bits: 1,
18930        scale: None,
18931        offset: None,
18932        units: None,
18933        accumulate: false,
18934    },
18935    Component {
18936        name: "gap",
18937        bits: 1,
18938        scale: None,
18939        offset: None,
18940        units: None,
18941        accumulate: false,
18942    },
18943    Component {
18944        name: "time",
18945        bits: 14,
18946        scale: None,
18947        offset: None,
18948        units: None,
18949        accumulate: false,
18950    },
18951    Component {
18952        name: "quality",
18953        bits: 1,
18954        scale: None,
18955        offset: None,
18956        units: None,
18957        accumulate: false,
18958    },
18959    Component {
18960        name: "gap",
18961        bits: 1,
18962        scale: None,
18963        offset: None,
18964        units: None,
18965        accumulate: false,
18966    },
18967];
18968static FIELDS_RAW_BBI: &[FieldInfo] = &[
18969    FieldInfo {
18970        field_def_num: 253,
18971        name: "timestamp",
18972        type_name: "date_time",
18973        array: None,
18974        scale: None,
18975        offset: None,
18976        units: None,
18977        components: &[],
18978        sub_fields: &[],
18979        accumulate: false,
18980    },
18981    FieldInfo {
18982        field_def_num: 0,
18983        name: "timestamp_ms",
18984        type_name: "uint16",
18985        array: None,
18986        scale: None,
18987        offset: None,
18988        units: Some("ms"),
18989        components: &[],
18990        sub_fields: &[],
18991        accumulate: false,
18992    },
18993    FieldInfo {
18994        field_def_num: 1,
18995        name: "data",
18996        type_name: "uint16",
18997        array: Some("[N]"),
18998        scale: None,
18999        offset: None,
19000        units: None,
19001        components: COMPONENTS_RAW_BBI_2,
19002        sub_fields: &[],
19003        accumulate: false,
19004    },
19005    FieldInfo {
19006        field_def_num: 2,
19007        name: "time",
19008        type_name: "uint16",
19009        array: Some("[N]"),
19010        scale: None,
19011        offset: None,
19012        units: Some("ms"),
19013        components: &[],
19014        sub_fields: &[],
19015        accumulate: false,
19016    },
19017    FieldInfo {
19018        field_def_num: 3,
19019        name: "quality",
19020        type_name: "uint8",
19021        array: Some("[N]"),
19022        scale: None,
19023        offset: None,
19024        units: None,
19025        components: &[],
19026        sub_fields: &[],
19027        accumulate: false,
19028    },
19029    FieldInfo {
19030        field_def_num: 4,
19031        name: "gap",
19032        type_name: "uint8",
19033        array: Some("[N]"),
19034        scale: None,
19035        offset: None,
19036        units: None,
19037        components: &[],
19038        sub_fields: &[],
19039        accumulate: false,
19040    },
19041];
19042
19043pub static MESG_RAW_BBI: MesgInfo = MesgInfo {
19044    name: "raw_bbi",
19045    fields: FIELDS_RAW_BBI,
19046};
19047
19048static FIELDS_RESPIRATION_RATE: &[FieldInfo] = &[
19049    FieldInfo {
19050        field_def_num: 253,
19051        name: "timestamp",
19052        type_name: "date_time",
19053        array: None,
19054        scale: None,
19055        offset: None,
19056        units: None,
19057        components: &[],
19058        sub_fields: &[],
19059        accumulate: false,
19060    },
19061    FieldInfo {
19062        field_def_num: 0,
19063        name: "respiration_rate",
19064        type_name: "sint16",
19065        array: None,
19066        scale: Some(100_f64),
19067        offset: None,
19068        units: Some("breaths/min"),
19069        components: &[],
19070        sub_fields: &[],
19071        accumulate: false,
19072    },
19073];
19074
19075pub static MESG_RESPIRATION_RATE: MesgInfo = MesgInfo {
19076    name: "respiration_rate",
19077    fields: FIELDS_RESPIRATION_RATE,
19078};
19079
19080static FIELDS_CHRONO_SHOT_SESSION: &[FieldInfo] = &[
19081    FieldInfo {
19082        field_def_num: 253,
19083        name: "timestamp",
19084        type_name: "date_time",
19085        array: None,
19086        scale: None,
19087        offset: None,
19088        units: None,
19089        components: &[],
19090        sub_fields: &[],
19091        accumulate: false,
19092    },
19093    FieldInfo {
19094        field_def_num: 0,
19095        name: "min_speed",
19096        type_name: "uint32",
19097        array: None,
19098        scale: Some(1000_f64),
19099        offset: None,
19100        units: Some("m/s"),
19101        components: &[],
19102        sub_fields: &[],
19103        accumulate: false,
19104    },
19105    FieldInfo {
19106        field_def_num: 1,
19107        name: "max_speed",
19108        type_name: "uint32",
19109        array: None,
19110        scale: Some(1000_f64),
19111        offset: None,
19112        units: Some("m/s"),
19113        components: &[],
19114        sub_fields: &[],
19115        accumulate: false,
19116    },
19117    FieldInfo {
19118        field_def_num: 2,
19119        name: "avg_speed",
19120        type_name: "uint32",
19121        array: None,
19122        scale: Some(1000_f64),
19123        offset: None,
19124        units: Some("m/s"),
19125        components: &[],
19126        sub_fields: &[],
19127        accumulate: false,
19128    },
19129    FieldInfo {
19130        field_def_num: 3,
19131        name: "shot_count",
19132        type_name: "uint16",
19133        array: None,
19134        scale: None,
19135        offset: None,
19136        units: None,
19137        components: &[],
19138        sub_fields: &[],
19139        accumulate: false,
19140    },
19141    FieldInfo {
19142        field_def_num: 4,
19143        name: "projectile_type",
19144        type_name: "projectile_type",
19145        array: None,
19146        scale: None,
19147        offset: None,
19148        units: None,
19149        components: &[],
19150        sub_fields: &[],
19151        accumulate: false,
19152    },
19153    FieldInfo {
19154        field_def_num: 5,
19155        name: "grain_weight",
19156        type_name: "uint32",
19157        array: None,
19158        scale: Some(10_f64),
19159        offset: None,
19160        units: Some("gr"),
19161        components: &[],
19162        sub_fields: &[],
19163        accumulate: false,
19164    },
19165    FieldInfo {
19166        field_def_num: 6,
19167        name: "standard_deviation",
19168        type_name: "uint32",
19169        array: None,
19170        scale: Some(1000_f64),
19171        offset: None,
19172        units: Some("m/s"),
19173        components: &[],
19174        sub_fields: &[],
19175        accumulate: false,
19176    },
19177];
19178
19179pub static MESG_CHRONO_SHOT_SESSION: MesgInfo = MesgInfo {
19180    name: "chrono_shot_session",
19181    fields: FIELDS_CHRONO_SHOT_SESSION,
19182};
19183
19184static FIELDS_CHRONO_SHOT_DATA: &[FieldInfo] = &[
19185    FieldInfo {
19186        field_def_num: 253,
19187        name: "timestamp",
19188        type_name: "date_time",
19189        array: None,
19190        scale: None,
19191        offset: None,
19192        units: None,
19193        components: &[],
19194        sub_fields: &[],
19195        accumulate: false,
19196    },
19197    FieldInfo {
19198        field_def_num: 0,
19199        name: "shot_speed",
19200        type_name: "uint32",
19201        array: None,
19202        scale: Some(1000_f64),
19203        offset: None,
19204        units: Some("m/s"),
19205        components: &[],
19206        sub_fields: &[],
19207        accumulate: false,
19208    },
19209    FieldInfo {
19210        field_def_num: 1,
19211        name: "shot_num",
19212        type_name: "uint16",
19213        array: None,
19214        scale: None,
19215        offset: None,
19216        units: None,
19217        components: &[],
19218        sub_fields: &[],
19219        accumulate: false,
19220    },
19221];
19222
19223pub static MESG_CHRONO_SHOT_DATA: MesgInfo = MesgInfo {
19224    name: "chrono_shot_data",
19225    fields: FIELDS_CHRONO_SHOT_DATA,
19226};
19227
19228static FIELDS_TANK_UPDATE: &[FieldInfo] = &[
19229    FieldInfo {
19230        field_def_num: 253,
19231        name: "timestamp",
19232        type_name: "date_time",
19233        array: None,
19234        scale: None,
19235        offset: None,
19236        units: Some("s"),
19237        components: &[],
19238        sub_fields: &[],
19239        accumulate: false,
19240    },
19241    FieldInfo {
19242        field_def_num: 0,
19243        name: "sensor",
19244        type_name: "ant_channel_id",
19245        array: None,
19246        scale: None,
19247        offset: None,
19248        units: None,
19249        components: &[],
19250        sub_fields: &[],
19251        accumulate: false,
19252    },
19253    FieldInfo {
19254        field_def_num: 1,
19255        name: "pressure",
19256        type_name: "uint16",
19257        array: None,
19258        scale: Some(100_f64),
19259        offset: None,
19260        units: Some("bar"),
19261        components: &[],
19262        sub_fields: &[],
19263        accumulate: false,
19264    },
19265];
19266
19267pub static MESG_TANK_UPDATE: MesgInfo = MesgInfo {
19268    name: "tank_update",
19269    fields: FIELDS_TANK_UPDATE,
19270};
19271
19272static FIELDS_TANK_SUMMARY: &[FieldInfo] = &[
19273    FieldInfo {
19274        field_def_num: 253,
19275        name: "timestamp",
19276        type_name: "date_time",
19277        array: None,
19278        scale: None,
19279        offset: None,
19280        units: Some("s"),
19281        components: &[],
19282        sub_fields: &[],
19283        accumulate: false,
19284    },
19285    FieldInfo {
19286        field_def_num: 0,
19287        name: "sensor",
19288        type_name: "ant_channel_id",
19289        array: None,
19290        scale: None,
19291        offset: None,
19292        units: None,
19293        components: &[],
19294        sub_fields: &[],
19295        accumulate: false,
19296    },
19297    FieldInfo {
19298        field_def_num: 1,
19299        name: "start_pressure",
19300        type_name: "uint16",
19301        array: None,
19302        scale: Some(100_f64),
19303        offset: None,
19304        units: Some("bar"),
19305        components: &[],
19306        sub_fields: &[],
19307        accumulate: false,
19308    },
19309    FieldInfo {
19310        field_def_num: 2,
19311        name: "end_pressure",
19312        type_name: "uint16",
19313        array: None,
19314        scale: Some(100_f64),
19315        offset: None,
19316        units: Some("bar"),
19317        components: &[],
19318        sub_fields: &[],
19319        accumulate: false,
19320    },
19321    FieldInfo {
19322        field_def_num: 3,
19323        name: "volume_used",
19324        type_name: "uint32",
19325        array: None,
19326        scale: Some(100_f64),
19327        offset: None,
19328        units: Some("L"),
19329        components: &[],
19330        sub_fields: &[],
19331        accumulate: false,
19332    },
19333];
19334
19335pub static MESG_TANK_SUMMARY: MesgInfo = MesgInfo {
19336    name: "tank_summary",
19337    fields: FIELDS_TANK_SUMMARY,
19338};
19339
19340static FIELDS_SLEEP_ASSESSMENT: &[FieldInfo] = &[
19341    FieldInfo {
19342        field_def_num: 0,
19343        name: "combined_awake_score",
19344        type_name: "uint8",
19345        array: None,
19346        scale: None,
19347        offset: None,
19348        units: None,
19349        components: &[],
19350        sub_fields: &[],
19351        accumulate: false,
19352    },
19353    FieldInfo {
19354        field_def_num: 1,
19355        name: "awake_time_score",
19356        type_name: "uint8",
19357        array: None,
19358        scale: None,
19359        offset: None,
19360        units: None,
19361        components: &[],
19362        sub_fields: &[],
19363        accumulate: false,
19364    },
19365    FieldInfo {
19366        field_def_num: 2,
19367        name: "awakenings_count_score",
19368        type_name: "uint8",
19369        array: None,
19370        scale: None,
19371        offset: None,
19372        units: None,
19373        components: &[],
19374        sub_fields: &[],
19375        accumulate: false,
19376    },
19377    FieldInfo {
19378        field_def_num: 3,
19379        name: "deep_sleep_score",
19380        type_name: "uint8",
19381        array: None,
19382        scale: None,
19383        offset: None,
19384        units: None,
19385        components: &[],
19386        sub_fields: &[],
19387        accumulate: false,
19388    },
19389    FieldInfo {
19390        field_def_num: 4,
19391        name: "sleep_duration_score",
19392        type_name: "uint8",
19393        array: None,
19394        scale: None,
19395        offset: None,
19396        units: None,
19397        components: &[],
19398        sub_fields: &[],
19399        accumulate: false,
19400    },
19401    FieldInfo {
19402        field_def_num: 5,
19403        name: "light_sleep_score",
19404        type_name: "uint8",
19405        array: None,
19406        scale: None,
19407        offset: None,
19408        units: None,
19409        components: &[],
19410        sub_fields: &[],
19411        accumulate: false,
19412    },
19413    FieldInfo {
19414        field_def_num: 6,
19415        name: "overall_sleep_score",
19416        type_name: "uint8",
19417        array: None,
19418        scale: None,
19419        offset: None,
19420        units: None,
19421        components: &[],
19422        sub_fields: &[],
19423        accumulate: false,
19424    },
19425    FieldInfo {
19426        field_def_num: 7,
19427        name: "sleep_quality_score",
19428        type_name: "uint8",
19429        array: None,
19430        scale: None,
19431        offset: None,
19432        units: None,
19433        components: &[],
19434        sub_fields: &[],
19435        accumulate: false,
19436    },
19437    FieldInfo {
19438        field_def_num: 8,
19439        name: "sleep_recovery_score",
19440        type_name: "uint8",
19441        array: None,
19442        scale: None,
19443        offset: None,
19444        units: None,
19445        components: &[],
19446        sub_fields: &[],
19447        accumulate: false,
19448    },
19449    FieldInfo {
19450        field_def_num: 9,
19451        name: "rem_sleep_score",
19452        type_name: "uint8",
19453        array: None,
19454        scale: None,
19455        offset: None,
19456        units: None,
19457        components: &[],
19458        sub_fields: &[],
19459        accumulate: false,
19460    },
19461    FieldInfo {
19462        field_def_num: 10,
19463        name: "sleep_restlessness_score",
19464        type_name: "uint8",
19465        array: None,
19466        scale: None,
19467        offset: None,
19468        units: None,
19469        components: &[],
19470        sub_fields: &[],
19471        accumulate: false,
19472    },
19473    FieldInfo {
19474        field_def_num: 11,
19475        name: "awakenings_count",
19476        type_name: "uint8",
19477        array: None,
19478        scale: None,
19479        offset: None,
19480        units: None,
19481        components: &[],
19482        sub_fields: &[],
19483        accumulate: false,
19484    },
19485    FieldInfo {
19486        field_def_num: 14,
19487        name: "interruptions_score",
19488        type_name: "uint8",
19489        array: None,
19490        scale: None,
19491        offset: None,
19492        units: None,
19493        components: &[],
19494        sub_fields: &[],
19495        accumulate: false,
19496    },
19497    FieldInfo {
19498        field_def_num: 15,
19499        name: "average_stress_during_sleep",
19500        type_name: "uint16",
19501        array: None,
19502        scale: Some(100_f64),
19503        offset: None,
19504        units: None,
19505        components: &[],
19506        sub_fields: &[],
19507        accumulate: false,
19508    },
19509];
19510
19511pub static MESG_SLEEP_ASSESSMENT: MesgInfo = MesgInfo {
19512    name: "sleep_assessment",
19513    fields: FIELDS_SLEEP_ASSESSMENT,
19514};
19515
19516static FIELDS_SLEEP_DISRUPTION_SEVERITY_PERIOD: &[FieldInfo] = &[
19517    FieldInfo {
19518        field_def_num: 254,
19519        name: "message_index",
19520        type_name: "message_index",
19521        array: None,
19522        scale: None,
19523        offset: None,
19524        units: None,
19525        components: &[],
19526        sub_fields: &[],
19527        accumulate: false,
19528    },
19529    FieldInfo {
19530        field_def_num: 253,
19531        name: "timestamp",
19532        type_name: "date_time",
19533        array: None,
19534        scale: None,
19535        offset: None,
19536        units: None,
19537        components: &[],
19538        sub_fields: &[],
19539        accumulate: false,
19540    },
19541    FieldInfo {
19542        field_def_num: 0,
19543        name: "severity",
19544        type_name: "sleep_disruption_severity",
19545        array: None,
19546        scale: None,
19547        offset: None,
19548        units: None,
19549        components: &[],
19550        sub_fields: &[],
19551        accumulate: false,
19552    },
19553];
19554
19555pub static MESG_SLEEP_DISRUPTION_SEVERITY_PERIOD: MesgInfo = MesgInfo {
19556    name: "sleep_disruption_severity_period",
19557    fields: FIELDS_SLEEP_DISRUPTION_SEVERITY_PERIOD,
19558};
19559
19560static FIELDS_SLEEP_DISRUPTION_OVERNIGHT_SEVERITY: &[FieldInfo] = &[
19561    FieldInfo {
19562        field_def_num: 253,
19563        name: "timestamp",
19564        type_name: "date_time",
19565        array: None,
19566        scale: None,
19567        offset: None,
19568        units: None,
19569        components: &[],
19570        sub_fields: &[],
19571        accumulate: false,
19572    },
19573    FieldInfo {
19574        field_def_num: 0,
19575        name: "severity",
19576        type_name: "sleep_disruption_severity",
19577        array: None,
19578        scale: None,
19579        offset: None,
19580        units: None,
19581        components: &[],
19582        sub_fields: &[],
19583        accumulate: false,
19584    },
19585];
19586
19587pub static MESG_SLEEP_DISRUPTION_OVERNIGHT_SEVERITY: MesgInfo = MesgInfo {
19588    name: "sleep_disruption_overnight_severity",
19589    fields: FIELDS_SLEEP_DISRUPTION_OVERNIGHT_SEVERITY,
19590};
19591
19592static FIELDS_NAP_EVENT: &[FieldInfo] = &[
19593    FieldInfo {
19594        field_def_num: 254,
19595        name: "message_index",
19596        type_name: "message_index",
19597        array: None,
19598        scale: None,
19599        offset: None,
19600        units: None,
19601        components: &[],
19602        sub_fields: &[],
19603        accumulate: false,
19604    },
19605    FieldInfo {
19606        field_def_num: 253,
19607        name: "timestamp",
19608        type_name: "date_time",
19609        array: None,
19610        scale: None,
19611        offset: None,
19612        units: None,
19613        components: &[],
19614        sub_fields: &[],
19615        accumulate: false,
19616    },
19617    FieldInfo {
19618        field_def_num: 0,
19619        name: "start_time",
19620        type_name: "date_time",
19621        array: None,
19622        scale: None,
19623        offset: None,
19624        units: Some("seconds"),
19625        components: &[],
19626        sub_fields: &[],
19627        accumulate: false,
19628    },
19629    FieldInfo {
19630        field_def_num: 1,
19631        name: "start_timezone_offset",
19632        type_name: "sint16",
19633        array: None,
19634        scale: None,
19635        offset: None,
19636        units: Some("minutes"),
19637        components: &[],
19638        sub_fields: &[],
19639        accumulate: false,
19640    },
19641    FieldInfo {
19642        field_def_num: 2,
19643        name: "end_time",
19644        type_name: "date_time",
19645        array: None,
19646        scale: None,
19647        offset: None,
19648        units: Some("seconds"),
19649        components: &[],
19650        sub_fields: &[],
19651        accumulate: false,
19652    },
19653    FieldInfo {
19654        field_def_num: 3,
19655        name: "end_timezone_offset",
19656        type_name: "sint16",
19657        array: None,
19658        scale: None,
19659        offset: None,
19660        units: Some("minutes"),
19661        components: &[],
19662        sub_fields: &[],
19663        accumulate: false,
19664    },
19665    FieldInfo {
19666        field_def_num: 4,
19667        name: "feedback",
19668        type_name: "nap_period_feedback",
19669        array: None,
19670        scale: None,
19671        offset: None,
19672        units: None,
19673        components: &[],
19674        sub_fields: &[],
19675        accumulate: false,
19676    },
19677    FieldInfo {
19678        field_def_num: 5,
19679        name: "is_deleted",
19680        type_name: "bool",
19681        array: None,
19682        scale: None,
19683        offset: None,
19684        units: None,
19685        components: &[],
19686        sub_fields: &[],
19687        accumulate: false,
19688    },
19689    FieldInfo {
19690        field_def_num: 6,
19691        name: "source",
19692        type_name: "nap_source",
19693        array: None,
19694        scale: None,
19695        offset: None,
19696        units: None,
19697        components: &[],
19698        sub_fields: &[],
19699        accumulate: false,
19700    },
19701    FieldInfo {
19702        field_def_num: 7,
19703        name: "update_timestamp",
19704        type_name: "date_time",
19705        array: None,
19706        scale: None,
19707        offset: None,
19708        units: None,
19709        components: &[],
19710        sub_fields: &[],
19711        accumulate: false,
19712    },
19713];
19714
19715pub static MESG_NAP_EVENT: MesgInfo = MesgInfo {
19716    name: "nap_event",
19717    fields: FIELDS_NAP_EVENT,
19718};
19719
19720static FIELDS_SKIN_TEMP_OVERNIGHT: &[FieldInfo] = &[
19721    FieldInfo {
19722        field_def_num: 253,
19723        name: "timestamp",
19724        type_name: "date_time",
19725        array: None,
19726        scale: None,
19727        offset: None,
19728        units: None,
19729        components: &[],
19730        sub_fields: &[],
19731        accumulate: false,
19732    },
19733    FieldInfo {
19734        field_def_num: 0,
19735        name: "local_timestamp",
19736        type_name: "local_date_time",
19737        array: None,
19738        scale: None,
19739        offset: None,
19740        units: None,
19741        components: &[],
19742        sub_fields: &[],
19743        accumulate: false,
19744    },
19745    FieldInfo {
19746        field_def_num: 1,
19747        name: "average_deviation",
19748        type_name: "float32",
19749        array: None,
19750        scale: None,
19751        offset: None,
19752        units: None,
19753        components: &[],
19754        sub_fields: &[],
19755        accumulate: false,
19756    },
19757    FieldInfo {
19758        field_def_num: 2,
19759        name: "average_7_day_deviation",
19760        type_name: "float32",
19761        array: None,
19762        scale: None,
19763        offset: None,
19764        units: None,
19765        components: &[],
19766        sub_fields: &[],
19767        accumulate: false,
19768    },
19769    FieldInfo {
19770        field_def_num: 4,
19771        name: "nightly_value",
19772        type_name: "float32",
19773        array: None,
19774        scale: None,
19775        offset: None,
19776        units: None,
19777        components: &[],
19778        sub_fields: &[],
19779        accumulate: false,
19780    },
19781];
19782
19783pub static MESG_SKIN_TEMP_OVERNIGHT: MesgInfo = MesgInfo {
19784    name: "skin_temp_overnight",
19785    fields: FIELDS_SKIN_TEMP_OVERNIGHT,
19786};
19787
19788/// All messages defined in Profile.xlsx, in spreadsheet order.
19789pub static ALL_MESSAGES: &[&MesgInfo] = &[
19790    &MESG_FILE_ID,
19791    &MESG_FILE_CREATOR,
19792    &MESG_TIMESTAMP_CORRELATION,
19793    &MESG_SOFTWARE,
19794    &MESG_SLAVE_DEVICE,
19795    &MESG_CAPABILITIES,
19796    &MESG_FILE_CAPABILITIES,
19797    &MESG_MESG_CAPABILITIES,
19798    &MESG_FIELD_CAPABILITIES,
19799    &MESG_DEVICE_SETTINGS,
19800    &MESG_USER_PROFILE,
19801    &MESG_HRM_PROFILE,
19802    &MESG_SDM_PROFILE,
19803    &MESG_BIKE_PROFILE,
19804    &MESG_CONNECTIVITY,
19805    &MESG_WATCHFACE_SETTINGS,
19806    &MESG_OHR_SETTINGS,
19807    &MESG_TIME_IN_ZONE,
19808    &MESG_ZONES_TARGET,
19809    &MESG_SPORT,
19810    &MESG_HR_ZONE,
19811    &MESG_SPEED_ZONE,
19812    &MESG_CADENCE_ZONE,
19813    &MESG_POWER_ZONE,
19814    &MESG_MET_ZONE,
19815    &MESG_TRAINING_SETTINGS,
19816    &MESG_DIVE_SETTINGS,
19817    &MESG_DIVE_ALARM,
19818    &MESG_DIVE_APNEA_ALARM,
19819    &MESG_DIVE_GAS,
19820    &MESG_GOAL,
19821    &MESG_ACTIVITY,
19822    &MESG_SESSION,
19823    &MESG_LAP,
19824    &MESG_LENGTH,
19825    &MESG_RECORD,
19826    &MESG_EVENT,
19827    &MESG_DEVICE_INFO,
19828    &MESG_DEVICE_AUX_BATTERY_INFO,
19829    &MESG_TRAINING_FILE,
19830    &MESG_WEATHER_CONDITIONS,
19831    &MESG_WEATHER_ALERT,
19832    &MESG_GPS_METADATA,
19833    &MESG_CAMERA_EVENT,
19834    &MESG_GYROSCOPE_DATA,
19835    &MESG_ACCELEROMETER_DATA,
19836    &MESG_MAGNETOMETER_DATA,
19837    &MESG_BAROMETER_DATA,
19838    &MESG_THREE_D_SENSOR_CALIBRATION,
19839    &MESG_ONE_D_SENSOR_CALIBRATION,
19840    &MESG_VIDEO_FRAME,
19841    &MESG_OBDII_DATA,
19842    &MESG_NMEA_SENTENCE,
19843    &MESG_AVIATION_ATTITUDE,
19844    &MESG_VIDEO,
19845    &MESG_VIDEO_TITLE,
19846    &MESG_VIDEO_DESCRIPTION,
19847    &MESG_VIDEO_CLIP,
19848    &MESG_SET,
19849    &MESG_JUMP,
19850    &MESG_SPLIT,
19851    &MESG_SPLIT_SUMMARY,
19852    &MESG_CLIMB_PRO,
19853    &MESG_FIELD_DESCRIPTION,
19854    &MESG_DEVELOPER_DATA_ID,
19855    &MESG_COURSE,
19856    &MESG_COURSE_POINT,
19857    &MESG_SEGMENT_ID,
19858    &MESG_SEGMENT_LEADERBOARD_ENTRY,
19859    &MESG_SEGMENT_POINT,
19860    &MESG_SEGMENT_LAP,
19861    &MESG_SEGMENT_FILE,
19862    &MESG_WORKOUT,
19863    &MESG_WORKOUT_SESSION,
19864    &MESG_WORKOUT_STEP,
19865    &MESG_EXERCISE_TITLE,
19866    &MESG_SCHEDULE,
19867    &MESG_TOTALS,
19868    &MESG_WEIGHT_SCALE,
19869    &MESG_BLOOD_PRESSURE,
19870    &MESG_MONITORING_INFO,
19871    &MESG_MONITORING,
19872    &MESG_MONITORING_HR_DATA,
19873    &MESG_SPO2_DATA,
19874    &MESG_HR,
19875    &MESG_STRESS_LEVEL,
19876    &MESG_MAX_MET_DATA,
19877    &MESG_HSA_BODY_BATTERY_DATA,
19878    &MESG_HSA_EVENT,
19879    &MESG_HSA_ACCELEROMETER_DATA,
19880    &MESG_HSA_GYROSCOPE_DATA,
19881    &MESG_HSA_STEP_DATA,
19882    &MESG_HSA_SPO2_DATA,
19883    &MESG_HSA_STRESS_DATA,
19884    &MESG_HSA_RESPIRATION_DATA,
19885    &MESG_HSA_HEART_RATE_DATA,
19886    &MESG_HSA_CONFIGURATION_DATA,
19887    &MESG_HSA_WRIST_TEMPERATURE_DATA,
19888    &MESG_MEMO_GLOB,
19889    &MESG_SLEEP_LEVEL,
19890    &MESG_ANT_CHANNEL_ID,
19891    &MESG_ANT_RX,
19892    &MESG_ANT_TX,
19893    &MESG_EXD_SCREEN_CONFIGURATION,
19894    &MESG_EXD_DATA_FIELD_CONFIGURATION,
19895    &MESG_EXD_DATA_CONCEPT_CONFIGURATION,
19896    &MESG_DIVE_SUMMARY,
19897    &MESG_AAD_ACCEL_FEATURES,
19898    &MESG_HRV,
19899    &MESG_BEAT_INTERVALS,
19900    &MESG_HRV_STATUS_SUMMARY,
19901    &MESG_HRV_VALUE,
19902    &MESG_RAW_BBI,
19903    &MESG_RESPIRATION_RATE,
19904    &MESG_CHRONO_SHOT_SESSION,
19905    &MESG_CHRONO_SHOT_DATA,
19906    &MESG_TANK_UPDATE,
19907    &MESG_TANK_SUMMARY,
19908    &MESG_SLEEP_ASSESSMENT,
19909    &MESG_SLEEP_DISRUPTION_SEVERITY_PERIOD,
19910    &MESG_SLEEP_DISRUPTION_OVERNIGHT_SEVERITY,
19911    &MESG_NAP_EVENT,
19912    &MESG_SKIN_TEMP_OVERNIGHT,
19913];
19914
19915/// Resolve the [`MesgInfo`] for a global message number in O(1).
19916/// Generated from the `mesg_num` Types-sheet enum.
19917pub fn mesg_info_by_num(global_mesg_num: u16) -> Option<&'static MesgInfo> {
19918    Some(match global_mesg_num {
19919        0 => &MESG_FILE_ID,
19920        1 => &MESG_CAPABILITIES,
19921        2 => &MESG_DEVICE_SETTINGS,
19922        3 => &MESG_USER_PROFILE,
19923        4 => &MESG_HRM_PROFILE,
19924        5 => &MESG_SDM_PROFILE,
19925        6 => &MESG_BIKE_PROFILE,
19926        7 => &MESG_ZONES_TARGET,
19927        8 => &MESG_HR_ZONE,
19928        9 => &MESG_POWER_ZONE,
19929        10 => &MESG_MET_ZONE,
19930        12 => &MESG_SPORT,
19931        13 => &MESG_TRAINING_SETTINGS,
19932        15 => &MESG_GOAL,
19933        18 => &MESG_SESSION,
19934        19 => &MESG_LAP,
19935        20 => &MESG_RECORD,
19936        21 => &MESG_EVENT,
19937        23 => &MESG_DEVICE_INFO,
19938        26 => &MESG_WORKOUT,
19939        27 => &MESG_WORKOUT_STEP,
19940        28 => &MESG_SCHEDULE,
19941        30 => &MESG_WEIGHT_SCALE,
19942        31 => &MESG_COURSE,
19943        32 => &MESG_COURSE_POINT,
19944        33 => &MESG_TOTALS,
19945        34 => &MESG_ACTIVITY,
19946        35 => &MESG_SOFTWARE,
19947        37 => &MESG_FILE_CAPABILITIES,
19948        38 => &MESG_MESG_CAPABILITIES,
19949        39 => &MESG_FIELD_CAPABILITIES,
19950        49 => &MESG_FILE_CREATOR,
19951        51 => &MESG_BLOOD_PRESSURE,
19952        53 => &MESG_SPEED_ZONE,
19953        55 => &MESG_MONITORING,
19954        72 => &MESG_TRAINING_FILE,
19955        78 => &MESG_HRV,
19956        80 => &MESG_ANT_RX,
19957        81 => &MESG_ANT_TX,
19958        82 => &MESG_ANT_CHANNEL_ID,
19959        101 => &MESG_LENGTH,
19960        103 => &MESG_MONITORING_INFO,
19961        106 => &MESG_SLAVE_DEVICE,
19962        127 => &MESG_CONNECTIVITY,
19963        128 => &MESG_WEATHER_CONDITIONS,
19964        129 => &MESG_WEATHER_ALERT,
19965        131 => &MESG_CADENCE_ZONE,
19966        132 => &MESG_HR,
19967        142 => &MESG_SEGMENT_LAP,
19968        145 => &MESG_MEMO_GLOB,
19969        148 => &MESG_SEGMENT_ID,
19970        149 => &MESG_SEGMENT_LEADERBOARD_ENTRY,
19971        150 => &MESG_SEGMENT_POINT,
19972        151 => &MESG_SEGMENT_FILE,
19973        158 => &MESG_WORKOUT_SESSION,
19974        159 => &MESG_WATCHFACE_SETTINGS,
19975        160 => &MESG_GPS_METADATA,
19976        161 => &MESG_CAMERA_EVENT,
19977        162 => &MESG_TIMESTAMP_CORRELATION,
19978        164 => &MESG_GYROSCOPE_DATA,
19979        165 => &MESG_ACCELEROMETER_DATA,
19980        167 => &MESG_THREE_D_SENSOR_CALIBRATION,
19981        169 => &MESG_VIDEO_FRAME,
19982        174 => &MESG_OBDII_DATA,
19983        177 => &MESG_NMEA_SENTENCE,
19984        178 => &MESG_AVIATION_ATTITUDE,
19985        184 => &MESG_VIDEO,
19986        185 => &MESG_VIDEO_TITLE,
19987        186 => &MESG_VIDEO_DESCRIPTION,
19988        187 => &MESG_VIDEO_CLIP,
19989        188 => &MESG_OHR_SETTINGS,
19990        200 => &MESG_EXD_SCREEN_CONFIGURATION,
19991        201 => &MESG_EXD_DATA_FIELD_CONFIGURATION,
19992        202 => &MESG_EXD_DATA_CONCEPT_CONFIGURATION,
19993        206 => &MESG_FIELD_DESCRIPTION,
19994        207 => &MESG_DEVELOPER_DATA_ID,
19995        208 => &MESG_MAGNETOMETER_DATA,
19996        209 => &MESG_BAROMETER_DATA,
19997        210 => &MESG_ONE_D_SENSOR_CALIBRATION,
19998        211 => &MESG_MONITORING_HR_DATA,
19999        216 => &MESG_TIME_IN_ZONE,
20000        225 => &MESG_SET,
20001        227 => &MESG_STRESS_LEVEL,
20002        229 => &MESG_MAX_MET_DATA,
20003        258 => &MESG_DIVE_SETTINGS,
20004        259 => &MESG_DIVE_GAS,
20005        262 => &MESG_DIVE_ALARM,
20006        264 => &MESG_EXERCISE_TITLE,
20007        268 => &MESG_DIVE_SUMMARY,
20008        269 => &MESG_SPO2_DATA,
20009        275 => &MESG_SLEEP_LEVEL,
20010        285 => &MESG_JUMP,
20011        289 => &MESG_AAD_ACCEL_FEATURES,
20012        290 => &MESG_BEAT_INTERVALS,
20013        297 => &MESG_RESPIRATION_RATE,
20014        302 => &MESG_HSA_ACCELEROMETER_DATA,
20015        304 => &MESG_HSA_STEP_DATA,
20016        305 => &MESG_HSA_SPO2_DATA,
20017        306 => &MESG_HSA_STRESS_DATA,
20018        307 => &MESG_HSA_RESPIRATION_DATA,
20019        308 => &MESG_HSA_HEART_RATE_DATA,
20020        312 => &MESG_SPLIT,
20021        313 => &MESG_SPLIT_SUMMARY,
20022        314 => &MESG_HSA_BODY_BATTERY_DATA,
20023        315 => &MESG_HSA_EVENT,
20024        317 => &MESG_CLIMB_PRO,
20025        319 => &MESG_TANK_UPDATE,
20026        323 => &MESG_TANK_SUMMARY,
20027        346 => &MESG_SLEEP_ASSESSMENT,
20028        370 => &MESG_HRV_STATUS_SUMMARY,
20029        371 => &MESG_HRV_VALUE,
20030        372 => &MESG_RAW_BBI,
20031        375 => &MESG_DEVICE_AUX_BATTERY_INFO,
20032        376 => &MESG_HSA_GYROSCOPE_DATA,
20033        387 => &MESG_CHRONO_SHOT_SESSION,
20034        388 => &MESG_CHRONO_SHOT_DATA,
20035        389 => &MESG_HSA_CONFIGURATION_DATA,
20036        393 => &MESG_DIVE_APNEA_ALARM,
20037        398 => &MESG_SKIN_TEMP_OVERNIGHT,
20038        409 => &MESG_HSA_WRIST_TEMPERATURE_DATA,
20039        412 => &MESG_NAP_EVENT,
20040        470 => &MESG_SLEEP_DISRUPTION_SEVERITY_PERIOD,
20041        471 => &MESG_SLEEP_DISRUPTION_OVERNIGHT_SEVERITY,
20042        _ => return None,
20043    })
20044}