From a68df0f51527fea64c1c7d9a323ef6a6bce13c0b Mon Sep 17 00:00:00 2001 From: mixeysan <81270595+mixeysan@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:55:55 +1000 Subject: [PATCH] [LR11x0] Fix temperature reading (#1234) * Update LR11x0.cpp According LR1121 datasheet * Update LR11x0.cpp Now OK * Update LR11x0.cpp Now OK --- src/modules/LR11x0/LR11x0.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/LR11x0/LR11x0.cpp b/src/modules/LR11x0/LR11x0.cpp index cbda7ddb..81eb9ade 100644 --- a/src/modules/LR11x0/LR11x0.cpp +++ b/src/modules/LR11x0/LR11x0.cpp @@ -2121,7 +2121,8 @@ int16_t LR11x0::getTemp(float* temp) { // pass the replies if(temp) { uint16_t raw = ((uint16_t)(buff[0]) << 8) | (uint16_t)buff[1]; - *temp = 25.0f - (1000.0f/1.7f)*(((float)raw/2047.0f)*1350.0f - 0.7295f); + raw = raw & 0x07FF; //According LR1121 datasheet we need [0..10] bits + *temp = 25.0f - (1000.0f/1.7f)*(((float)raw/2047.0f)*1.35f - 0.7295f); //According LR1121 datasheet 1.35 } return(state);