From f81154d5faad152ab5576b287480dfe4467bd120 Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Fri, 10 Apr 2020 16:15:33 +0200 Subject: [PATCH] fix(max86150): Mask MS bits of PPG data --- lib/vendor/Maxim/MAX86150/max86150.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/vendor/Maxim/MAX86150/max86150.c b/lib/vendor/Maxim/MAX86150/max86150.c index 203df693a..7af45af57 100644 --- a/lib/vendor/Maxim/MAX86150/max86150.c +++ b/lib/vendor/Maxim/MAX86150/max86150.c @@ -667,8 +667,9 @@ uint8_t max86150_get_sample(uint32_t *red, uint32_t *ir, int32_t *ecg) 0 ); - *red = (data[0] << 16) | (data[1] << 8) | (data[2]); - *ir = (data[3] << 16) | (data[4] << 8) | (data[5]); + // According to datasheet MS bits of PPG have to be masked + *red = ((data[0] << 16) | (data[1] << 8) | (data[2])) & 0x7FFFF; + *ir = ((data[3] << 16) | (data[4] << 8) | (data[5])) & 0x7FFFF; *ecg = (data[6] << 16) | (data[7] << 8) | (data[8]); } -- GitLab