EDIT: After converting cycling.fit to csv, I found the offending lines in the csv file. Lines 4 to 7 where it is encoding developer data. These lines mostly look ok when I compare to "activity_developerdata.csv" from the docs. A couple of the fields are written in a different order. For example, in my file the "developer_data_index" precedes "application_id", whereas in the example csv file they are declared the other way around. I moved the order of these fields (and corresponding value and units) but this didn't seem to make a difference. My csv file also has a field called "scale" which I deleted, and this didn't help either.
____________________
I'm trying to develop a web app for converting and editing some FIT files. The files are originating from Suunto devices. I have two files here, cycling.fit and windsurf.fit. Both files will convert from fit to csv. Converting back to fit, only windsurf.csv will work. When I convert cycling.csv back to fit I get errors:
FIT CSV Tool - Protocol 2.0 Profile 21.54 Release
Exception in thread "main" com.garmin.fit.FitRuntimeException: Incompatible Protocol Features
at com.garmin.fit.FileEncoder.write(FileEncoder.java:166)
at com.garmin.fit.FileEncoder.onMesgDefinition(FileEncoder.java:151)
at com.garmin.fit.csv.CSVReader.read(CSVReader.java:260)
at com.garmin.fit.csv.CSVTool.run(CSVTool.java:257)
at com.garmin.fit.csv.CSVTool.main(CSVTool.java:332)
The windsurf.fit file uses GPS tracking while the cycling.fit file uses GPS and data from an HR sensor and a power sensor.
zip file with the two fit files
Perhaps someone can tell me what is "wrong" with the cycling.fit file?