Hi all,
I'm writing a data field (Monkey C, SDK 9.1, Forerunner 965) that streams live activity data over BLE. I'm unable to read Running Dynamics from a HRM 600 strap, even though the watch's native Running Dynamics screen displays them correctly during the run.
What I tried:
Toybox.AntPlus.RunningDynamicsin polling mode —getRunningDynamics()always returnsnull.- Push mode with
AntPlus.RunningDynamicsListener.onRunningDynamicsUpdate— the callback never fires;getSensorPosition()also returnsnull. - Confirmed the
AntPlus.RunningDynamicsinstance is non-null (constructed inonStart), the activity timer is running, andActivity.Infoshows valid cadence/speed while running. - Manifest has the
Antpermission (the only one required byToybox.AntPlus/Toybox.Ant). - Tried pairing the HRM 600 as ANT+ on the FR965 — it only ever connects as BLE Secure; there's no option to choose ANT+ (open) anymore.
My understanding from other threads is that the HRM 600 broadcasts only HR over ANT+ and sends Running Dynamics only over BLE Secure, while Connect IQ has no API to read RD over BLE. If that's the case, AntPlus.RunningDynamics (and a generic Ant.GenericChannel on NETWORK_PLUS) can't work because there are no RD pages on ANT+ to read.
Questions:
- Can someone confirm HRM 600 Running Dynamics are simply not accessible to Connect IQ on current firmware (platform limitation, not a code error)?
- Is there any supported way to read them in real time from a data field with the HRM 600?
- If not, do HRM-Pro / HRM-Pro Plus / HRM-Run / HRM-Tri expose RD over ANT+ such that
AntPlus.RunningDynamicsworks with them unchanged?
Device: Forerunner 965 · SDK 9.1.0 · Strap: HRM 600 · App type: data field.
Thanks!