Accessing stored workouts from custom app?

I am writing a custom app for my indoor bike which is BLE FTMS based.

So far, I have managed to connect to it and am able to both retrieve all data, control resistance etc.

As a next step, I would like to be able to

  • define workouts in Garmin Connect and sync to my Fenix6,
  • choose workout from within the custom app and then execute it step by step
  • store the resulting workout in a fit file which is accepted as a bike workout. (not tried this yet but seems doable)

From what I can tell in the API, there are methods for listing workouts but I cannot see an API for actually selecting/starting them?

I guess I could hard code some workouts in the app, but I would much rather have the workouts accessable in the same manner as they are from other apps.

Or is there a way of adding the workout selection menu screens (as available in other apps) to my custom app maybe?

Not sure where to look. Any pointers greatly appreciated.

/Ola

  • You can't use things like a custom workout in a CIQ app.  You can get a workout and launch a native app using exitTo() and the intent.

  • So when developing a full app, I am basically on my own and cannot access stuff like workouts.

    Is it possible to convert my BLE FTMS connecting app into a data field instead in, say, the normal indoor bike app (which isn't FTMS capable)? Then I guess I would have access to stuff like workouts? But then I suppose my sensor data coming from FTMS will not be recognized by the app since it's not available through normal channels?

  • Yes, you can do CIQ BLE from a data field.  The nordicthingy52coincollector sample in the SDK does just that.

    One thing to keep in mind, be it a device app or data field, you can not override the data coming from the native FW, but only add it as fit user data/fitContrib data as far as garmin connect is concerned

  • Hmm so you're saying that although I have access to the actual cadence, power etc through my "custom sensors", I still can use neither Power/Cadence oriented workouts nor store an activity using the Power/Cadence attributes from my bike?

    Is it possible to define new metrics e.g. FTMS_Power, FMTS_Cadence etc that I can base workouts upon?

    Another thought: If I add this to an app that does not inherently support bike data e.g. cadence/power, is it then possible to store it as such, since there is no native data to compete with?

  • in Garmin Connect, all your user/fitcontrib data is separate. from native fields.  For example, I have a BLE temperature sensor,  It's data does not override the native temperature data but is a separate graph all together.