
Waypoints that can be indicated by the user are not stored in the track. GPX format, to be used in other programs. The ‘proof of the pudding’ for the FitReader is the Garmin Track Converter which I wrote to convert tracks logged with my Garmin Edge 880 bike computer.

The datatype unsinged long is not supported Garmin Track Converter Therefore, in this FIT reader project this Excel file is extended with two more tabs that contain additional field definitions obtained by reverse engineering. It appears that in Garmin (and probably other) devices a lot of FIT fields and messages are used that are not defined in the Global Profile. The Global Profile is enclosed in an Excel file in the FIT SDK. Refer to the javadocs, Github repository the FitReader source code and tests, for some example code. These are defined in the FIT file itself.įield values of each message are provided in data records, which can be obtained by the FitMessage class. Message Fields predefined in Global Profile (see FIT SDK FitMessageFields).Each Fit Message contains a number of fields. It returns a FitMessageRepository instance, containing the FitMessages read. The project results in a JAR file with all dependencies, together with Javadocs. FIT reader is delivered as Github repository.

Since I wanted to decode the activity files, containing the GPS track, I decided to write a FIT file reader. It is a binary protocol, not human readable, designed for embedded devices (having limited resources).

The ANT ‘Flexibile & Interoperatble Data Transfer’ (FIT) protocolĪNT devices and Garmin GPS units, like the Edge 810 and 830 I use, store all device information in.
