From f06439ecf557e95ca6af44aa1a840f4ed91c9bde Mon Sep 17 00:00:00 2001 From: James Cotton Date: Sun, 22 Apr 2012 10:37:09 -0500 Subject: [PATCH] Fix a bug in calculating air temperature in baro sensor when it goes below 20 deg C. --- flight/PiOS/Common/pios_ms5611.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flight/PiOS/Common/pios_ms5611.c b/flight/PiOS/Common/pios_ms5611.c index 61b621352..1d06f1dea 100644 --- a/flight/PiOS/Common/pios_ms5611.c +++ b/flight/PiOS/Common/pios_ms5611.c @@ -144,7 +144,7 @@ int32_t PIOS_MS5611_ReadADC(void) RawTemperature = (Data[0] << 16) | (Data[1] << 8) | Data[2]; - deltaTemp = RawTemperature - (CalibData.C[4] << 8); + deltaTemp = ((int32_t) RawTemperature) - (CalibData.C[4] << 8); Temperature = 2000l + ((deltaTemp * CalibData.C[5]) >> 23); } else {