@@ -24,6 +24,7 @@ module Fit4Ruby
2424 entry 4 , 'fitness_equipment'
2525 entry 5 , 'swimming'
2626 entry 6 , 'walking'
27+ entry 8 , 'sedentary'
2728 entry 254 , 'all'
2829
2930 dict 'activity_level'
@@ -74,6 +75,8 @@ module Fit4Ruby
7475 entry 3 , 'ok'
7576 entry 4 , 'low'
7677 entry 5 , 'critical'
78+ entry 6 , 'charging'
79+ entry 7 , 'unknown'
7780
7881 dict 'date_mode'
7982 entry 0 , 'day_month'
@@ -143,7 +146,14 @@ module Fit4Ruby
143146 entry 20 , 'light_electric_vehicle'
144147 entry 25 , 'env_sensor'
145148 entry 26 , 'racquet'
149+ entry 27 , 'control_hub'
146150 entry 30 , 'running_dynamics' # Just a guess
151+ entry 31 , 'muscle_oxygen'
152+ entry 35 , 'bike_light_main'
153+ entry 36 , 'bike_light_shared'
154+ entry 38 , 'exd'
155+ entry 40 , 'bike_radar'
156+ entry 46 , 'bike_aero'
147157 entry 119 , 'weight_scale'
148158 entry 120 , 'heart_rate'
149159 entry 121 , 'bike_speed_cadence'
@@ -312,52 +322,204 @@ module Fit4Ruby
312322 entry 144 , 'uint64z'
313323
314324 dict 'garmin_product'
325+ entry 1 , 'hrm1'
326+ entry 2 , 'axh01'
327+ entry 3 , 'axb01'
328+ entry 4 , 'axb02'
329+ entry 5 , 'hrm2ss'
330+ entry 6 , 'dsi_alf02'
331+ entry 7 , 'hrm3ss'
315332 entry 8 , 'hrm_run_single_byte_product_id'
316333 entry 9 , 'bsm'
317334 entry 10 , 'bcm'
335+ entry 11 , 'axs01'
336+ entry 12 , 'hrm_tri_single_byte_product_id'
337+ entry 14 , 'fr225_single_byte_product_id'
338+ entry 473 , 'fr301_china'
339+ entry 474 , 'fr301_japan'
340+ entry 475 , 'fr301_korea'
341+ entry 494 , 'fr301_taiwan'
342+ entry 717 , 'fr405'
343+ entry 782 , 'fr50'
344+ entry 987 , 'fr405_japan'
345+ entry 988 , 'fr60'
346+ entry 1011 , 'dsi_alf01'
347+ entry 1018 , 'fr310xt'
348+ entry 1036 , 'edge500'
349+ entry 1124 , 'fr110'
350+ entry 1169 , 'edge800'
351+ entry 1199 , 'edge500_taiwan'
352+ entry 1213 , 'edge500_japan'
353+ entry 1253 , 'chirp'
354+ entry 1274 , 'fr110_japan'
355+ entry 1325 , 'edge200'
356+ entry 1328 , 'fr910xt'
357+ entry 1333 , 'edge800_taiwan'
358+ entry 1334 , 'edge800_japan'
359+ entry 1341 , 'alf04'
360+ entry 1345 , 'fr610'
361+ entry 1360 , 'fr210_japan'
362+ entry 1380 , 'vector_ss'
363+ entry 1381 , 'vector_cp'
364+ entry 1386 , 'edge800_china'
365+ entry 1387 , 'edge500_china'
366+ entry 1410 , 'fr610_japan'
367+ entry 1422 , 'edge500_korea'
368+ entry 1436 , 'fr70'
369+ entry 1446 , 'fr310xt_4t'
370+ entry 1461 , 'amx'
371+ entry 1482 , 'fr10'
372+ entry 1497 , 'edge800_korea'
373+ entry 1499 , 'swim'
374+ entry 1537 , 'fr910xt_china'
318375 entry 1551 , 'fenix'
376+ entry 1555 , 'edge200_taiwan'
377+ entry 1561 , 'edge510'
378+ entry 1567 , 'edge810'
379+ entry 1570 , 'tempe'
380+ entry 1600 , 'fr910xt_japan'
319381 # The Fenix3 is rumored to have a Mediatek MT3333 GPS chipset. Not sure if
320382 # that would be a beter name.
321383 entry 1620 , 'fenix3_gps' # Just a guess
322384 entry 1621 , 'fenix5_gps' # Just a guess
323385 entry 1623 , 'fr620'
324386 entry 1632 , 'fr220'
387+ entry 1664 , 'fr910xt_korea'
388+ entry 1688 , 'fr10_japan'
325389 # The FR620 is rumored to have a MediaTek MT3339 GPS chipset while the
326390 # FR920XT is rumored to have a MT3333. Not sure why they have the same ID
327391 # in the FIT file for the GPS device.
328392 entry 1689 , 'fr620_fr920xt_gps' # Just a guess
393+ entry 1721 , 'edge810_japan'
394+ entry 1735 , 'virb_elite'
395+ entry 1736 , 'edge_touring'
396+ entry 1742 , 'edge510_japan'
329397 entry 1743 , 'hrm_tri'
330398 entry 1752 , 'hrm_run'
331399 entry 1765 , 'fr920xt'
400+ entry 1821 , 'edge510_asia'
401+ entry 1822 , 'edge810_china'
402+ entry 1823 , 'edge810_taiwan'
403+ entry 1836 , 'edge1000'
404+ entry 1837 , 'vivo_fit'
405+ entry 1853 , 'virb_remote'
406+ entry 1885 , 'vivo_ki'
407+ entry 1903 , 'fr15'
408+ entry 1907 , 'vivo_active'
409+ entry 1918 , 'edge510_korea'
332410 entry 1928 , 'fr620_japan'
333411 entry 1929 , 'fr620_china'
334412 entry 1930 , 'fr220_japan'
335413 entry 1931 , 'fr220_china'
414+ entry 1936 , 'approach_s6'
415+ entry 1956 , 'vivo_smart'
336416 entry 1967 , 'fenix2'
337417 entry 1988 , 'epix'
338418 entry 2050 , 'fenix3'
419+ entry 2052 , 'edge1000_taiwan'
420+ entry 2053 , 'edge1000_japan'
421+ entry 2061 , 'fr15_japan'
422+ entry 2067 , 'edge520'
423+ entry 2070 , 'edge1000_china'
339424 entry 2072 , 'fr620_russia'
340425 entry 2073 , 'fr220_russia'
426+ entry 2079 , 'vector_s'
427+ entry 2100 , 'edge1000_korea'
341428 entry 2130 , 'fr920xt_taiwan'
342429 entry 2131 , 'fr920xt_china'
343430 entry 2132 , 'fr920xt_japan'
431+ entry 2134 , 'virbx'
432+ entry 2135 , 'vivo_smart_apac'
433+ entry 2140 , 'etrex_touch'
434+ entry 2147 , 'edge25'
435+ entry 2148 , 'fr25'
436+ entry 2150 , 'vivo_fit2'
437+ entry 2153 , 'fr225'
438+ entry 2156 , 'fr630'
439+ entry 2157 , 'fr230'
440+ entry 2158 , 'fr735xt'
441+ entry 2160 , 'vivo_active_apac'
442+ entry 2161 , 'vector_2'
443+ entry 2162 , 'vector_2s'
444+ entry 2172 , 'virbxe'
344445 entry 2173 , 'fr620_taiwan'
446+ entry 2174 , 'fr220_taiwan'
447+ entry 2175 , 'truswing'
345448 entry 2188 , 'fenix3_china'
346449 entry 2189 , 'fenix3_twn'
450+ entry 2192 , 'varia_headlight'
451+ entry 2193 , 'varia_taillight_old'
452+ entry 2204 , 'edge_explore_1000'
453+ entry 2219 , 'fr225_asia'
454+ entry 2225 , 'varia_radar_taillight'
455+ entry 2226 , 'varia_radar_display'
456+ entry 2238 , 'edge20'
457+ entry 2262 , 'approach_s20'
458+ entry 2266 , 'd2_bravo'
459+ entry 2276 , 'varia_remote'
460+ entry 2292 , 'approach_x40'
347461 entry 2327 , 'hrm4_run'
462+ entry 2337 , 'vivo_active_hr'
463+ entry 2347 , 'vivo_smart_gps_hr'
464+ entry 2348 , 'vivo_smart_hr'
465+ entry 2368 , 'vivo_move'
466+ entry 2398 , 'varia_vision'
467+ entry 2406 , 'vivo_fit3'
348468 entry 2413 , 'fenix3_hr'
469+ entry 2417 , 'virb_ultra_30'
470+ entry 2429 , 'index_smart_scale'
349471 entry 2431 , 'fr235'
350472 entry 2432 , 'fenix3_chronos'
473+ entry 2441 , 'oregon7xx'
474+ entry 2444 , 'rino7xx'
475+ entry 2496 , 'nautix'
476+ entry 2530 , 'edge_820'
477+ entry 2531 , 'edge_explore_820'
478+ entry 2533 , 'fr735xt_apac'
479+ entry 2534 , 'fr735xt_japan'
351480 entry 2544 , 'fenix5s'
352- entry 2604 , 'fenix5x'
481+ entry 2547 , 'd2_bravo_titanium'
482+ entry 2567 , 'varia_ut800'
353483 entry 2593 , 'running_dynamics_pod'
484+ entry 2604 , 'fenix5x'
485+ entry 2606 , 'vivo_fit_jr'
486+ entry 2622 , 'vivo_smart3'
487+ entry 2623 , 'vivo_sport'
488+ entry 2656 , 'approach_s60'
489+ entry 2687 , 'virb_360'
354490 entry 2691 , 'fr935'
355491 entry 2697 , 'fenix5'
492+ entry 2700 , 'vivoactive3'
493+ entry 2769 , 'foretrex_601_701'
494+ entry 2772 , 'vivo_move_hr'
495+ entry 2713 , 'edge_1030'
496+ entry 2806 , 'approach_z80'
497+ entry 2831 , 'vivo_smart3_apac'
498+ entry 2832 , 'vivo_sport_apac'
499+ entry 2859 , 'descent'
500+ entry 2886 , 'fr645'
501+ entry 2888 , 'fr645m'
502+ entry 2900 , 'fenix5s_plus'
503+ entry 2909 , 'Edge_130'
504+ entry 2927 , 'vivosmart_4'
356505 entry 2957 , 'fenix5_gps_galileo' # Just a guess
506+ entry 2962 , 'approach_x10'
507+ entry 2988 , 'vivoactive3m_w '
508+ entry 3011 , 'edge_explore'
509+ entry 3028 , 'gpsmap66'
510+ entry 3049 , 'approach_s10'
511+ entry 3066 , 'vivoactive3m_l'
512+ entry 3085 , 'approach_g80'
513+ entry 3110 , 'fenix5_plus'
357514 entry 3111 , 'fenix5x_plus'
515+ entry 3112 , 'edge_520_plus'
358516 entry 3126 , 'instinct'
517+ entry 3299 , 'hrm_dual'
518+ entry 3314 , 'approach_s40'
359519 entry 10007 , 'sdm4'
520+ entry 10014 , 'edge_remote'
360521 entry 20119 , 'training_center'
522+ entry 65531 , 'connectiq_simulator'
361523 entry 65532 , 'android_antplus_plugin'
362524 entry 65534 , 'connect'
363525
@@ -472,7 +634,8 @@ module Fit4Ruby
472634 entry 71 , 'tomtom'
473635 entry 72 , 'peripedal'
474636 entry 73 , 'wattbike'
475- entry 74 , 'moxy'
637+ entry 74 , 'moxy' #not in specs rev2.4
638+ exnty 76 , 'moxy'
476639 entry 77 , 'ciclosport'
477640 entry 78 , 'powerbahn'
478641 entry 79 , 'acorn_projects_aps'
@@ -483,6 +646,14 @@ module Fit4Ruby
483646 entry 84 , 'magura'
484647 entry 85 , 'woodway'
485648 entry 86 , 'elite'
649+ entry 87 , 'nielsen_kellerman'
650+ entry 88 , 'dk_city'
651+ entry 89 , 'tacx'
652+ entry 90 , 'direction_technology'
653+ entry 91 , 'magtonic'
654+ entry 92 , '1partcarbon'
655+ entry 93 , 'inside_ride_technologies'
656+ entry 94 , 'sound_of_motion'
486657 entry 95 , 'stryd'
487658 entry 96 , 'icg'
488659 entry 97 , 'MiPulse'
@@ -507,6 +678,17 @@ module Fit4Ruby
507678 entry 116 , 'thinkrider'
508679 entry 117 , 'gopher_sport'
509680 entry 118 , 'waterrower'
681+ entry 119 , 'orangetheory'
682+ entry 120 , 'inpeak'
683+ entry 121 , 'kinetic'
684+ entry 122 , 'johnson_health_tech'
685+ entry 123 , 'polar_electro'
686+ entry 124 , 'seesense'
687+ entry 125 , 'nci_technology'
688+ entry 126 , 'iqsquare'
689+ entry 127 , 'leomo'
690+ entry 128 , 'ifit_com'
691+ entry 129 , 'coros_byte'
510692 entry 255 , 'development'
511693 entry 257 , 'healthandlife'
512694 entry 258 , 'lezyne'
@@ -539,6 +721,19 @@ module Fit4Ruby
539721 entry 285 , 'feedbacksports'
540722 entry 286 , 'omata'
541723 entry 287 , 'vdo'
724+ entry 288 , 'magneticdays'
725+ entry 289 , 'hammerhead'
726+ entry 290 , 'kinetic_by_kurt'
727+ entry 291 , 'shapelog'
728+ entry 292 , 'dabuziduo'
729+ entry 293 , 'jetblack'
730+ entry 294 , 'coros'
731+ entry 295 , 'virtugo'
732+ entry 296 , 'velosense'
733+ entry 297 , 'cycligentinc'
734+ entry 298 , 'trailforks'
735+ entry 299 , 'mahle_ebikemotion'
736+ entry 300 , 'nurvv'
542737 entry 5759 , 'actigraphcorp'
543738
544739 dict 'message_index'
@@ -589,6 +784,35 @@ module Fit4Ruby
589784 entry 17 , 'hiking'
590785 entry 18 , 'multisport'
591786 entry 19 , 'paddling'
787+ entry 20 , 'flying'
788+ entry 21 , 'e_biking'
789+ entry 22 , 'motorcyclin'
790+ entry 23 , 'boating'
791+ entry 24 , 'driving'
792+ entry 25 , 'golf'
793+ entry 26 , 'hang_gliding'
794+ entry 27 , 'horseback_riding'
795+ entry 28 , 'hunting'
796+ entry 29 , 'fishing'
797+ entry 30 , 'inline_skating'
798+ entry 31 , 'rock_climbing'
799+ entry 32 , 'sailing'
800+ entry 33 , 'ice_skating'
801+ entry 34 , 'sky_diving'
802+ entry 35 , 'snowshoeing'
803+ entry 36 , 'snowmobiling'
804+ entry 37 , 'stand_up_paddleboarding'
805+ entry 38 , 'surfing'
806+ entry 39 , 'wakeboarding'
807+ entry 40 , 'water_skiing'
808+ entry 41 , 'kayaking'
809+ entry 42 , 'rafting'
810+ entry 43 , 'windsurfing'
811+ entry 44 , 'kitesurfing'
812+ entry 45 , 'tactical'
813+ entry 46 , 'jumpmaster'
814+ entry 47 , 'boxing'
815+ entry 48 , 'floor_climbing'
592816 entry 254 , 'all'
593817
594818 dict 'swim_stroke'
@@ -682,4 +906,3 @@ module Fit4Ruby
682906 end
683907
684908end
685-
0 commit comments