mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-07-03 03:16:30 +02:00
get value function consume
This commit is contained in:
@ -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
|
||||
|
@ -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)) /
|
||||
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)) /
|
||||
_hum = (measure.getFloat(Measurements::Humidity, 1) +
|
||||
measure.getFloat(Measurements::Humidity, 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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) {
|
||||
|
Reference in New Issue
Block a user