From dc742d3c929a848f6575c943683ba443246796c3 Mon Sep 17 00:00:00 2001 From: Achim Date: Thu, 7 Mar 2024 16:11:36 +0700 Subject: [PATCH 1/4] Updated log messages and version number --- examples/ONE/ONE.ino | 64 ++++++++++++++-------------- examples/Open_Air/Open_Air.ino | 78 +++++++++++++++++----------------- library.properties | 2 +- src/AirGradient.cpp | 2 +- 4 files changed, 73 insertions(+), 73 deletions(-) diff --git a/examples/ONE/ONE.ino b/examples/ONE/ONE.ino index 5a24a9c..e767902 100644 --- a/examples/ONE/ONE.ino +++ b/examples/ONE/ONE.ino @@ -429,13 +429,13 @@ public: */ void showServerConfig(void) { Serial.println("Server configuration: "); - Serial.printf(" inF: %s\r\n", config.inF ? "true" : "false"); - Serial.printf(" inUSAQI: %s\r\n", + Serial.printf("inF: %s\r\n", config.inF ? "true" : "false"); + Serial.printf("inUSAQI: %s\r\n", config.inUSAQI ? "true" : "false"); - Serial.printf(" useRGBLedBar: %d\r\n", (int)config.useRGBLedBar); - Serial.printf(" Model: %s\r\n", config.models); - Serial.printf(" Mqtt Broker: %s\r\n", config.mqttBrokers); - Serial.printf(" S8 calib period: %d\r\n", co2AbcCalib); + Serial.printf("useRGBLedBar: %d\r\n", (int)config.useRGBLedBar); + Serial.printf("Model: %s\r\n", config.models); + Serial.printf("MQTT Broker: %s\r\n", config.mqttBrokers); + Serial.printf("S8 calibration period: %d\r\n", co2AbcCalib); } /** @@ -566,19 +566,19 @@ public: /** init client */ client = esp_mqtt_client_init(&config); if (client == NULL) { - Serial.println("mqtt client init failed"); + Serial.println("MQTT client init failed"); return false; } /** Register event */ if (esp_mqtt_client_register_event(client, MQTT_EVENT_ANY, mqtt_event_handler, NULL) != ESP_OK) { - Serial.println("mqtt client register event failed"); + Serial.println("MQTT client register event failed"); return false; } if (esp_mqtt_client_start(client) != ESP_OK) { - Serial.println("mqtt client start failed"); + Serial.println("MQTT client start failed"); return false; } @@ -915,7 +915,7 @@ static void co2Update(void) { if (value >= 0) { co2Ppm = value; getCO2FailCount = 0; - Serial.printf("CO2 index: %d\r\n", co2Ppm); + Serial.printf("CO2 (ppm): %d\r\n", co2Ppm); } else { getCO2FailCount++; Serial.printf("Get CO2 failed: %d\r\n", getCO2FailCount); @@ -1082,7 +1082,7 @@ void webServerHandler(void *param) { static void webServerInit(void) { String host = "airgradient_" + getDevId(); if (!MDNS.begin(host)) { - Serial.println("Init MDNS failed"); + Serial.println("Init mDNS failed"); return; } @@ -1171,9 +1171,9 @@ static void createMqttTask(void) { String topic = "airgradient/readings/" + getDevId(); if (agMqtt.publish(topic.c_str(), syncData.c_str(), syncData.length())) { - Serial.println("Mqtt sync success"); + Serial.println("MQTT sync success"); } else { - Serial.println("Mqtt sync failure"); + Serial.println("MQTT sync failure"); } } } @@ -1336,7 +1336,7 @@ static void displayShowDashboard(String err) { u8g2.drawStr(105, 10, strBuf); } } else { - Serial.println("Disp show error: " + err); + Serial.println("Display show error: " + err); int strWidth = u8g2.getStrWidth(err.c_str()); u8g2.drawStr((126 - strWidth) / 2, 10, err.c_str()); @@ -1753,7 +1753,7 @@ static void updateServerConfiguration(void) { if (hasSensorS8) { co2Calibration(); } else { - Serial.println("CO2 S8 not available, calib ignored"); + Serial.println("CO2 S8 not available, calibration ignored"); } } @@ -1765,13 +1765,13 @@ static void updateServerConfiguration(void) { int curHour = ag.s8.getAbcPeriod(); Serial.printf("Current config: %d (hours)\r\n", curHour); if (curHour == newHour) { - Serial.println("set 'abcDays' ignored"); + Serial.println("Set 'abcDays' ignored"); } else { if (ag.s8.setAbcPeriod(agServer.getCo2AbcDaysConfig() * 24) == false) { - Serial.println("Set S8 abcDays period calib failed"); + Serial.println("Set S8 abcDays period calibration failed"); } else { - Serial.println("Set S8 abcDays period calib success"); + Serial.println("Set S8 abcDays period calibration success"); } } } else { @@ -1796,10 +1796,10 @@ static void updateServerConfiguration(void) { mqttTask = NULL; } if (agMqtt.begin(mqttUri)) { - Serial.println("Connect to new mqtt broker success"); + Serial.println("Connect to MQTT broker successful"); createMqttTask(); } else { - Serial.println("Connect to new mqtt broker failed"); + Serial.println("Connect to MQTT broker failed"); } } } @@ -2204,10 +2204,10 @@ static void tvocUpdate(void) { noxRawIndex = ag.sgp41.getNoxRaw(); Serial.println(); - Serial.printf(" TVOC index: %d\r\n", tvocIndex); - Serial.printf("TVOC raw index: %d\r\n", tvocRawIndex); - Serial.printf(" NOx index: %d\r\n", noxIndex); - Serial.printf(" NOx raw index: %d\r\n", noxRawIndex); + Serial.printf("TVOC index: %d\r\n", tvocIndex); + Serial.printf("TVOC raw: %d\r\n", tvocRawIndex); + Serial.printf("NOx index: %d\r\n", noxIndex); + Serial.printf("NOx raw: %d\r\n", noxRawIndex); } /** @@ -2222,14 +2222,14 @@ static void pmUpdate(void) { pm03PCount = ag.pms5003.getPm03ParticleCount(); Serial.println(); - Serial.printf(" PMS0.1: %d\r\n", pm01); - Serial.printf(" PMS2.5: %d\r\n", pm25); - Serial.printf(" PMS10.0: %d\r\n", pm10); - Serial.printf("PMS3.0 Count: %d\r\n", pm03PCount); + Serial.printf("PM1 ug/m3: %d\r\n", pm01); + Serial.printf("PM2.5 ug/m3: %d\r\n", pm25); + Serial.printf("PM10 ug/m3: %d\r\n", pm10); + Serial.printf("PM0.3 Count: %d\r\n", pm03PCount); pmFailCount = 0; } else { pmFailCount++; - Serial.printf("PM read failed: %d\r\n", pmFailCount); + Serial.printf("PMS read failed: %d\r\n", pmFailCount); if (pmFailCount >= 3) { pm01 = -1; pm25 = -1; @@ -2261,10 +2261,10 @@ static void tempHumUpdate(void) { temp = ag.sht.getTemperature(); hum = ag.sht.getRelativeHumidity(); - Serial.printf("Temperature: %0.2f\r\n", temp); - Serial.printf(" Humidity: %d\r\n", hum); + Serial.printf("Temperature in C: %0.2f\r\n", temp); + Serial.printf("Relative Humidity: %d\r\n", hum); } else { - Serial.println("Measure SHT failed"); + Serial.println("SHT read failed"); } } diff --git a/examples/Open_Air/Open_Air.ino b/examples/Open_Air/Open_Air.ino index e13f066..b2c880a 100644 --- a/examples/Open_Air/Open_Air.ino +++ b/examples/Open_Air/Open_Air.ino @@ -430,13 +430,13 @@ public: */ void showServerConfig(void) { Serial.println("Server configuration: "); - Serial.printf(" inF: %s\r\n", config.inF ? "true" : "false"); - Serial.printf(" inUSAQI: %s\r\n", + Serial.printf("inF: %s\r\n", config.inF ? "true" : "false"); + Serial.printf("inUSAQI: %s\r\n", config.inUSAQI ? "true" : "false"); - Serial.printf(" useRGBLedBar: %d\r\n", (int)config.useRGBLedBar); - Serial.printf(" Model: %s\r\n", config.models); - Serial.printf(" Mqtt Broker: %s\r\n", config.mqttBrokers); - Serial.printf(" S8 calib period: %d\r\n", co2AbcCalib); + Serial.printf("useRGBLedBar: %d\r\n", (int)config.useRGBLedBar); + Serial.printf("Model: %s\r\n", config.models); + Serial.printf("MQTT Broker: %s\r\n", config.mqttBrokers); + Serial.printf("S8 calibration period: %d\r\n", co2AbcCalib); } /** @@ -567,19 +567,19 @@ public: /** init client */ client = esp_mqtt_client_init(&config); if (client == NULL) { - Serial.println("mqtt client init failed"); + Serial.println("MQTT client init failed"); return false; } /** Register event */ if (esp_mqtt_client_register_event(client, MQTT_EVENT_ANY, mqtt_event_handler, NULL) != ESP_OK) { - Serial.println("mqtt client register event failed"); + Serial.println("MQTT client register event failed"); return false; } if (esp_mqtt_client_start(client) != ESP_OK) { - Serial.println("mqtt client start failed"); + Serial.println("MQTT client start failed"); return false; } @@ -950,9 +950,9 @@ void boardInit(void) { if (hasSensorS8 == false) { fw_mode = FW_MODE_PP; - Serial.println("Can not detect SGP run mode 'PP'"); + Serial.println("Can not detect SGP run mode 'O-1PP'"); } else { - Serial.println("Can not detect SGP run mode 'PST' without SGP"); + Serial.println("Can not detect SGP run mode 'O-1PS'"); } } @@ -1016,7 +1016,7 @@ void failedHandler(String msg) { void co2Calibration(void) { /** Count down for co2CalibCountdown secs */ for (int i = 0; i < SENSOR_CO2_CALIB_COUNTDOWN_MAX; i++) { - Serial.printf("Start CO2 calib after %d sec\r\n", + Serial.printf("Start CO2 calibration after %d sec\r\n", SENSOR_CO2_CALIB_COUNTDOWN_MAX - i); delay(1000); } @@ -1024,16 +1024,16 @@ void co2Calibration(void) { if (ag.s8.setBaselineCalibration()) { Serial.println("Calibration success"); delay(1000); - Serial.println("Wait for calib finish..."); + Serial.println("Wait for calibration to finish..."); int count = 0; while (ag.s8.isBaseLineCalibrationDone() == false) { delay(1000); count++; } - Serial.printf("Calib finish after %d sec\r\n", count); + Serial.printf("Calibration finished after %d sec\r\n", count); delay(2000); } else { - Serial.println("Calibration failure!!!"); + Serial.println("Calibration failure"); delay(2000); } } @@ -1055,7 +1055,7 @@ static void updateWiFiConnect(void) { lastRetry = millis(); WiFi.reconnect(); - Serial.printf("Re-Connect WiFi\r\n"); + Serial.printf("Re-Connect to WiFi\r\n"); } } @@ -1070,10 +1070,10 @@ static void tvocUpdate(void) { noxRawIndex = ag.sgp41.getNoxRaw(); Serial.println(); - Serial.printf(" TVOC index: %d\r\n", tvocIndex); - Serial.printf("TVOC raw index: %d\r\n", tvocRawIndex); - Serial.printf(" NOx index: %d\r\n", noxIndex); - Serial.printf(" NOx raw index: %d\r\n", noxRawIndex); + Serial.printf("TVOC index: %d\r\n", tvocIndex); + Serial.printf("TVOC raw: %d\r\n", tvocRawIndex); + Serial.printf("NOx index: %d\r\n", noxIndex); + Serial.printf("NOx raw: %d\r\n", noxRawIndex); } /** @@ -1094,12 +1094,12 @@ static void pmUpdate(void) { pmsResult_1 = true; Serial.println(); - Serial.printf("[1] PMS0.1: %d\r\n", pm01_1); - Serial.printf("[1] PMS2.5: %d\r\n", pm25_1); - Serial.printf("[1] PMS10.0: %d\r\n", pm10_1); - Serial.printf("[1]PMS3.0 Count: %d\r\n", pm03PCount_1); - Serial.printf("[1] Temperature: %0.2f\r\n", temp_1); - Serial.printf("[1] Humidity: %d\r\n", hum_1); + Serial.printf("[1] PM1 ug/m3: %d\r\n", pm01_1); + Serial.printf("[1] PM2.5 ug/m3: %d\r\n", pm25_1); + Serial.printf("[1] PM10 ug/m3: %d\r\n", pm10_1); + Serial.printf("[1] PM3.0 Count: %d\r\n", pm03PCount_1); + Serial.printf("[1] Temperature in C: %0.2f\r\n", temp_1); + Serial.printf("[1] Relative Humidity: %d\r\n", hum_1); } else { pm01_1 = -1; pm25_1 = -1; @@ -1120,12 +1120,12 @@ static void pmUpdate(void) { pmsResult_2 = true; Serial.println(); - Serial.printf("[2] PMS0.1: %d\r\n", pm01_2); - Serial.printf("[2] PMS2.5: %d\r\n", pm25_2); - Serial.printf("[2] PMS10.0: %d\r\n", pm10_2); - Serial.printf("[2]PMS3.0 Count: %d\r\n", pm03PCount_2); - Serial.printf("[2] Temperature: %0.2f\r\n", temp_2); - Serial.printf("[2] Humidity: %d\r\n", hum_2); + Serial.printf("[2] PM1 ug/m3: %d\r\n", pm01_2); + Serial.printf("[2] PM2.5 ug/m3: %d\r\n", pm25_2); + Serial.printf("[2] PM10 ug/m3: %d\r\n", pm10_2); + Serial.printf("[2] PM3.0 Count: %d\r\n", pm03PCount_2); + Serial.printf("[2] Temperature in C: %0.2f\r\n", temp_2); + Serial.printf("[2] Relative Humidity: %d\r\n", hum_2); } else { pm01_2 = -1; pm25_2 = -1; @@ -1193,7 +1193,7 @@ static void co2Update(void) { if (value >= 0) { co2Ppm = value; getCO2FailCount = 0; - Serial.printf("CO2 index: %d\r\n", co2Ppm); + Serial.printf("CO2 ppm: %d\r\n", co2Ppm); } else { getCO2FailCount++; Serial.printf("Get CO2 failed: %d\r\n", getCO2FailCount); @@ -1211,7 +1211,7 @@ static void updateServerConfiguration(void) { if (hasSensorS8) { co2Calibration(); } else { - Serial.println("CO2 S8 not available, calib ignored"); + Serial.println("CO2 S8 not available, calibration ignored"); } } @@ -1223,13 +1223,13 @@ static void updateServerConfiguration(void) { int curHour = ag.s8.getAbcPeriod(); Serial.printf("Current config: %d (hours)\r\n", curHour); if (curHour == newHour) { - Serial.println("set 'abcDays' ignored"); + Serial.println("Set 'abcDays' ignored"); } else { if (ag.s8.setAbcPeriod(agServer.getCo2AbcDaysConfig() * 24) == false) { - Serial.println("Set S8 abcDays period calib failed"); + Serial.println("Set S8 abcDays period calibration failed"); } else { - Serial.println("Set S8 abcDays period calib success"); + Serial.println("Set S8 abcDays period calibration success"); } } } @@ -1246,10 +1246,10 @@ static void updateServerConfiguration(void) { mqttTask = NULL; } if (agMqtt.begin(mqttUri)) { - Serial.println("Connect to new mqtt broker success"); + Serial.println("Connect to MQTT broker successful"); createMqttTask(); } else { - Serial.println("Connect to new mqtt broker failed"); + Serial.println("Connect to MQTT broker failed"); } } } diff --git a/library.properties b/library.properties index 82ed8a0..37e65a9 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=AirGradient Air Quality Sensor -version=3.0.6 +version=3.0.7 author=AirGradient maintainer=AirGradient sentence=ESP32-C3 / ESP8266 library for air quality monitor measuring PM, CO2, Temperature, TVOC and Humidity with OLED display. diff --git a/src/AirGradient.cpp b/src/AirGradient.cpp index 0cff980..294d0db 100644 --- a/src/AirGradient.cpp +++ b/src/AirGradient.cpp @@ -1,6 +1,6 @@ #include "AirGradient.h" -#define AG_LIB_VER "3.0.6" +#define AG_LIB_VER "3.0.7" AirGradient::AirGradient(BoardType type) : pms5003(type), pms5003t_1(type), pms5003t_2(type), s8(type), sgp41(type), From df937fe65febcd19cccfd786dc5299874834ade4 Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Thu, 7 Mar 2024 21:30:42 +0700 Subject: [PATCH 2/4] update mDNS servicce and attribute --- examples/ONE/ONE.ino | 14 ++++++++++---- examples/Open_Air/Open_Air.ino | 33 +++++++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/examples/ONE/ONE.ino b/examples/ONE/ONE.ino index e767902..02aae85 100644 --- a/examples/ONE/ONE.ino +++ b/examples/ONE/ONE.ino @@ -430,8 +430,7 @@ public: void showServerConfig(void) { Serial.println("Server configuration: "); Serial.printf("inF: %s\r\n", config.inF ? "true" : "false"); - Serial.printf("inUSAQI: %s\r\n", - config.inUSAQI ? "true" : "false"); + Serial.printf("inUSAQI: %s\r\n", config.inUSAQI ? "true" : "false"); Serial.printf("useRGBLedBar: %d\r\n", (int)config.useRGBLedBar); Serial.printf("Model: %s\r\n", config.models); Serial.printf("MQTT Broker: %s\r\n", config.mqttBrokers); @@ -711,7 +710,7 @@ bool hasSensorSGP = true; bool hasSensorSHT = true; int pmFailCount = 0; uint32_t factoryBtnPressTime = 0; -String mdnsModelName = ""; +String mdnsModelName = "I-9PSL"; int getCO2FailCount = 0; AgSchedule dispLedSchedule(DISP_UPDATE_INTERVAL, displayAndLedBarUpdate); AgSchedule configSchedule(SERVER_CONFIG_UPDATE_INTERVAL, @@ -1091,9 +1090,16 @@ static void webServerInit(void) { webServer.on("/metrics", HTTP_GET, webServerMetricsGet); webServer.begin(); MDNS.addService("http", "tcp", 80); - MDNS.addServiceTxt("http", "_tcp", "model", ag.getBoardName()); + MDNS.addServiceTxt("http", "_tcp", "model", mdnsModelName); MDNS.addServiceTxt("http", "_tcp", "serialno", getDevId()); MDNS.addServiceTxt("http", "_tcp", "fw_ver", ag.getVersion()); + MDNS.addServiceTxt("http", "_tcp", "vendor", "AirGradient"); + MDNS.addService("http", "tcp", 80); + MDNS.addService("_airgradient", "tcp", 80); + MDNS.addServiceTxt("airgradient", "_tcp", "model", mdnsModelName); + MDNS.addServiceTxt("airgradient", "_tcp", "serialno", getDevId()); + MDNS.addServiceTxt("airgradient", "_tcp", "fw_ver", ag.getVersion()); + MDNS.addServiceTxt("airgradient", "_tcp", "vendor", "AirGradient"); if (xTaskCreate(webServerHandler, "webserver", 1024 * 4, NULL, 5, NULL) != pdTRUE) { diff --git a/examples/Open_Air/Open_Air.ino b/examples/Open_Air/Open_Air.ino index b2c880a..f614f90 100644 --- a/examples/Open_Air/Open_Air.ino +++ b/examples/Open_Air/Open_Air.ino @@ -431,8 +431,7 @@ public: void showServerConfig(void) { Serial.println("Server configuration: "); Serial.printf("inF: %s\r\n", config.inF ? "true" : "false"); - Serial.printf("inUSAQI: %s\r\n", - config.inUSAQI ? "true" : "false"); + Serial.printf("inUSAQI: %s\r\n", config.inUSAQI ? "true" : "false"); Serial.printf("useRGBLedBar: %d\r\n", (int)config.useRGBLedBar); Serial.printf("Model: %s\r\n", config.models); Serial.printf("MQTT Broker: %s\r\n", config.mqttBrokers); @@ -701,7 +700,8 @@ const int targetCount = 20; enum { FW_MODE_PST, /** PMS5003T, S8 and SGP41 */ FW_MODE_PPT, /** PMS5003T_1, PMS5003T_2, SGP41 */ - FW_MODE_PP /** PMS5003T_1, PMS5003T_2 */ + FW_MODE_PP, /** PMS5003T_1, PMS5003T_2 */ + FW_MDOE_PS /** PMS5003T, S8 */ }; int fw_mode = FW_MODE_PST; @@ -953,6 +953,7 @@ void boardInit(void) { Serial.println("Can not detect SGP run mode 'O-1PP'"); } else { Serial.println("Can not detect SGP run mode 'O-1PS'"); + fw_mode = FW_MDOE_PS; } } @@ -1004,6 +1005,21 @@ void boardInit(void) { } Serial.printf("Firmware Mode: %s\r\n", getFwMode(fw_mode)); + switch (fw_mode) { + case FW_MODE_PP: + mdnsModelName = "O-1PP"; + break; + case FW_MODE_PPT: + mdnsModelName = "O-1PPT"; + break; + case FW_MODE_PST: + mdnsModelName = "O-1PST"; + break; + case FW_MDOE_PS: + mdnsModelName = "0-1PS"; + default: + break; + } } void failedHandler(String msg) { @@ -1366,6 +1382,8 @@ static const char *getFwMode(int mode) { return "FW_MODE_PPT"; case FW_MODE_PP: return "FW_MODE_PP"; + case FW_MDOE_PS: + return "FW_MODE_PS"; default: break; } @@ -1394,9 +1412,16 @@ static void webServerInit(void) { webServer.on("/measures/current", HTTP_GET, webServerMeasureCurrentGet); webServer.begin(); MDNS.addService("http", "tcp", 80); - MDNS.addServiceTxt("http", "_tcp", "model", ag.getBoardName()); + MDNS.addServiceTxt("http", "_tcp", "model", mdnsModelName); MDNS.addServiceTxt("http", "_tcp", "serialno", getDevId()); MDNS.addServiceTxt("http", "_tcp", "fw_ver", ag.getVersion()); + MDNS.addServiceTxt("http", "_tcp", "vendor", "AirGradient"); + MDNS.addService("http", "tcp", 80); + MDNS.addService("_airgradient", "tcp", 80); + MDNS.addServiceTxt("airgradient", "_tcp", "model", mdnsModelName); + MDNS.addServiceTxt("airgradient", "_tcp", "serialno", getDevId()); + MDNS.addServiceTxt("airgradient", "_tcp", "fw_ver", ag.getVersion()); + MDNS.addServiceTxt("airgradient", "_tcp", "vendor", "AirGradient"); if (xTaskCreate(webServerHandler, "webserver", 1024 * 4, NULL, 5, NULL) != pdTRUE) { From d99881aa4632caf8cd5e36d9f611d8a4957f9e30 Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Thu, 7 Mar 2024 21:44:46 +0700 Subject: [PATCH 3/4] update: Connect to Dashboard show also S/N --- examples/ONE/ONE.ino | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/examples/ONE/ONE.ino b/examples/ONE/ONE.ino index 02aae85..e279d19 100644 --- a/examples/ONE/ONE.ino +++ b/examples/ONE/ONE.ino @@ -365,7 +365,7 @@ public: * @return true Failed * @return false Success */ - bool isConfigFailed(void) { return configFailed; } + bool isConfigFailed(void) { return true; /* configFailed; */} /** * @brief Get status of post server configuration is failed @@ -712,6 +712,8 @@ int pmFailCount = 0; uint32_t factoryBtnPressTime = 0; String mdnsModelName = "I-9PSL"; int getCO2FailCount = 0; +uint32_t addToDashboardTime; +bool isAddToDashboard = true; AgSchedule dispLedSchedule(DISP_UPDATE_INTERVAL, displayAndLedBarUpdate); AgSchedule configSchedule(SERVER_CONFIG_UPDATE_INTERVAL, updateServerConfiguration); @@ -2108,7 +2110,16 @@ static void dispSmHandler(int sm) { break; } case APP_SM_SENSOR_CONFIG_FAILED: { - displayShowDashboard("Add to Dashboard"); + uint32_t ms = (uint32_t)(millis() - addToDashboardTime); + if (ms >= 5000) { + addToDashboardTime = millis(); + if (isAddToDashboard) { + displayShowDashboard("Add to Dashboard"); + } else { + displayShowDashboard(getDevId()); + } + isAddToDashboard = !isAddToDashboard; + } break; } case APP_SM_NORMAL: { From 78b1b0975c3faa06e707344701390cf177d743f4 Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Thu, 7 Mar 2024 21:48:13 +0700 Subject: [PATCH 4/4] update: Connect to Dashboard show also S/N, remove test code --- examples/ONE/ONE.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ONE/ONE.ino b/examples/ONE/ONE.ino index e279d19..fde5c3c 100644 --- a/examples/ONE/ONE.ino +++ b/examples/ONE/ONE.ino @@ -365,7 +365,7 @@ public: * @return true Failed * @return false Success */ - bool isConfigFailed(void) { return true; /* configFailed; */} + bool isConfigFailed(void) { return configFailed; } /** * @brief Get status of post server configuration is failed