Altitude (Activity.getActivityInfo) max refresh 1-min on hardware, 1-sec in simulator

Former Member
Former Member
I believe this is a bug but it may be a (removal of-) "feature" update. A watch face of mine used to update altitude in semi-real-time when onExitSleep (low power mode disabled with wrist gesture) is activated using:

var altitude = Activity.getActivityInfo().altitude;

...and then printing on the screen.

More recently however I have noted that on a Fenix 5x watch with firmware 12.30, the value does not update until a full minute has passed. This is true even if the user re-calibrates the altimeter. and returns to the watch face.

I have run some tests with a totally bare-bones code and i get the same result (controlling for any other potential pitfalls). furthermore, the code runs in the simulator version of the same watch correctly and when low power mode is disabled.

my other option of Sensor.getInfo does not work either as Sensor is not available to watch faces.

any suggestions?

thanks!
  • That's due to HW differences on the f5x, as well as devices built off it's HW (like the D2 Charlie). Initially, the data in Activity.Info as seen by a watchfaces didn't update at all when in "watchface mode", only when you previews a watch face, but then there was a change were it was getting updated every second, but that impacted the battery, and they switched to every minute.

    This is also seen with things like Activity.Info.currentHeartRate where for a period would update in "real time" for a WF that did 1hz fields, but now, it's every minute on the f5x.

    For Altitude, you can use SensorHistory.getElevationHistory as a fall back, but that only updates every couple minutes - Same with SensorHistory.getHeartRateHistory. But I used both when Activity.Info wasn't being updataded at all

    So for a WF on the f5x, this will be the case, and no way to get around that, while the same code works find on other device. Maybe the sim should show this, but once you see why it's this way (it's all about the battery!), I'm not sure it's needed.
  • Former Member
    Former Member
    Thanks for the clarification Jim, that's too bad.

    Perhaps if Garmin is listening...it is difficult to take the development on ConnectIQ seriously if you keep moving the goalposts, harder still if it happens without any actual updates on changes. if an otherwise non-battery-intensive program wants to use a little more battery to call a data point DURING exitSleep shouldn't that be at the discretion of the developer to an extent?? I had this running on a F3HR for a year and with normal usage full-time saw my battery life in the 2-4 week range depending on whether the HR sensor was enabled/disabled.

    Jim - any idea which models this affects? Likely all F5 units plus similar? Thanks again for the reply
  • It's just the f5x and devices based on that - and maybe the Approach S60 (not the f5 or f5s). It has to do with the HW needed to handle actual maps on those devices and managing the extra memory on the device for them. The newer f5 plus devices with maps do this differently, as do the music devices that also have a whole bunch of memory.

    As I said, it's the same for watch faces that use 1hz for things like heart rate. Hr only updates once a minute on the same devices.
  • Former Member
    Former Member
    Hey all,

    I've got a task set out to document this better. It's not our intent to make anything an impediment to development and we always want to make it better.

    Thanks,
    -Coleman