This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How does nRF Connect interpret the RR Intervals in nRF Connect?

Hello,

I was trying out sending RR intervals on the Heart Rate Measurement service and seeing what happens in nRF Connect. But, something is weird with the way the values are interpreted in the app. The flag for Energy Expended is set to 0, so there should not be any in the packet. But if bytes 2 and 3 of the hrm packet are used to send RR intervals , they are just ignored:

Whatever RR interval is in bytes 2 and 3 is straight up ignored.

Here is another example with putting RR intervals values from byte 4 onward instead of byte 2 onward:

This time, no RR Interval value is ignored!

This is the table from the spec as reference:

Could somebody explain what I am doing wrong ?

Thank you for your help.

Best regards,

Parents
  • Hi again

    I'm not able to see where in the HRS specification it's stated that bytes 2 and 3 should be used for RR intervals if the EE bit is set to 0. Aren't these for the EE field, and thus when the EE bit is set to 0 these bytes are ignored, and only the later bytes are printed by the central app. At least that's my understanding. Let me know if I missed something.

    HRS_SPEC_V10.pdf

    Best regards,

    Simon

  • Hello,

    Thank you for your time on this.

    The paragraph that makes me hesitate is this one (page 12 of 15):

    "For a 23-octet ATT_MTU and the Heart Rate Measurement Value format set to UINT16, when notifying the Heart Rate Measurement characteristic, the maximum number of RR-Interval values that can be contained within a single Heart Rate Measurement characteristic with Energy Expended is 7 and the maximum number of RR-Interval values that can be notified if Energy Expended is not present is 8."

    For a given MTU size, the maximum number of RR-Interval that can be fit changes depending on if Energy Expended is present or not. That can only mean that 1 RR-Interval measurement is put where EE should be (bytes 2 and 3) ! I don't see any other way to go from 7 to 8 RR-Interval within a constrained packet ?

    Best regards,

Reply
  • Hello,

    Thank you for your time on this.

    The paragraph that makes me hesitate is this one (page 12 of 15):

    "For a 23-octet ATT_MTU and the Heart Rate Measurement Value format set to UINT16, when notifying the Heart Rate Measurement characteristic, the maximum number of RR-Interval values that can be contained within a single Heart Rate Measurement characteristic with Energy Expended is 7 and the maximum number of RR-Interval values that can be notified if Energy Expended is not present is 8."

    For a given MTU size, the maximum number of RR-Interval that can be fit changes depending on if Energy Expended is present or not. That can only mean that 1 RR-Interval measurement is put where EE should be (bytes 2 and 3) ! I don't see any other way to go from 7 to 8 RR-Interval within a constrained packet ?

    Best regards,

Children
No Data
Related