===================
Regarding the data, I agree and have same results. I assume the old way of read pin directly with analogRead produced better results for raw ppg manipulation. You would have to uncomment:
# Standard open-source heart rate algorithm:
# 'SOURCES += libs/misc/heartrate.c',
Line 74 of boards/BANGLEJS2.py, and recomment the current one.
Then it doesn't read from Register 0x80 via I2C (HEARTRATE_PIN_SDA) (hrm_vc31.c @vc31b_readfifo) , but instead HEARTRATE_PIN_ANALOG 29 (hrm_analog.c @hrm_sensor_on).
That is as much as I know atm. However the actual readings of BPM are considered quite good even though its routed through the binary blob, but not sure why it forces the raw values to be bad.
EDIT: HEARTRATE_PIN_ANALOG 29 is for Bangle.js 1 only!!
Thanks - I hadn't realised I could alter the LED intensity without rebuilding the firmware - I'll try that first, then have a look at using the analogue output as you suggest.
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.
Adjust 15, to change intensity.
===================
Regarding the data, I agree and have same results. I assume the old way of read pin directly with analogRead produced better results for raw ppg manipulation. You would have to uncomment:
Line 74 of boards/BANGLEJS2.py, and recomment the current one.
Then it doesn't read from
Register 0x80 via I2C (HEARTRATE_PIN_SDA)
(hrm_vc31.c @vc31b_readfifo) , but insteadHEARTRATE_PIN_ANALOG 29
(hrm_analog.c @hrm_sensor_on).That is as much as I know atm. However the actual readings of BPM are considered quite good even though its routed through the binary blob, but not sure why it forces the raw values to be bad.
EDIT: HEARTRATE_PIN_ANALOG 29 is for
Bangle.js 1 only
!!