diff --git a/src/Resources/json/FITmetadata.json b/src/Resources/json/FITmetadata.json index a2afdea0a..f66d03e00 100644 --- a/src/Resources/json/FITmetadata.json +++ b/src/Resources/json/FITmetadata.json @@ -1,6 +1,14 @@ { - "VERSION":1659384729, + "VERSION":1660742121, + "COMMENT":"Do not edit this file directly it is generated.", "PRODUCTS":[ + { "manu":1, "prod":3843, "name":"Edge 1040 Solar" }, + { "manu":1, "prod":3592, "name":"Varia Rtl515" }, + { "manu":1, "prod":3990, "name":"FR255" }, + { "manu":1, "prod":4024, "name":"FR955" }, + { "manu":1, "prod":3592, "name":"Varia Rtl515" }, + { "manu":1, "prod":3990, "name":"FR255" }, + { "manu":1, "prod":4024, "name":"FR955" }, { "manu":6, "prod":6, "name":"SRM PC6" }, { "manu":6, "prod":7, "name":"SRM PC7" }, { "manu":6, "prod":8, "name":"SRM PC8" }, @@ -384,7 +392,6 @@ { "manu":1, "prod":3570, "name":"Edge 1030 Plus" }, { "manu":1, "prod":3578, "name":"Rally 200" }, { "manu":1, "prod":3589, "name":"Fr745" }, - { "manu":1, "prod":3592, "name":"Varia Rtl515" }, { "manu":1, "prod":3600, "name":"Venusq" }, { "manu":1, "prod":3615, "name":"Lily" }, { "manu":1, "prod":3624, "name":"Marq Adventurer" }, @@ -424,12 +431,10 @@ { "manu":1, "prod":3950, "name":"Venu2 Asia" }, { "manu":1, "prod":3978, "name":"Fr945 Lte Asia" }, { "manu":1, "prod":3986, "name":"Approach S12 Asia" }, - { "manu":1, "prod":3990, "name":"Fr255" }, { "manu":1, "prod":4001, "name":"Approach G12 Asia" }, { "manu":1, "prod":4002, "name":"Approach S42 Asia" }, { "manu":1, "prod":4005, "name":"Descent G1" }, { "manu":1, "prod":4017, "name":"Venu2 Plus Asia" }, - { "manu":1, "prod":4024, "name":"Fr955" }, { "manu":1, "prod":4033, "name":"Fr55 Asia" }, { "manu":1, "prod":4071, "name":"Instinct 2 Asia" }, { "manu":1, "prod":4125, "name":"D2 Air X10" }, diff --git a/util/fit/Makefile b/util/fit/Makefile index 46e5e34ca..2b0e2e3d6 100644 --- a/util/fit/Makefile +++ b/util/fit/Makefile @@ -1,3 +1,3 @@ -../../src/Resources/json/FITmetadata.json: fit_example.h nongarmin.json - python fitprod.py > ../../src/Resources/json/FITmetadata.json +../../src/Resources/json/FITmetadata.json: fit_example.h nongarmin.json fitprod.py + python3 fitprod.py > ../../src/Resources/json/FITmetadata.json diff --git a/util/fit/README b/util/fit/README index 7683dea7d..381489748 100644 --- a/util/fit/README +++ b/util/fit/README @@ -2,17 +2,31 @@ FITmetadata.json generator For Garmin device updates: + Make sure you download the latest FIT SDK from thisisant.com and extract the c/fit_example.h file and place it in this directory. + Do not edit this file, we expect it to be lifted directly from the SDK + and it will be replaced as new versions of the SDK are released + +When Garmin devices are not yet supported by the SDK + + The SDK lags behind device availability in this case you should add + the Garmin device to the nongarmin.json file, this will override any + value found in the Garmin SDK and is typically because a device is + reported by a user at the forums before the SDK is updated or is a + legacy device that Garmin no longer supports. + For non-Garmin device updates: + Update the file nongarmin.json to add the manufacturer and product combination and associated description. See existing values in there as examples. Note that a product number of -1 is to set the default description for any device from that manufacturer that is not defined + Once the updates have been made you can regenerate FITmetadata.json with: $ make -A new FITmetadata.json file will be created in the current directory, +A new FITmetadata.json file will be created in the src/Resources/json directory, diff --git a/util/fit/fit_example.h b/util/fit/fit_example.h index 6df674913..5e289d900 100644 --- a/util/fit/fit_example.h +++ b/util/fit/fit_example.h @@ -1559,7 +1559,6 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_EDGE_1030_PLUS ((FIT_GARMIN_PRODUCT)3570) #define FIT_GARMIN_PRODUCT_RALLY_200 ((FIT_GARMIN_PRODUCT)3578) // Rally 100/200 Power Meter Series #define FIT_GARMIN_PRODUCT_FR745 ((FIT_GARMIN_PRODUCT)3589) -#define FIT_GARMIN_PRODUCT_Varia_RTL515 ((FIT_GARMIN_PRODUCT)3592) #define FIT_GARMIN_PRODUCT_VENUSQ ((FIT_GARMIN_PRODUCT)3600) #define FIT_GARMIN_PRODUCT_LILY ((FIT_GARMIN_PRODUCT)3615) #define FIT_GARMIN_PRODUCT_MARQ_ADVENTURER ((FIT_GARMIN_PRODUCT)3624) @@ -1599,12 +1598,10 @@ typedef FIT_UINT16 FIT_GARMIN_PRODUCT; #define FIT_GARMIN_PRODUCT_VENU2_ASIA ((FIT_GARMIN_PRODUCT)3950) #define FIT_GARMIN_PRODUCT_FR945_LTE_ASIA ((FIT_GARMIN_PRODUCT)3978) #define FIT_GARMIN_PRODUCT_APPROACH_S12_ASIA ((FIT_GARMIN_PRODUCT)3986) -#define FIT_GARMIN_PRODUCT_FR255 ((FIT_GARMIN_PRODUCT)3990) #define FIT_GARMIN_PRODUCT_APPROACH_G12_ASIA ((FIT_GARMIN_PRODUCT) 4001) #define FIT_GARMIN_PRODUCT_APPROACH_S42_ASIA ((FIT_GARMIN_PRODUCT)4002) #define FIT_GARMIN_PRODUCT_DESCENT_G1 ((FIT_GARMIN_PRODUCT)4005) #define FIT_GARMIN_PRODUCT_VENU2_PLUS_ASIA ((FIT_GARMIN_PRODUCT)4017) -#define FIT_GARMIN_PRODUCT_FR955 ((FIT_GARMIN_PRODUCT)4024) #define FIT_GARMIN_PRODUCT_FR55_ASIA ((FIT_GARMIN_PRODUCT)4033) #define FIT_GARMIN_PRODUCT_INSTINCT_2_ASIA ((FIT_GARMIN_PRODUCT)4071) #define FIT_GARMIN_PRODUCT_D2_AIR_X10 ((FIT_GARMIN_PRODUCT)4125) diff --git a/util/fit/fitprod.py b/util/fit/fitprod.py index d1ed91673..fbbf02545 100755 --- a/util/fit/fitprod.py +++ b/util/fit/fitprod.py @@ -1,9 +1,8 @@ -#!/bin/python3 - import re import time print('{\n "VERSION":' + str(int(time.time())) + ',') +print(' "COMMENT":"Do not edit this file directly it is generated.",') print(' "PRODUCTS":[') # output the known products captured by GoldenCheetah users diff --git a/util/fit/nongarmin.json b/util/fit/nongarmin.json index a4a579c29..b8094a62c 100644 --- a/util/fit/nongarmin.json +++ b/util/fit/nongarmin.json @@ -1,3 +1,10 @@ +{ "manu":1, "prod":3843, "name":"Edge 1040 Solar" }, +{ "manu":1, "prod":3592, "name":"Varia Rtl515" }, +{ "manu":1, "prod":3990, "name":"FR255" }, +{ "manu":1, "prod":4024, "name":"FR955" }, +{ "manu":1, "prod":3592, "name":"Varia Rtl515" }, +{ "manu":1, "prod":3990, "name":"FR255" }, +{ "manu":1, "prod":4024, "name":"FR955" }, { "manu":6, "prod":6, "name":"SRM PC6" }, { "manu":6, "prod":7, "name":"SRM PC7" }, { "manu":6, "prod":8, "name":"SRM PC8" },