diff --git a/src/Resources/json/FITmetadata.json b/src/Resources/json/FITmetadata.json index 131c9e642..1321e70b2 100644 --- a/src/Resources/json/FITmetadata.json +++ b/src/Resources/json/FITmetadata.json @@ -1,5 +1,5 @@ { - "VERSION":1701408842, + "VERSION":1712604840, "COMMENT":"Do not edit this file directly it is generated.", "PRODUCTS":[ { "manu":1, "prod":3592, "name":"Varia Rtl515" }, @@ -91,6 +91,7 @@ { "manu":1, "prod":14, "name":"Fr225 Single Byte Product Id" }, { "manu":1, "prod":15, "name":"Gen3 Bsm Single Byte Product Id" }, { "manu":1, "prod":16, "name":"Gen3 Bcm Single Byte Product Id" }, + { "manu":1, "prod":22, "name":"Hrm Fit Single Byte Product Id" }, { "manu":1, "prod":255, "name":"Ohr" }, { "manu":1, "prod":473, "name":"Fr301 China" }, { "manu":1, "prod":474, "name":"Fr301 Japan" }, @@ -459,6 +460,8 @@ { "manu":1, "prod":4135, "name":"Tactix7" }, { "manu":1, "prod":4155, "name":"Instinct Crossover" }, { "manu":1, "prod":4169, "name":"Edge Explore2" }, + { "manu":1, "prod":4222, "name":"Descent Mk3" }, + { "manu":1, "prod":4223, "name":"Descent Mk3I" }, { "manu":1, "prod":4233, "name":"Approach S70" }, { "manu":1, "prod":4257, "name":"Fr265 Large" }, { "manu":1, "prod":4258, "name":"Fr265 Small" }, @@ -485,9 +488,11 @@ { "manu":1, "prod":4374, "name":"Fenix7S Pro Solar" }, { "manu":1, "prod":4375, "name":"Fenix7 Pro Solar" }, { "manu":1, "prod":4376, "name":"Fenix7X Pro Solar" }, + { "manu":1, "prod":4380, "name":"Lily2" }, { "manu":1, "prod":4394, "name":"Instinct 2X" }, { "manu":1, "prod":4426, "name":"Vivoactive5" }, { "manu":1, "prod":4442, "name":"Descent T2" }, + { "manu":1, "prod":4446, "name":"Hrm Fit" }, { "manu":1, "prod":4472, "name":"Marq Gen2 Commander" }, { "manu":1, "prod":4556, "name":"D2 Mach1 Pro" }, { "manu":1, "prod":10007, "name":"Sdm4" }, @@ -725,6 +730,7 @@ { "manu":325, "name":"Aero Sensor" }, { "manu":326, "name":"Nike" }, { "manu":327, "name":"Magicshine" }, + { "manu":328, "name":"Ictrainer" }, { "manu":5759, "name":"Actigraphcorp" } ], @@ -2100,17 +2106,32 @@ { "num": 269 , "desc":"Spo2 Data" }, { "num": 275 , "desc":"Sleep Level" }, { "num": 285 , "desc":"Jump" }, + { "num": 289 , "desc":"Aad Accel Features" }, { "num": 290 , "desc":"Beat Intervals" }, { "num": 297 , "desc":"Respiration Rate" }, + { "num": 302 , "desc":"Hsa Accelerometer Data" }, + { "num": 304 , "desc":"Hsa Step Data" }, + { "num": 305 , "desc":"Hsa Spo2 Data" }, + { "num": 306 , "desc":"Hsa Stress Data" }, + { "num": 307 , "desc":"Hsa Respiration Data" }, + { "num": 308 , "desc":"Hsa Heart Rate Data" }, { "num": 312 , "desc":"Split" }, { "num": 313 , "desc":"Split Summary" }, + { "num": 314 , "desc":"Hsa Body Battery Data" }, + { "num": 315 , "desc":"Hsa Event" }, { "num": 317 , "desc":"Climb Pro" }, { "num": 319 , "desc":"Tank Update" }, { "num": 323 , "desc":"Tank Summary" }, { "num": 346 , "desc":"Sleep Assessment" }, { "num": 370 , "desc":"Hrv Status Summary" }, { "num": 371 , "desc":"Hrv Value" }, + { "num": 372 , "desc":"Raw Bbi" }, { "num": 375 , "desc":"Device Aux Battery Info" }, - { "num": 393 , "desc":"Dive Apnea Alarm" } + { "num": 376 , "desc":"Hsa Gyroscope Data" }, + { "num": 387 , "desc":"Chrono Shot Session" }, + { "num": 388 , "desc":"Chrono Shot Data" }, + { "num": 389 , "desc":"Hsa Configuration Data" }, + { "num": 393 , "desc":"Dive Apnea Alarm" }, + { "num": 409 , "desc":"Hsa Wrist Temperature Data" } ] } diff --git a/util/fit/fit_example.h b/util/fit/fit_example.h index 2e113430d..cdf069973 100644 --- a/util/fit/fit_example.h +++ b/util/fit/fit_example.h @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////////////////////// -// Copyright 2023 Garmin International, Inc. +// Copyright 2024 Garmin International, Inc. // Licensed under the Flexible and Interoperable Data Transfer (FIT) Protocol License; you // may not use this file except in compliance with the Flexible and Interoperable Data // Transfer (FIT) Protocol License. ///////////////////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.126.0Release -// Tag = production/release/21.126.0-0-g0576dfe +// Profile Version = 21.133.0Release +// Tag = production/release/21.133.0-0-g6002091 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. ///////////////////////////////////////////////////////////////////////////////////////////// @@ -151,21 +151,36 @@ typedef FIT_UINT16 FIT_MESG_NUM; #define FIT_MESG_NUM_SPO2_DATA ((FIT_MESG_NUM)269) #define FIT_MESG_NUM_SLEEP_LEVEL ((FIT_MESG_NUM)275) #define FIT_MESG_NUM_JUMP ((FIT_MESG_NUM)285) +#define FIT_MESG_NUM_AAD_ACCEL_FEATURES ((FIT_MESG_NUM)289) #define FIT_MESG_NUM_BEAT_INTERVALS ((FIT_MESG_NUM)290) #define FIT_MESG_NUM_RESPIRATION_RATE ((FIT_MESG_NUM)297) +#define FIT_MESG_NUM_HSA_ACCELEROMETER_DATA ((FIT_MESG_NUM)302) +#define FIT_MESG_NUM_HSA_STEP_DATA ((FIT_MESG_NUM)304) +#define FIT_MESG_NUM_HSA_SPO2_DATA ((FIT_MESG_NUM)305) +#define FIT_MESG_NUM_HSA_STRESS_DATA ((FIT_MESG_NUM)306) +#define FIT_MESG_NUM_HSA_RESPIRATION_DATA ((FIT_MESG_NUM)307) +#define FIT_MESG_NUM_HSA_HEART_RATE_DATA ((FIT_MESG_NUM)308) #define FIT_MESG_NUM_SPLIT ((FIT_MESG_NUM)312) #define FIT_MESG_NUM_SPLIT_SUMMARY ((FIT_MESG_NUM)313) +#define FIT_MESG_NUM_HSA_BODY_BATTERY_DATA ((FIT_MESG_NUM)314) +#define FIT_MESG_NUM_HSA_EVENT ((FIT_MESG_NUM)315) #define FIT_MESG_NUM_CLIMB_PRO ((FIT_MESG_NUM)317) #define FIT_MESG_NUM_TANK_UPDATE ((FIT_MESG_NUM)319) #define FIT_MESG_NUM_TANK_SUMMARY ((FIT_MESG_NUM)323) #define FIT_MESG_NUM_SLEEP_ASSESSMENT ((FIT_MESG_NUM)346) #define FIT_MESG_NUM_HRV_STATUS_SUMMARY ((FIT_MESG_NUM)370) #define FIT_MESG_NUM_HRV_VALUE ((FIT_MESG_NUM)371) +#define FIT_MESG_NUM_RAW_BBI ((FIT_MESG_NUM)372) #define FIT_MESG_NUM_DEVICE_AUX_BATTERY_INFO ((FIT_MESG_NUM)375) +#define FIT_MESG_NUM_HSA_GYROSCOPE_DATA ((FIT_MESG_NUM)376) +#define FIT_MESG_NUM_CHRONO_SHOT_SESSION ((FIT_MESG_NUM)387) +#define FIT_MESG_NUM_CHRONO_SHOT_DATA ((FIT_MESG_NUM)388) +#define FIT_MESG_NUM_HSA_CONFIGURATION_DATA ((FIT_MESG_NUM)389) #define FIT_MESG_NUM_DIVE_APNEA_ALARM ((FIT_MESG_NUM)393) +#define FIT_MESG_NUM_HSA_WRIST_TEMPERATURE_DATA ((FIT_MESG_NUM)409) // Message number for the HSA wrist temperature data message #define FIT_MESG_NUM_MFG_RANGE_MIN ((FIT_MESG_NUM)0xFF00) // 0xFF00 - 0xFFFE reserved for manufacturer specific messages #define FIT_MESG_NUM_MFG_RANGE_MAX ((FIT_MESG_NUM)0xFFFE) // 0xFF00 - 0xFFFE reserved for manufacturer specific messages -#define FIT_MESG_NUM_COUNT 106 +#define FIT_MESG_NUM_COUNT 121 typedef FIT_UINT8 FIT_CHECKSUM; #define FIT_CHECKSUM_INVALID FIT_UINT8_INVALID @@ -550,16 +565,27 @@ typedef FIT_ENUM FIT_SPORT; #define FIT_SPORT_JUMPMASTER ((FIT_SPORT)46) #define FIT_SPORT_BOXING ((FIT_SPORT)47) #define FIT_SPORT_FLOOR_CLIMBING ((FIT_SPORT)48) +#define FIT_SPORT_BASEBALL ((FIT_SPORT)49) #define FIT_SPORT_DIVING ((FIT_SPORT)53) #define FIT_SPORT_HIIT ((FIT_SPORT)62) #define FIT_SPORT_RACKET ((FIT_SPORT)64) #define FIT_SPORT_WHEELCHAIR_PUSH_WALK ((FIT_SPORT)65) #define FIT_SPORT_WHEELCHAIR_PUSH_RUN ((FIT_SPORT)66) #define FIT_SPORT_MEDITATION ((FIT_SPORT)67) +#define FIT_SPORT_DISC_GOLF ((FIT_SPORT)69) +#define FIT_SPORT_CRICKET ((FIT_SPORT)71) +#define FIT_SPORT_RUGBY ((FIT_SPORT)72) +#define FIT_SPORT_HOCKEY ((FIT_SPORT)73) +#define FIT_SPORT_LACROSSE ((FIT_SPORT)74) +#define FIT_SPORT_VOLLEYBALL ((FIT_SPORT)75) #define FIT_SPORT_WATER_TUBING ((FIT_SPORT)76) #define FIT_SPORT_WAKESURFING ((FIT_SPORT)77) +#define FIT_SPORT_MIXED_MARTIAL_ARTS ((FIT_SPORT)80) +#define FIT_SPORT_SNORKELING ((FIT_SPORT)82) +#define FIT_SPORT_DANCE ((FIT_SPORT)83) +#define FIT_SPORT_JUMP_ROPE ((FIT_SPORT)84) #define FIT_SPORT_ALL ((FIT_SPORT)254) // All is for goals only to include all sports. -#define FIT_SPORT_COUNT 58 +#define FIT_SPORT_COUNT 69 typedef FIT_UINT8Z FIT_SPORT_BITS_0; // Bit field corresponding to sport enum type (1 << sport). #define FIT_SPORT_BITS_0_INVALID FIT_UINT8Z_INVALID @@ -714,6 +740,10 @@ typedef FIT_ENUM FIT_SUB_SPORT; #define FIT_SUB_SPORT_INDOOR_WHEELCHAIR_WALK ((FIT_SUB_SPORT)86) #define FIT_SUB_SPORT_INDOOR_WHEELCHAIR_RUN ((FIT_SUB_SPORT)87) #define FIT_SUB_SPORT_INDOOR_HAND_CYCLING ((FIT_SUB_SPORT)88) +#define FIT_SUB_SPORT_SQUASH ((FIT_SUB_SPORT)94) +#define FIT_SUB_SPORT_BADMINTON ((FIT_SUB_SPORT)95) +#define FIT_SUB_SPORT_RACQUETBALL ((FIT_SUB_SPORT)96) +#define FIT_SUB_SPORT_TABLE_TENNIS ((FIT_SUB_SPORT)97) #define FIT_SUB_SPORT_FLY_CANOPY ((FIT_SUB_SPORT)110) // Flying #define FIT_SUB_SPORT_FLY_PARAGLIDE ((FIT_SUB_SPORT)111) // Flying #define FIT_SUB_SPORT_FLY_PARAMOTOR ((FIT_SUB_SPORT)112) // Flying @@ -725,7 +755,7 @@ typedef FIT_ENUM FIT_SUB_SPORT; #define FIT_SUB_SPORT_FLY_VFR ((FIT_SUB_SPORT)118) // Flying #define FIT_SUB_SPORT_FLY_IFR ((FIT_SUB_SPORT)119) // Flying #define FIT_SUB_SPORT_ALL ((FIT_SUB_SPORT)254) -#define FIT_SUB_SPORT_COUNT 85 +#define FIT_SUB_SPORT_COUNT 89 typedef FIT_ENUM FIT_SPORT_EVENT; #define FIT_SPORT_EVENT_INVALID FIT_ENUM_INVALID @@ -1303,8 +1333,9 @@ typedef FIT_UINT16 FIT_MANUFACTURER; #define FIT_MANUFACTURER_AERO_SENSOR ((FIT_MANUFACTURER)325) #define FIT_MANUFACTURER_NIKE ((FIT_MANUFACTURER)326) #define FIT_MANUFACTURER_MAGICSHINE ((FIT_MANUFACTURER)327) +#define FIT_MANUFACTURER_ICTRAINER ((FIT_MANUFACTURER)328) #define FIT_MANUFACTURER_ACTIGRAPHCORP ((FIT_MANUFACTURER)5759) -#define FIT_MANUFACTURER_COUNT 221 +#define FIT_MANUFACTURER_COUNT 222 typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_INVALID FIT_UINT16_INVALID @@ -1324,6 +1355,7 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_FR225_SINGLE_BYTE_PRODUCT_ID ((FIT_GARMIN_PRODUCT)14) // fr225 model for HRM ANT+ messaging #define FIT_GARMIN_PRODUCT_GEN3_BSM_SINGLE_BYTE_PRODUCT_ID ((FIT_GARMIN_PRODUCT)15) // gen3_bsm model for Bike Speed ANT+ messaging #define FIT_GARMIN_PRODUCT_GEN3_BCM_SINGLE_BYTE_PRODUCT_ID ((FIT_GARMIN_PRODUCT)16) // gen3_bcm model for Bike Cadence ANT+ messaging +#define FIT_GARMIN_PRODUCT_HRM_FIT_SINGLE_BYTE_PRODUCT_ID ((FIT_GARMIN_PRODUCT)22) #define FIT_GARMIN_PRODUCT_OHR ((FIT_GARMIN_PRODUCT)255) // Garmin Wearable Optical Heart Rate Sensor for ANT+ HR Profile Broadcasting #define FIT_GARMIN_PRODUCT_FR301_CHINA ((FIT_GARMIN_PRODUCT)473) #define FIT_GARMIN_PRODUCT_FR301_JAPAN ((FIT_GARMIN_PRODUCT)474) @@ -1692,6 +1724,8 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_TACTIX7 ((FIT_GARMIN_PRODUCT)4135) #define FIT_GARMIN_PRODUCT_INSTINCT_CROSSOVER ((FIT_GARMIN_PRODUCT)4155) #define FIT_GARMIN_PRODUCT_EDGE_EXPLORE2 ((FIT_GARMIN_PRODUCT)4169) +#define FIT_GARMIN_PRODUCT_DESCENT_MK3 ((FIT_GARMIN_PRODUCT)4222) +#define FIT_GARMIN_PRODUCT_DESCENT_MK3I ((FIT_GARMIN_PRODUCT)4223) #define FIT_GARMIN_PRODUCT_APPROACH_S70 ((FIT_GARMIN_PRODUCT)4233) #define FIT_GARMIN_PRODUCT_FR265_LARGE ((FIT_GARMIN_PRODUCT)4257) #define FIT_GARMIN_PRODUCT_FR265_SMALL ((FIT_GARMIN_PRODUCT)4258) @@ -1718,9 +1752,11 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_FENIX7S_PRO_SOLAR ((FIT_GARMIN_PRODUCT)4374) #define FIT_GARMIN_PRODUCT_FENIX7_PRO_SOLAR ((FIT_GARMIN_PRODUCT)4375) #define FIT_GARMIN_PRODUCT_FENIX7X_PRO_SOLAR ((FIT_GARMIN_PRODUCT)4376) +#define FIT_GARMIN_PRODUCT_LILY2 ((FIT_GARMIN_PRODUCT)4380) #define FIT_GARMIN_PRODUCT_INSTINCT_2X ((FIT_GARMIN_PRODUCT)4394) #define FIT_GARMIN_PRODUCT_VIVOACTIVE5 ((FIT_GARMIN_PRODUCT)4426) #define FIT_GARMIN_PRODUCT_DESCENT_T2 ((FIT_GARMIN_PRODUCT)4442) +#define FIT_GARMIN_PRODUCT_HRM_FIT ((FIT_GARMIN_PRODUCT)4446) #define FIT_GARMIN_PRODUCT_MARQ_GEN2_COMMANDER ((FIT_GARMIN_PRODUCT)4472) #define FIT_GARMIN_PRODUCT_D2_MACH1_PRO ((FIT_GARMIN_PRODUCT)4556) #define FIT_GARMIN_PRODUCT_SDM4 ((FIT_GARMIN_PRODUCT)10007) // SDM4 footpod @@ -1735,7 +1771,7 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_CONNECTIQ_SIMULATOR ((FIT_GARMIN_PRODUCT)65531) #define FIT_GARMIN_PRODUCT_ANDROID_ANTPLUS_PLUGIN ((FIT_GARMIN_PRODUCT)65532) #define FIT_GARMIN_PRODUCT_CONNECT ((FIT_GARMIN_PRODUCT)65534) // Garmin Connect website -#define FIT_GARMIN_PRODUCT_COUNT 427 +#define FIT_GARMIN_PRODUCT_COUNT 432 typedef FIT_UINT8 FIT_ANTPLUS_DEVICE_TYPE; #define FIT_ANTPLUS_DEVICE_TYPE_INVALID FIT_UINT8_INVALID @@ -4250,6 +4286,16 @@ typedef FIT_ENUM FIT_DIVE_GAS_MODE; #define FIT_DIVE_GAS_MODE_CLOSED_CIRCUIT_DILUENT ((FIT_DIVE_GAS_MODE)1) #define FIT_DIVE_GAS_MODE_COUNT 2 +typedef FIT_ENUM FIT_PROJECTILE_TYPE; +#define FIT_PROJECTILE_TYPE_INVALID FIT_ENUM_INVALID +#define FIT_PROJECTILE_TYPE_ARROW ((FIT_PROJECTILE_TYPE)0) // Arrow projectile type +#define FIT_PROJECTILE_TYPE_RIFLE_CARTRIDGE ((FIT_PROJECTILE_TYPE)1) // Rifle cartridge projectile type +#define FIT_PROJECTILE_TYPE_PISTOL_CARTRIDGE ((FIT_PROJECTILE_TYPE)2) // Pistol cartridge projectile type +#define FIT_PROJECTILE_TYPE_SHOTSHELL ((FIT_PROJECTILE_TYPE)3) // Shotshell projectile type +#define FIT_PROJECTILE_TYPE_AIR_RIFLE_PELLET ((FIT_PROJECTILE_TYPE)4) // Air rifle pellet projectile type +#define FIT_PROJECTILE_TYPE_OTHER ((FIT_PROJECTILE_TYPE)5) // Other projectile type +#define FIT_PROJECTILE_TYPE_COUNT 6 + typedef FIT_UINT16 FIT_FAVERO_PRODUCT; #define FIT_FAVERO_PRODUCT_INVALID FIT_UINT16_INVALID #define FIT_FAVERO_PRODUCT_ASSIOMA_UNO ((FIT_FAVERO_PRODUCT)10)