From f478dd16c8b8cbe26bce0f58e779c7cf88e5563c Mon Sep 17 00:00:00 2001 From: samuelbles07 Date: Sun, 20 Oct 2024 22:30:49 +0700 Subject: [PATCH] get value function consume --- examples/OneOpenAir/OneOpenAir.ino | 16 ++++---- examples/OneOpenAir/OpenMetrics.cpp | 58 ++++++++++++++--------------- src/AgOledDisplay.cpp | 24 ++++++------ src/AgStateMachine.cpp | 6 +-- 4 files changed, 50 insertions(+), 54 deletions(-) diff --git a/examples/OneOpenAir/OneOpenAir.ino b/examples/OneOpenAir/OneOpenAir.ino index f98f14a..90e138b 100644 --- a/examples/OneOpenAir/OneOpenAir.ino +++ b/examples/OneOpenAir/OneOpenAir.ino @@ -1094,20 +1094,20 @@ static void updatePm(void) { float temp, hum; if (newPMS1Value && newPMS2Value) { // Both PMS has new valid value - temp = (measurements.getFloat(Measurements::Temperature, false, 1) + - measurements.getFloat(Measurements::Temperature, false, 2)) / + temp = (measurements.getFloat(Measurements::Temperature, 1) + + measurements.getFloat(Measurements::Temperature, 2)) / 2.0f; - hum = (measurements.getFloat(Measurements::Humidity, false, 1) + - measurements.getFloat(Measurements::Humidity, false, 2)) / + hum = (measurements.getFloat(Measurements::Humidity, 1) + + measurements.getFloat(Measurements::Humidity, 2)) / 2.0f; } else if (newPMS1Value) { // Only PMS1 has new valid value - temp = measurements.getFloat(Measurements::Temperature, false, 1); - hum = measurements.getFloat(Measurements::Humidity, false, 1); + temp = measurements.getFloat(Measurements::Temperature, 1); + hum = measurements.getFloat(Measurements::Humidity, 1); } else { // Only PMS2 has new valid value - temp = measurements.getFloat(Measurements::Temperature, false, 2); - hum = measurements.getFloat(Measurements::Humidity, false, 2); + temp = measurements.getFloat(Measurements::Temperature, 2); + hum = measurements.getFloat(Measurements::Humidity, 2); } // Update compensation temperature and humidity for SGP41 diff --git a/examples/OneOpenAir/OpenMetrics.cpp b/examples/OneOpenAir/OpenMetrics.cpp index b1bfcc5..23b2dd0 100644 --- a/examples/OneOpenAir/OpenMetrics.cpp +++ b/examples/OneOpenAir/OpenMetrics.cpp @@ -74,50 +74,46 @@ String OpenMetrics::getPayload(void) { int atmpCompensated = utils::getInvalidTemperature(); int ahumCompensated = utils::getInvalidHumidity(); if (config.hasSensorPMS1 && config.hasSensorPMS2) { - _temp = (measure.getFloat(Measurements::Temperature, false, 1) + - measure.getFloat(Measurements::Temperature, false, 2)) / + _temp = (measure.getFloat(Measurements::Temperature, 1) + + measure.getFloat(Measurements::Temperature, 2)) / 2.0f; - _hum = (measure.getFloat(Measurements::Humidity, false, 1) + - measure.getFloat(Measurements::Humidity, false, 2)) / + _hum = (measure.getFloat(Measurements::Humidity, 1) + + measure.getFloat(Measurements::Humidity, 2)) / 2.0f; - pm01 = (measure.get(Measurements::PM01, false, 1) + measure.get(Measurements::PM01, false, 2)) / - 2.0f; - pm25 = (measure.get(Measurements::PM25, false, 1) + measure.get(Measurements::PM25, false, 2)) / - 2.0f; - pm10 = (measure.get(Measurements::PM10, false, 1) + measure.get(Measurements::PM10, false, 2)) / - 2.0f; - pm03PCount = (measure.get(Measurements::PM03_PC, false, 1) + - measure.get(Measurements::PM03_PC, false, 2)) / - 2.0f; + pm01 = (measure.get(Measurements::PM01, 1) + measure.get(Measurements::PM01, 2)) / 2.0f; + pm25 = (measure.get(Measurements::PM25, 1) + measure.get(Measurements::PM25, 2)) / 2.0f; + pm10 = (measure.get(Measurements::PM10, 1) + measure.get(Measurements::PM10, 2)) / 2.0f; + pm03PCount = + (measure.get(Measurements::PM03_PC, 1) + measure.get(Measurements::PM03_PC, 2)) / 2.0f; } else { if (ag->isOne()) { if (config.hasSensorSHT) { - _temp = measure.getFloat(Measurements::Temperature, false); - _hum = measure.getFloat(Measurements::Humidity, false); + _temp = measure.getFloat(Measurements::Temperature); + _hum = measure.getFloat(Measurements::Humidity); } if (config.hasSensorPMS1) { - pm01 = measure.get(Measurements::PM01, false); - pm25 = measure.get(Measurements::PM25, false); - pm10 = measure.get(Measurements::PM10, false); - pm03PCount = measure.get(Measurements::PM03_PC, false); + pm01 = measure.get(Measurements::PM01); + pm25 = measure.get(Measurements::PM25); + pm10 = measure.get(Measurements::PM10); + pm03PCount = measure.get(Measurements::PM03_PC); } } else { if (config.hasSensorPMS1) { - _temp = measure.getFloat(Measurements::Temperature, false); - _hum = measure.getFloat(Measurements::Humidity, false); - pm01 = measure.get(Measurements::PM01, false); - pm25 = measure.get(Measurements::PM25, false); - pm10 = measure.get(Measurements::PM10, false); - pm03PCount = measure.get(Measurements::PM03_PC, false); + _temp = measure.getFloat(Measurements::Temperature, 1); + _hum = measure.getFloat(Measurements::Humidity, 1); + pm01 = measure.get(Measurements::PM01, 1); + pm25 = measure.get(Measurements::PM25, 1); + pm10 = measure.get(Measurements::PM10, 1); + pm03PCount = measure.get(Measurements::PM03_PC, 1); } if (config.hasSensorPMS2) { - _temp = measure.getFloat(Measurements::Temperature, false, 2); - _hum = measure.getFloat(Measurements::Humidity, false, 2); - pm01 = measure.get(Measurements::PM01, false, 2); - pm25 = measure.get(Measurements::PM25, false, 2); - pm10 = measure.get(Measurements::PM10, false, 2); - pm03PCount = measure.get(Measurements::PM03_PC, false, 2); + _temp = measure.getFloat(Measurements::Temperature, 2); + _hum = measure.getFloat(Measurements::Humidity, 2); + pm01 = measure.get(Measurements::PM01, 2); + pm25 = measure.get(Measurements::PM25, 2); + pm10 = measure.get(Measurements::PM10, 2); + pm03PCount = measure.get(Measurements::PM03_PC, 2); } } } diff --git a/src/AgOledDisplay.cpp b/src/AgOledDisplay.cpp index 1228a66..5661f21 100644 --- a/src/AgOledDisplay.cpp +++ b/src/AgOledDisplay.cpp @@ -12,7 +12,7 @@ */ void OledDisplay::showTempHum(bool hasStatus, char *buf, int buf_size) { /** Temperature */ - float temp = value.getFloat(Measurements::Temperature, false); + float temp = value.getFloat(Measurements::Temperature); if (utils::isValidTemperature(temp)) { float t = 0.0f; if (config.isTemperatureUnitInF()) { @@ -44,7 +44,7 @@ void OledDisplay::showTempHum(bool hasStatus, char *buf, int buf_size) { DISP()->drawUTF8(1, 10, buf); /** Show humidity */ - int rhum = (int)value.getFloat(Measurements::Humidity, false); + int rhum = (int)value.getFloat(Measurements::Humidity); if (utils::isValidHumidity(rhum)) { snprintf(buf, buf_size, "%d%%", rhum); } else { @@ -292,7 +292,7 @@ void OledDisplay::showDashboard(const char *status) { DISP()->drawUTF8(1, 27, "CO2"); DISP()->setFont(u8g2_font_t0_22b_tf); - int co2 = value.get(Measurements::CO2, false); + int co2 = value.get(Measurements::CO2); if (utils::isValidCO2(co2)) { sprintf(strBuf, "%d", co2); } else { @@ -313,11 +313,11 @@ void OledDisplay::showDashboard(const char *status) { DISP()->drawStr(55, 27, "PM2.5"); /** Draw PM2.5 value */ - int pm25 = value.get(Measurements::PM25, false); + int pm25 = value.get(Measurements::PM25); if (utils::isValidPm(pm25)) { /** Compensate PM2.5 value. */ if (config.hasSensorSHT && config.isMonitorDisplayCompensatedValues()) { - pm25 = ag->pms5003.compensate(pm25, value.getFloat(Measurements::Humidity, false)); + pm25 = ag->pms5003.compensate(pm25, value.getFloat(Measurements::Humidity)); logInfo("PM2.5 compensate: " + String(pm25)); } @@ -345,7 +345,7 @@ void OledDisplay::showDashboard(const char *status) { DISP()->drawStr(100, 27, "VOC:"); /** Draw tvocIndexvalue */ - int tvoc = value.get(Measurements::TVOC, false); + int tvoc = value.get(Measurements::TVOC); if (utils::isValidVOC(tvoc)) { sprintf(strBuf, "%d", tvoc); } else { @@ -354,7 +354,7 @@ void OledDisplay::showDashboard(const char *status) { DISP()->drawStr(100, 39, strBuf); /** Draw NOx label */ - int nox = value.get(Measurements::NOx, false); + int nox = value.get(Measurements::NOx); DISP()->drawStr(100, 53, "NOx:"); if (utils::isValidNOx(nox)) { sprintf(strBuf, "%d", nox); @@ -367,7 +367,7 @@ void OledDisplay::showDashboard(const char *status) { ag->display.clear(); /** Set CO2 */ - int co2 = value.get(Measurements::CO2, false); + int co2 = value.get(Measurements::CO2); if (utils::isValidCO2(co2)) { snprintf(strBuf, sizeof(strBuf), "CO2:%d", co2); } else { @@ -378,9 +378,9 @@ void OledDisplay::showDashboard(const char *status) { ag->display.setText(strBuf); /** Set PM */ - int pm25 = value.get(Measurements::PM25, false); + int pm25 = value.get(Measurements::PM25); if (config.hasSensorSHT && config.isMonitorDisplayCompensatedValues()) { - pm25 = (int)ag->pms5003.compensate(pm25, value.getFloat(Measurements::Humidity, false)); + pm25 = (int)ag->pms5003.compensate(pm25, value.getFloat(Measurements::Humidity)); } ag->display.setCursor(0, 12); @@ -392,7 +392,7 @@ void OledDisplay::showDashboard(const char *status) { ag->display.setText(strBuf); /** Set temperature and humidity */ - float temp = value.getFloat(Measurements::Temperature, false); + float temp = value.getFloat(Measurements::Temperature); if (utils::isValidTemperature(temp)) { if (config.isTemperatureUnitInF()) { snprintf(strBuf, sizeof(strBuf), "T:%0.1f F", utils::degreeC_To_F(temp)); @@ -410,7 +410,7 @@ void OledDisplay::showDashboard(const char *status) { ag->display.setCursor(0, 24); ag->display.setText(strBuf); - int rhum = (int)value.getFloat(Measurements::Humidity, false); + int rhum = (int)value.getFloat(Measurements::Humidity); if (utils::isValidHumidity(rhum)) { snprintf(strBuf, sizeof(strBuf), "H:%d %%", rhum); } else { diff --git a/src/AgStateMachine.cpp b/src/AgStateMachine.cpp index 85dd76b..9cbe068 100644 --- a/src/AgStateMachine.cpp +++ b/src/AgStateMachine.cpp @@ -69,7 +69,7 @@ void StateMachine::sensorhandleLeds(void) { * */ void StateMachine::co2handleLeds(void) { - int co2Value = value.get(Measurements::CO2, false); + int co2Value = value.get(Measurements::CO2); if (co2Value <= 600) { /** G; 1 */ ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 1); @@ -141,9 +141,9 @@ void StateMachine::co2handleLeds(void) { * */ void StateMachine::pm25handleLeds(void) { - int pm25Value = value.get(Measurements::PM25, false); + int pm25Value = value.get(Measurements::PM25); if (config.isMonitorDisplayCompensatedValues() && config.hasSensorSHT) { - pm25Value = ag->pms5003.compensate(pm25Value, value.getFloat(Measurements::Humidity, false)); + pm25Value = ag->pms5003.compensate(pm25Value, value.getFloat(Measurements::Humidity)); } if (pm25Value < 5) {