Apparently "FIT" is the new file format in lieu of the old xml based "GPX" files
We can look at other source code (for whatever reason, ignoring the Python SDK provided by Garmin). The best -- at least easiest for me to understand is the C++ code in gpsbabel. This may in part be because it is just one of many file formats, so the author is inclined to be quick and efficient in writing his implementation. It turns out that the python code in the Garmin FIT SDK is the cleanest and easiest to understand code. (The C code in the SDK is buggy and badly done). I have learned a lot by studying the Python code and perhaps even more importantly by adding print() statements to learn what it is doing. Here are links to various things, some of which were investigated and led to the detailed notes above.Tom's backpacking pages / tom@mmto.org