On the watch itself a confidence=0 indicates hrmmar is active. Also in the console you can subscribe to the HRM event:
Bangle.on('HRM', print)
If you see a value in bpm_orig and confidence_orig hrmmar has replaced the firmware value with a value it thinks is not motion affected. For a confidence value of >= 90 the firmware value is displayed.
Please note that the fft elimination needs 8 seconds of sensor data to compute its value on so it might not be suited for the health app. Maybe it is a good idea to disable hrmmar when health is requesting the hrm data, I did only run short tests with health but have not seen an issue here.
Update: Because of alphabetically order health.boot.js should load before hrmmar.boot.js so health should ignore any modification of hrmmar.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
On the watch itself a confidence=0 indicates hrmmar is active. Also in the console you can subscribe to the HRM event:
If you see a value in bpm_orig and confidence_orig hrmmar has replaced the firmware value with a value it thinks is not motion affected. For a confidence value of >= 90 the firmware value is displayed.
Please note that the fft elimination needs 8 seconds of sensor data to compute its value on so it might not be suited for the health app. Maybe it is a good idea to disable hrmmar when health is requesting the hrm data, I did only run short tests with health but have not seen an issue here.
Update: Because of alphabetically order health.boot.js should load before hrmmar.boot.js so health should ignore any modification of hrmmar.