Where to get a COMPLETE list of FIT profile and message definitions?

I've written a tool to convert FIT files to GPX some years ago which does not work with the newest generation of Garmin devices.

The FIT files seem to contain the message type 327 (0x147) which is not seen on the latest list (Profile.xlsx in the FitSDKRelease_21.84.00 archive). So I am unsure if the list is incomplete or I forgot to implement something in my code (still investigating if anything has changed in newer FIT file definitions)...

..

  • I do not have files with autocalibration, can´t help much.

    do we know what the undocumented message 325 is about

    the fact there are five types

    What do you mean with 5 types?

  • unfortunately the Garmin forums doesn't have a a search within threads that I can find

    has it been discussed if Breath Detection is stored in the FIT file?

    I don't seem to be able to spot it and while my Fenix5 never had it my Fenix6 attempts to report breaths graphed in Garmin Connect 

    and it's in the summary

    35 brpm Avg Respiration Rate 

    22 brpm Min Respiration Rate 

    41 brpm Max Respiration Rate 

    but I cannot find matching numbers in the FIT file?
     
    I've also notice that Firstbeat seems tied to the breath detection
    on very cold days below freezing where my breathing is slow or even on warm days when I am experimenting with breathing patterns
    even if HR is fully recorded vis HRM without gaps, the breathing will have a long delay before turning on in the graph or cuts out at times
     
    and if breathing rate is not detected it seems like performance condition never turns on
    which I've tried to report to Garmin but I get written off that there is something wrong with my HRM or it's because I am using Stryd pod or some other nonsense because they just do not want to accept there is a bug in the FirstBeat algorithms 
    btw any chance breathing detection is improved in Fenix8/970 series or is it the same buggy firstbeat
    breaking via HRV is sketchy but they don't even try to fix it, Suunto using different method and there are even specialty devices like Tymewear / Astroskin / Hexoskin but like Stryd Pod garmin doesn't care if they didn't invent it
    anyway back to my questions, is breathing / respiration rate stored in the FIT file because it does not appear in the 1-second records
    which might mean Garmin is doing it outside of the watch on Connect directly?
  • I cannot find matching numbers in the FIT file?
     

    In my case (Instinct 3 with HRM 600), the respiration rate is in the section Record of the FIT file

  • now that is fascinating and thanks for the reply

    I am using Fenix6+HRM-PRO-plus  and it's definitely NOT in the FIT file and must be done by Garmin on the backend with Connect somehow

    Does it show you more information if you mouse-over or right-click what message/field number it is using for that?

  • I am using Fenix6+HRM-PRO-plus  and it's definitely NOT in the FIT file and must be done by Garmin on the backend with Connect somehow

    That would be only possible if the FIT file contains the HRV data, which it does not, by default. And on older devices the HRV logging cannot be even enabled, as far as I know. 

    Does it show you more information if you mouse-over or right-click what message/field number it is using for that?

    Field 108

  • The Session totals have field numbers 169 (avg), 170 (max), and 180 (min), and lap totals 136 (avg), and 137 (max)

  • oh wow, duh, sorry everyone, there it is

    I was looking for whole integers but it's doing the divide by 100 for "enhanced

    see the XX108 hiding in there

    thanks again for your help

    record (20, type: 9, length: 65 bytes):
      timestamp (253-1-UINT32): 2026-02-27T05:38:55 (1141123135)
      distance (5-1-UINT32): 3027.91 m (302791)
      enhanced_speed (73-1-UINT32): 11.117 km/h (3088)
      enhanced_altitude (78-1-UINT32): 29.0 m (2645)
      vertical_oscillation (39-1-UINT16): 89.7 mm (897)
      stance_time_percent (40-1-UINT16): 37.00 % (3700)
      stance_time (41-1-UINT16): 245.0 ms (2450)
      vertical_ratio (83-1-UINT16): 8.68 % (868)
      stance_time_balance (84-1-UINT16): 50.31 % (5031)
      step_length (85-1-UINT16): 1014.0 mm (10140)
      xxx87 (87-1-UINT16): 1064
      xxx108 (108-1-UINT16): 3657
      heart_rate (3-1-UINT8): 140 bpm (140)
      cadence (4-1-UINT8): 91 rpm (91)
      temperature (13-1-SINT8): 22 deg.C (22)
      xxx134 (134-1-UINT8): 100
      xxx144 (144-1-UINT8): 140

    session (18, type: 15, length: 288 bytes):
      timestamp (253-1-UINT32): 2026-02-27T06:20:40 (1141125640)
      xxx151 (151-1-UINT16): 0  
      xxx169 (169-1-UINT16): 3491
      xxx170 (170-1-UINT16): 4052  
      xxx178 (178-1-UINT16): 638  
      xxx180 (180-1-UINT16): 2156