From 551c919ae20dad91ddcd3d9ec02f5539b6aba384 Mon Sep 17 00:00:00 2001 From: vtHydroponics <132159689+vtHydroponics@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:23:45 -0500 Subject: [PATCH] MS5837 pressure offset persistent between resets (#22476) * Finalized gain/integration adjustment trees * Fixed the bugs * works but polishing code * need to debug pressure in bmp * updated temp to change via setoption8 command from tasmota * sensor table working, value reporting working, need to update dependency on sensor duality * working * updated file name for ms5837 xsns file * final working with renamed for current updates (128->116) * resolved PR comments for extra spaces, xi2c_96 * removed extra spaces, added unit for inches across languages * removed inches as a unit from language files * pressure offset retained between resets --- tasmota/tasmota_xsns_sensor/xsns_116_ms5837.ino | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tasmota/tasmota_xsns_sensor/xsns_116_ms5837.ino b/tasmota/tasmota_xsns_sensor/xsns_116_ms5837.ino index 403b1c3f9..b67f4a38a 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_116_ms5837.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_116_ms5837.ino @@ -52,6 +52,9 @@ void MS5837init(void) { ms5837_sensor.setModel(ms5837_sensor.MS5837_02BA); ms5837_sensor.setFluidDensity(997); // kg/m^3 (freshwater, 1029 for seawater) ms5837_start = true; + if(!isnan(Settings->ms5837_pressure_offset)) { + ms5837_pressure_offset = Settings->ms5837_pressure_offset; + } I2cSetActiveFound(MS5837_ADDR, "MS5837"); } } @@ -124,10 +127,12 @@ bool ms5837CommandSensor() { #ifdef USE_BMP ms5837_pressure_offset = bmp_sensors[0].bmp_pressure - ms5837_sensor.pressure(); #endif // USE_BMP + Settings->ms5837_pressure_offset = ms5837_pressure_offset; Response_P(PSTR("Set MS5837 pressure offset to %f"),ms5837_pressure_offset); break; case 1: ms5837_pressure_offset = value; + Settings->ms5837_pressure_offset = ms5837_pressure_offset; Response_P(PSTR("Set MS5837 pressure offset to %f"),ms5837_pressure_offset); break; }