Skip to content

Commit

Permalink
fix PM2.5 compensated on display, #221
Browse files Browse the repository at this point in the history
  • Loading branch information
pnt325 committed Aug 25, 2024
1 parent 6c3259b commit 63f653d
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 10 deletions.
13 changes: 7 additions & 6 deletions src/AgOledDisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -307,20 +307,21 @@ void OledDisplay::showDashboard(const char *status) {
int pm25 = value.pm25_1;
if (config.hasSensorSHT) {
pm25 = ag->pms5003.compensated(pm25, value.Humidity);
logInfo("PM2.5:" + String(value.pm25_1) + String("Compensated:") + String(pm25));
}
DISP()->setFont(u8g2_font_t0_22b_tf);
if (config.isPmStandardInUSAQI()) {
if (utils::isValidPMS(value.pm25_1)) {
sprintf(strBuf, "%d", ag->pms5003.convertPm25ToUsAqi(value.pm25_1));
if (utils::isValidPMS(pm25)) {
sprintf(strBuf, "%d", ag->pms5003.convertPm25ToUsAqi(pm25));
} else {
sprintf(strBuf, "%s", "-");
}
DISP()->drawStr(55, 48, strBuf);
DISP()->setFont(u8g2_font_t0_12_tf);
DISP()->drawUTF8(55, 61, "AQI");
} else {
if (utils::isValidPMS(value.pm25_1)) {
sprintf(strBuf, "%d", value.pm25_1);
if (utils::isValidPMS(pm25)) {
sprintf(strBuf, "%d", pm25);
} else {
sprintf(strBuf, "%s", "-");
}
Expand Down Expand Up @@ -369,8 +370,8 @@ void OledDisplay::showDashboard(const char *status) {
pm25 = (int)ag->pms5003.compensated(pm25, value.Humidity);
}
ag->display.setCursor(0, 12);
if (utils::isValidPMS(value.pm25_1)) {
snprintf(strBuf, sizeof(strBuf), "PM2.5:%d", value.pm25_1);
if (utils::isValidPMS(pm25)) {
snprintf(strBuf, sizeof(strBuf), "PM2.5:%d", pm25);
} else {
snprintf(strBuf, sizeof(strBuf), "PM2.5:-");
}
Expand Down
2 changes: 1 addition & 1 deletion src/PMS/PMS5003.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ int PMS5003::convertPm25ToUsAqi(int pm25) { return pms.pm25ToAQI(pm25); }
*
* @param pm25 PM2.5 raw value
* @param humidity Humidity value
* @return float
* @return int
*/
int PMS5003::compensated(int pm25, float humidity) {
return pms.compensated(pm25, humidity);
Expand Down
4 changes: 2 additions & 2 deletions src/PMS/PMS5003T.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,9 @@ float PMS5003T::getRelativeHumidity(void) {
*
* @param pm25 PM2.5 raw value
* @param humidity Humidity value
* @return float
* @return int
*/
float PMS5003T::compensated(int pm25, float humidity) {
int PMS5003T::compensated(int pm25, float humidity) {
return pms.compensated(pm25, humidity);
}

Expand Down
2 changes: 1 addition & 1 deletion src/PMS/PMS5003T.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class PMS5003T: public PMS5003TBase {
int convertPm25ToUsAqi(int pm25);
float getTemperature(void);
float getRelativeHumidity(void);
float compensated(int pm25, float humidity);
int compensated(int pm25, float humidity);

private:
bool _isBegin = false;
Expand Down

0 comments on commit 63f653d

Please sign in to comment.