polarofficial / polar-ble-sdk

Repository includes SDK and code examples. More info https://polar.com/en/developers
Other
475 stars 153 forks source link

HR Stream and PPI Stream at the same time? #363

Closed sblatz closed 1 year ago

sblatz commented 1 year ago

Platform your question concerns:

Device:

Description: I'm wondering if it's possible to stream both the HR and the PPI streams at the same time. My end goal is being able to present HRV & HR alongside each other. Unfortunately the PPI stream's HR seems very jumpy and often "locks" on a number for a while (often for 1-2 minutes, especially when moving), rather than the super accurate second by second measurements of the HR stream.

jimmyzumthurm commented 1 year ago

Hi @sblatz

Unfortunately, it is not possible to have what you are requesting currently. In sensor we have 2 separate algorithms, one designed to calculate PPI data, and a second one which calculates accurate HR even in case movement. Because of device constraints, we could not make both algorithm run in parallel. In PPI mode (device led blink in pink), we have also a 5 second HR update interval, against 1 second update interval in HR mode.

Also note that PPI mode is very sensitive to movement, and then in that case PPI data shouldnt be trusted, as informed by the "blocker" bit set to 1 in the PPI packet. In that case, the HR sent is the last trusted value, thus the locking. PPI is to be used when user is not moving. Unfortunately this is the downside of PPG based Sensor compared to ECG based like Polar H10, which can send reliable RR data alongside HR while in movement.

In hope this answers your question.