From d2ee3a5d244b13ce08cdebc4044bed59a90765bd Mon Sep 17 00:00:00 2001 From: samuelbles07 Date: Mon, 3 Feb 2025 01:28:42 +0700 Subject: [PATCH] Set default value for each measurements value to invalid --- examples/OneOpenAir/OneOpenAir.ino | 3 +-- src/AgValue.cpp | 39 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/examples/OneOpenAir/OneOpenAir.ino b/examples/OneOpenAir/OneOpenAir.ino index 9030ee8..47be2ff 100644 --- a/examples/OneOpenAir/OneOpenAir.ino +++ b/examples/OneOpenAir/OneOpenAir.ino @@ -268,8 +268,7 @@ void setup() { oledDisplay.setBrightness(configuration.getDisplayBrightness()); } - // Reset display and post schedulers to make sure measurements value already available - dispLedSchedule.update(); + // Reset post schedulers to make sure measurements value already available agApiPostSchedule.update(); } diff --git a/src/AgValue.cpp b/src/AgValue.cpp index 1a46ece..544744c 100644 --- a/src/AgValue.cpp +++ b/src/AgValue.cpp @@ -31,6 +31,45 @@ Measurements::Measurements() { #ifndef ESP8266 _resetReason = (int)ESP_RST_UNKNOWN; #endif + + /* Set invalid value for each measurements as default value when initialized*/ + _temperature[0].update.avg = utils::getInvalidTemperature(); + _temperature[1].update.avg = utils::getInvalidTemperature(); + _humidity[0].update.avg = utils::getInvalidHumidity(); + _humidity[1].update.avg = utils::getInvalidHumidity(); + _co2.update.avg = utils::getInvalidCO2(); + _tvoc.update.avg = utils::getInvalidVOC(); + _tvoc_raw.update.avg = utils::getInvalidVOC(); + _nox.update.avg = utils::getInvalidNOx(); + _nox_raw.update.avg = utils::getInvalidNOx(); + + _pm_03_pc[0].update.avg = utils::getInvalidPmValue(); + _pm_03_pc[1].update.avg = utils::getInvalidPmValue(); + _pm_05_pc[0].update.avg = utils::getInvalidPmValue(); + _pm_05_pc[1].update.avg = utils::getInvalidPmValue(); + _pm_5_pc[0].update.avg = utils::getInvalidPmValue(); + _pm_5_pc[1].update.avg = utils::getInvalidPmValue(); + + _pm_01[0].update.avg = utils::getInvalidPmValue(); + _pm_01_sp[0].update.avg = utils::getInvalidPmValue(); + _pm_01_pc[0].update.avg = utils::getInvalidPmValue(); + _pm_01[1].update.avg = utils::getInvalidPmValue(); + _pm_01_sp[1].update.avg = utils::getInvalidPmValue(); + _pm_01_pc[1].update.avg = utils::getInvalidPmValue(); + + _pm_25[0].update.avg = utils::getInvalidPmValue(); + _pm_25_sp[0].update.avg = utils::getInvalidPmValue(); + _pm_25_pc[0].update.avg = utils::getInvalidPmValue(); + _pm_25[1].update.avg = utils::getInvalidPmValue(); + _pm_25_sp[1].update.avg = utils::getInvalidPmValue(); + _pm_25_pc[1].update.avg = utils::getInvalidPmValue(); + + _pm_10[0].update.avg = utils::getInvalidPmValue(); + _pm_10_sp[0].update.avg = utils::getInvalidPmValue(); + _pm_10_pc[0].update.avg = utils::getInvalidPmValue(); + _pm_10[1].update.avg = utils::getInvalidPmValue(); + _pm_10_sp[1].update.avg = utils::getInvalidPmValue(); + _pm_10_pc[1].update.avg = utils::getInvalidPmValue(); } void Measurements::maxPeriod(MeasurementType type, int max) {