From 7bbe81ad1d539ccef468343166df9cb35cd3974e Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Sun, 4 Feb 2024 15:10:46 +0700 Subject: [PATCH] Fix: TestPM (before PM Simple) only shows nulls --- examples/TestPM/TestPM.ino | 74 ++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/examples/TestPM/TestPM.ino b/examples/TestPM/TestPM.ino index 29b52cb..556d1cf 100644 --- a/examples/TestPM/TestPM.ino +++ b/examples/TestPM/TestPM.ino @@ -16,69 +16,65 @@ AirGradient ag = AirGradient(OPEN_AIR_OUTDOOR); void failedHandler(String msg); -void setup() -{ +void setup() { Serial.begin(115200); #ifdef ESP8266 - if (ag.pms5003.begin(&Serial) == false) - { + if (ag.pms5003.begin(&Serial) == false) { failedHandler("Init PMS5003 failed"); } #else - if (ag.getBoardType() == OPEN_AIR_OUTDOOR) - { - if (ag.pms5003t_1.begin(Serial0) == false) - { + if (ag.getBoardType() == OPEN_AIR_OUTDOOR) { + if (ag.pms5003t_1.begin(Serial0) == false) { failedHandler("Init PMS5003T failed"); } - } - else - { - if (ag.pms5003.begin(Serial0) == false) - { + } else { + if (ag.pms5003.begin(Serial0) == false) { failedHandler("Init PMS5003T failed"); } } #endif } -void loop() -{ +void loop() { int PM2; + bool readResul = false; #ifdef ESP8266 - PM2 = ag.pms5003.getPm25Ae(); - Serial.printf("PM2.5 in ug/m3: %d\r\n", PM2); - Serial.printf("PM2.5 in US AQI: %d\r\n", ag.pms5003.convertPm25ToUsAqi(PM2)); -#else - if (ag.getBoardType() == OPEN_AIR_OUTDOOR) - { - PM2 = ag.pms5003t_1.getPm25Ae(); - } - else - { + if (ag.pms5003.readData()) { PM2 = ag.pms5003.getPm25Ae(); - } - - Serial.printf("PM2.5 in ug/m3: %d\r\n", PM2); - if (ag.getBoardType() == OPEN_AIR_OUTDOOR) - { - Serial.printf("PM2.5 in US AQI: %d\r\n", - ag.pms5003t_1.convertPm25ToUsAqi(PM2)); - } - else - { + Serial.printf("PM2.5 in ug/m3: %d\r\n", PM2); Serial.printf("PM2.5 in US AQI: %d\r\n", ag.pms5003.convertPm25ToUsAqi(PM2)); } +#else + if (ag.getBoardType() == OPEN_AIR_OUTDOOR) { + if (ag.pms5003t_1.readData()) { + PM2 = ag.pms5003t_1.getPm25Ae(); + readResul = true; + } + } else { + if (ag.pms5003.readData()) { + PM2 = ag.pms5003.getPm25Ae(); + readResul = true; + } + } + + if (readResul) { + Serial.printf("PM2.5 in ug/m3: %d\r\n", PM2); + if (ag.getBoardType() == OPEN_AIR_OUTDOOR) { + Serial.printf("PM2.5 in US AQI: %d\r\n", + ag.pms5003t_1.convertPm25ToUsAqi(PM2)); + } else { + Serial.printf("PM2.5 in US AQI: %d\r\n", + ag.pms5003.convertPm25ToUsAqi(PM2)); + } + } #endif delay(5000); } -void failedHandler(String msg) -{ - while (true) - { +void failedHandler(String msg) { + while (true) { Serial.println(msg); delay(1000); }