Fix: TestPM (before PM Simple) only shows nulls

This commit is contained in:
Phat Nguyen
2024-02-04 15:10:46 +07:00
parent 335fad3f0d
commit 7bbe81ad1d

View File

@ -16,69 +16,65 @@ AirGradient ag = AirGradient(OPEN_AIR_OUTDOOR);
void failedHandler(String msg); void failedHandler(String msg);
void setup() void setup() {
{
Serial.begin(115200); Serial.begin(115200);
#ifdef ESP8266 #ifdef ESP8266
if (ag.pms5003.begin(&Serial) == false) if (ag.pms5003.begin(&Serial) == false) {
{
failedHandler("Init PMS5003 failed"); failedHandler("Init PMS5003 failed");
} }
#else #else
if (ag.getBoardType() == OPEN_AIR_OUTDOOR) if (ag.getBoardType() == OPEN_AIR_OUTDOOR) {
{ if (ag.pms5003t_1.begin(Serial0) == false) {
if (ag.pms5003t_1.begin(Serial0) == false)
{
failedHandler("Init PMS5003T failed"); failedHandler("Init PMS5003T failed");
} }
} } else {
else if (ag.pms5003.begin(Serial0) == false) {
{
if (ag.pms5003.begin(Serial0) == false)
{
failedHandler("Init PMS5003T failed"); failedHandler("Init PMS5003T failed");
} }
} }
#endif #endif
} }
void loop() void loop() {
{
int PM2; int PM2;
bool readResul = false;
#ifdef ESP8266 #ifdef ESP8266
if (ag.pms5003.readData()) {
PM2 = ag.pms5003.getPm25Ae(); PM2 = ag.pms5003.getPm25Ae();
Serial.printf("PM2.5 in ug/m3: %d\r\n", PM2); 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
{
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 US AQI: %d\r\n", Serial.printf("PM2.5 in US AQI: %d\r\n",
ag.pms5003.convertPm25ToUsAqi(PM2)); 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 #endif
delay(5000); delay(5000);
} }
void failedHandler(String msg) void failedHandler(String msg) {
{ while (true) {
while (true)
{
Serial.println(msg); Serial.println(msg);
delay(1000); delay(1000);
} }