From 6403df956153530174376afa401ac6c25901e3cc Mon Sep 17 00:00:00 2001 From: dario Date: Fri, 17 May 2024 01:23:17 +0200 Subject: [PATCH] small bugfix --- src/MS56xx.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/MS56xx.cpp b/src/MS56xx.cpp index bb593f9..bda5b69 100644 --- a/src/MS56xx.cpp +++ b/src/MS56xx.cpp @@ -87,7 +87,7 @@ namespace sta float sens = C_[1] + dT_ * C_[3]; // The pressure in Pa. - float pressure = (D1 * sens * 4.76837158205E-7 - offset) * 3.051757813E-5; + float pressure = (D1 * sens * 4.76837158203125E-7 - offset) * 3.0517578125E-5; // Convert to desired unit. pressure = convertPressure(pressure, unit); @@ -97,13 +97,15 @@ namespace sta float MS56xx::getTemperature() { + requestData(TEMPERATURE); uint8_t buffer[3] = { 0x00, 0x00, 0x00 }; busRead(MS56xx::Operations::ADC_RESULT, buffer, 3); uint32_t D2 = buffer[0] << 16 | buffer[1] << 8 | buffer[2]; float dT_ = D2 - C_[5]; - return (2000 + dT_ * C_[6]) * 0.01; + float temperature = (2000 + dT_ * C_[6]) * 0.01; + return temperature; } void MS56xx::setPressureReference(float pressRef, float altRef, Unit unit /* = Unit::hPa */) @@ -142,19 +144,19 @@ namespace sta case _MS5607: C_[1] = 65536L; C_[2] = 131072; - C_[3] = 7.8125E-3; + C_[3] = 0.0078125; C_[4] = 0.015625; C_[5] = 256; - C_[6] = 1.1920928955E-7; + C_[6] = 1.1920928955078125E-7; break; case _MS5611: C_[1] = 32768L; C_[2] = 65536L; C_[3] = 3.90625E-3; - C_[4] = 7.8125E-3; + C_[4] = 0.0078125; C_[5] = 256; - C_[6] = 1.1920928955E-7; + C_[6] = 1.1920928955078125E-7; default: break; }