From a20ac4270203c49279b9110542aae13d55b22147 Mon Sep 17 00:00:00 2001 From: Matteo Pignataro <matteo.pignataro@skywarder.eu> Date: Mon, 3 Apr 2023 13:56:52 +0000 Subject: [PATCH] [max31855] Fixed temperature sampling using 2 complement --- src/shared/sensors/MAX31855/MAX31855.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/shared/sensors/MAX31855/MAX31855.cpp b/src/shared/sensors/MAX31855/MAX31855.cpp index c55d08065..75ab83dc4 100644 --- a/src/shared/sensors/MAX31855/MAX31855.cpp +++ b/src/shared/sensors/MAX31855/MAX31855.cpp @@ -68,18 +68,19 @@ bool MAX31855::checkConnection() TemperatureData MAX31855::sampleImpl() { - uint16_t sample; + int16_t sample; { SPITransaction spi{slave}; sample = spi.read16(); + sample = sample >> 2; } TemperatureData result{}; result.temperatureTimestamp = TimestampTimer::getTimestamp(); // Convert the integer and decimal part separately - result.temperature = static_cast<float>(sample >> 2) * 0.25; + result.temperature = static_cast<float>(sample) * 0.25; return result; } -- GitLab