heartBeatIntervals on a data field

Hi,

I would like to analyze the HRV in a data field and I see that garmin provides an API for it: https://developer.garmin.com/connect-iq/api-docs/Toybox/Sensor/HeartRateData.html

However, this can only be retrieved using registerSensorDataListener which crash on data fields according the documentation:  https://developer.garmin.com/connect-iq/api-docs/Toybox/Sensor.html#registerSensorDataListener-instance_function

Does anybody know a solution? 

Thanks

  • That's a good question. I have a data field that records HR and in my alpha version I also try to do some HRV calculations, but that works by connecting to an ANT+ HR monitor from the data field.

    Also as far as I know (but this might be out dated) you won't be able to see real rr intervald from an optical sensor of a watch, because what you'll see is something like this: when the watch sees your HR is 60bpm then it'll send you "1000ms" rr-interval. If your HR is 60 bpm for let's say 10 seconds, then you'll get 10 times 1000ms.

    On the other hand in reality (and when you use a compatible external HRM like Polar h9/h10) then it detects the REAL rr-interval. For the same 10 seconds it might be something like: 994, 1004, 1002, 10013, 997, etc... All these would be rounded to 60 bpm, thus the HR would be displayed as 60, but the real HRV is jumping a bit up, down.

    However if you have the same H10 paired with your watch, then probably you'll be able to see the real rr-intervals (haven't tried, 'cause I also want it to work with data field, not app)

  • You can't use registerSensorDataListener in data fields, by design - but nobody know why.

    But there is another problem  - system doesn't provide heartBeatIntervals during activity! Anyway, that's how it was when I did the tests so even if you add background to handle heartBeatIntervals there will be no data.

  • This is not a real good solution because if you connect an ANT+ device, then it gets blocked for the garmin core code.

    The result is that the data field pick the HR/HRV directly from the H10, but the watch record it from the optical sensor. Odd....

  • If something is paired in the firmware, you can't access the same thing directly with ANT or Ble on the same Garmin device , and for things to be recorded natively, it must be paired in the FW.

    This has always been the case.

  • Yes, but my real data field is to be able to see a training parter's HR, so it's OK.
    In the rare occasion someone suspects problems with a sensor they can compare their own HR via the optical sensor vs the ANT sensor.

    Besides there's even a solution for what you mention: you connect the strap to the watch via BT and to the data field via ANT.

    All I wrote about the HRV is not relevant to my app yet (and probably will never as things look now)

  • Besides there's even a solution for what you mention: you connect the strap to the watch via BT and to the data field via ANT.

    At least with the Garmin HRM-PRO, if it's paired natively with ANT, you can't pair to it with BLE and v/v

  • Yeah, the 2 probably most used straps are Polar H9/H10 and Garmin HRM Pro/Run, where one has BT and is known as the "gold standard" for HR measurement and a good strap, the other has run dynamics built-in. I don't know how much better the run dynamics is with a strap (I can imagine it is better as it's placed at the center line of the body, not on either arm) than with a recent forerunner watch though, so maybe it's not worth the money if someone anyway has a forerunner

  • Watches don't provide all RD data.  For example, if you add a GCT data field, the watch tells you that an external RD sensor is needed for that.

    With the HRM-Pro, it also allows 2 ble parings, so for example, both a watch and GCM on a phone.  What this allows is getting HR data even if the watch isn't near by - like maybe in a team sport where watches aren't allowed.  The HR data is then sent in a batch mode and merged with the activity.

    This kind of batch mode merge is also used on other Garmin devices, for things like swimming, where there might be issues with ANT while in the water, and the batched data is sent after the activity..

  • Ground contact time is available from the wrist on newer watches (which support “wrist-based running dynamics”). Ground contact time balance is the only RD metric that’s unavailable without an accessory:

    https://support.garmin.com/en-CA/?faq=2dHRQGwu9G7u5yfFkNDIV7

    Ofc, older watches only supported cadence from the wrist.

    I don't know how much better the run dynamics is with a strap (I can imagine it is better as it's placed at the center line of the body, not on either arm) than with a recent forerunner watch though, so maybe it's not worth the money if someone anyway has a forerunner

    Someone did a graphical comparison: https://www.reddit.com/r/Garmin/comments/12tni5t/comment/jh43psf/

    The HRM-PRO is also able to record and later sync steps, intensity minutes and HR (either with or without an activity) if you were wearing the strap but not the watch. My understanding is this is what the Connect bluetooth connection is for. This is separate from the feature that merges stored HR into an activity after the fact.

    In my experience, attempted HR merging for an activity happens directly between the watch and strap, and does not utilize the Connect bluetooth connection. I’ve also found that HR merging can actually lead to activity / HR data corruption, and I’ve seen reports of this on reddit. The dumbest part is that even if the HRM-PRO was connected to the watch during an activity, when you save the activity, the watch *still* tries to merge the data, and you have a limited time to cancel the merging process by pressing a button.)

    This would also be useful for team sports if you care about tracking your steps but you don’t want to wear the watch. (If you’re not wearing the watch, Garmin normally refuses to record steps for an activity even if you use a footpod to track distance and/or cadence.) Unfortunately this feature stopped working for me at some point (maybe due to a watch firmware update.)

    So that’s a major feature which (for me) sounds great in theory, was nice when it worked, but it just doesn’t work anymore (for me). Ofc it would be nice if Garmin would just allow a footpod to be used as a steps source, but obviously they want you to buy the fancy Garmin HR strap.

    Also, unlike the cheaper garmin HRMs, HRM-PRO can be used as a speed / distance source for activities, just like a footpod. So again, for team sports, you could just wear the HRM-PRO (and not the watch or a footpod) and record HR, speed and distance, as long as your strap stays in range of the watch. (I’ve found that staying in range isn’t a problem for a full-sized basketball court, where the watch is left in a gym bag on the sidelines.)

    Personally for this kind of use case (basketball) I prefer a strap for HR and a Stryd footpod for distance/speed. (I got my Stryd for free. I probably wouldn’t recommend it based on the price, if all you wanted was a nice footpod which is supposedly better for indoor/treadmill speed than any other accessory.) Anecdotally, I’ll say that I see ppl wear an Apple Watch for pickup basketball regardless of any safety issues (I’m sure watches would be banned in a league tho.) In a way I think they’re a lot smarter than a customer like me who’s stuck in the Garmin ecosystem, trying to juggle a bunch of accessories with arbitrary limitations imposed by Garmin.

    TL;DR HRM-PRO pros:

    - ground contact time balance

    - “better” RD stats, better running power

    steps / intensity minute / HR storage / syncing feature sounds great in theory

    - ability to merge stored HR into activity (good for swimming and cases when the strap goes out of range of the watch)

    - optional pace / distance from the strap

    cons:

    - expensive

    - steps / intensity minute / HR syncing feature doesn’t work in some cases

    - Activity HR merging feature can corrupt activity / HR data (if you use the strap for swimming I guess you have no choice)

    If all you care about is GCT balance and “better” RD stats / running power, and you want to wear a strap, then HRM-RUN seems like a better choice. If you just want a nice HR strap for HR data, then Polar H10 seems like the best choice.