Custom Calories + Custom Sport

Hello,

I wrote a unique app for my Garmin Fenix 5X Plus.

It adds the natively missing support for my favourite climbing passion (including an Android phone App which synchronizes and visualises my data - as Garmin Connect does not have any good support for it).

It works very well for me.

Except of:

(1) The calories calculations

It appears that Garmin ActivityMonitor class somehow calculates calories on its own.
Which is wrong (climbing is much more demanding that Garmin expects).

HOW CAN I REPLACE THE WRONG GARMIN CALORIES WITH MY OWN?

(2) The type of activity

I am now using the SPORT_GENERIC/SUB_SPORT_GENERIC which produces some ugly things in mobile App and on Web.

I found that in FIT, there is a type for climbing, but it does NOT work on web and in Android Connect App (not even has constant in the IQ SDK).

HOW CAN I SET THE CLIMBING SPORT TO BE SHOWN PROPERLY IN THE ANDROID CONNECT APP?
  • 1) You can use FitContributor to add your own data to the recording, but that won't replace the native calorie data in the recording. You can display your own calorie data while recording, but that won't change what the firmware is saying as far as calories. So you can see your data in both cases, but can not override the garmin value.
    2) What have to tried in place of SPORT_GENERIC/SUB_SPORT_GENERIC on on which devices, and what looked odd? Is the sport type not showing in GC/GCM or is it that the data looks odd?
  • jim_m_58

    thank you for your answer.

    at 1) That is a significant issue of the Garmin activity recording system - either they calculate the fields always properly OR they should make it change-able by anyone who can calculate fields properly. How about setting the Toybox.Activity.Info.calories to the proper value- that would make perfect sense to me. But I did not find any way how to store it back to the activity...

    ad 2) My activity is all about vertical climbing, while the generic sport was showing some unrelated fields (I do not remember exactly, it has been some time already, since I decided to write my own mobile app (because the Garmin one cannot be customised at all for such a purpose - Garmin just supports all the mainstream stuff, like running, cycling, swimming and similar, but ignores minorities - well climbing soon becomes Olympic sport, so perhaps Garmin will stop ignoring it and add support for it and I would be able to stop waisting time with workarounding it), perhaps it was a distance...)
  • Actually, the CIQ SDK only has the common ones defined, but you can use others. You'll see the ones that are defined are just a number. I forget exactly where, but at thisisant.com, and maybe in the FIT SDK, there's a list with all the numbers. That's how people do apps for things like in-line skating and others that aren't listed in the CIQ SDK.