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
This commit is contained in:
vtHydroponics 2024-11-13 10:23:45 -05:00 committed by GitHub
parent 50b6f74295
commit 551c919ae2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 0 deletions

View File

@ -52,6 +52,9 @@ void MS5837init(void) {
ms5837_sensor.setModel(ms5837_sensor.MS5837_02BA); ms5837_sensor.setModel(ms5837_sensor.MS5837_02BA);
ms5837_sensor.setFluidDensity(997); // kg/m^3 (freshwater, 1029 for seawater) ms5837_sensor.setFluidDensity(997); // kg/m^3 (freshwater, 1029 for seawater)
ms5837_start = true; ms5837_start = true;
if(!isnan(Settings->ms5837_pressure_offset)) {
ms5837_pressure_offset = Settings->ms5837_pressure_offset;
}
I2cSetActiveFound(MS5837_ADDR, "MS5837"); I2cSetActiveFound(MS5837_ADDR, "MS5837");
} }
} }
@ -124,10 +127,12 @@ bool ms5837CommandSensor() {
#ifdef USE_BMP #ifdef USE_BMP
ms5837_pressure_offset = bmp_sensors[0].bmp_pressure - ms5837_sensor.pressure(); ms5837_pressure_offset = bmp_sensors[0].bmp_pressure - ms5837_sensor.pressure();
#endif // USE_BMP #endif // USE_BMP
Settings->ms5837_pressure_offset = ms5837_pressure_offset;
Response_P(PSTR("Set MS5837 pressure offset to %f"),ms5837_pressure_offset); Response_P(PSTR("Set MS5837 pressure offset to %f"),ms5837_pressure_offset);
break; break;
case 1: case 1:
ms5837_pressure_offset = value; ms5837_pressure_offset = value;
Settings->ms5837_pressure_offset = ms5837_pressure_offset;
Response_P(PSTR("Set MS5837 pressure offset to %f"),ms5837_pressure_offset); Response_P(PSTR("Set MS5837 pressure offset to %f"),ms5837_pressure_offset);
break; break;
} }