From 7882219d30555667444e225d154478dfc33d767f Mon Sep 17 00:00:00 2001 From: davidkreidler <13180124+davidkreidler@users.noreply.github.com> Date: Wed, 3 Jul 2024 22:55:32 +0200 Subject: [PATCH] Bugfix: temperature offset on Wi-Fi and in Battery mode --- OpenCO2_Sensor.ino | 4 ++-- epd_abstraction.ino | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/OpenCO2_Sensor.ino b/OpenCO2_Sensor.ino index f7fe202..144db85 100644 --- a/OpenCO2_Sensor.ino +++ b/OpenCO2_Sensor.ino @@ -290,7 +290,7 @@ void loadCredentials() { #endif /* MQTT */ float getTempOffset() { - if (useWiFi) return 13.0; + if (useWiFi) return 12.2; else return 4.4; } @@ -774,7 +774,7 @@ void loop() { bool isDataReady = false; uint16_t ready_error = scd4x.getDataReadyFlag(isDataReady); if (ready_error || !isDataReady) { - if (BatteryMode) goto_deep_sleep(DEEP_SLEEP_TIME); + if (BatteryMode && comingFromDeepSleep) goto_deep_sleep(DEEP_SLEEP_TIME); else goto_light_sleep(LIGHT_SLEEP_TIME); return; // otherwise continues running! } diff --git a/epd_abstraction.ino b/epd_abstraction.ino index fd62a8e..63e5d73 100644 --- a/epd_abstraction.ino +++ b/epd_abstraction.ino @@ -1045,6 +1045,17 @@ void displayinfo() { Paint_DrawString_EN(1, 129, "USB_ACTIVE:", &Font16, WHITE, BLACK); Paint_DrawString_EN(122, 129, USB_ACTIVE? "yes":"no", &Font16, WHITE, BLACK); + // only needed for debugging. This interrupts the SCD40 + /*float tOffset; + scd4x.stopPeriodicMeasurement(); + scd4x.getTemperatureOffset(tOffset); + if (BatteryMode) scd4x.startLowPowerPeriodicMeasurement(); + else scd4x.startPeriodicMeasurement(); + Paint_DrawString_EN(1, 145, "T_offset:", &Font16, WHITE, BLACK); + char offset[20]; + sprintf(offset, "%.1f", tOffset); + Paint_DrawString_EN(122, 145, offset, &Font16, WHITE, BLACK);*/ + updateDisplay(); }