diff --git a/examples/ONE_I-9PSL/ONE_I-9PSL.ino b/examples/ONE_I-9PSL/ONE_I-9PSL.ino index 86942ba..1169b0f 100644 --- a/examples/ONE_I-9PSL/ONE_I-9PSL.ino +++ b/examples/ONE_I-9PSL/ONE_I-9PSL.ino @@ -930,6 +930,9 @@ static void webServerInit(void) { webServer.on("/measures/current", HTTP_GET, webServerMeasureCurrentGet); webServer.begin(); MDNS.addService("http", "tcp", 80); + MDNS.addServiceTxt("http", "_tcp", "board", ag.getBoardName()); + MDNS.addServiceTxt("http", "_tcp", "serialno", getDevId()); + MDNS.addServiceTxt("http", "_tcp", "fw_ver", ag.getVersion()); 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 7b30c54..5bda9ba 100644 --- a/examples/Open_Air/Open_Air.ino +++ b/examples/Open_Air/Open_Air.ino @@ -1330,6 +1330,9 @@ static void webServerInit(void) { webServer.on("/measures/current", HTTP_GET, webServerMeasureCurrentGet); webServer.begin(); MDNS.addService("http", "tcp", 80); + MDNS.addServiceTxt("http", "_tcp", "board", ag.getBoardName()); + MDNS.addServiceTxt("http", "_tcp", "serialno", getDevId()); + MDNS.addServiceTxt("http", "_tcp", "fw_ver", ag.getVersion()); if (xTaskCreate(webServerHandler, "webserver", 1024 * 4, NULL, 5, NULL) != pdTRUE) { @@ -1491,7 +1494,7 @@ static void factoryConfigReset(void) { ms = (uint32_t)(millis() - factoryBtnPressTime); if (ms > 10000) { ag.statusLed.setOff(); - + /** Stop MQTT task first */ if (mqttTask) { vTaskDelete(mqttTask); diff --git a/src/AirGradient.cpp b/src/AirGradient.cpp index 44d7305..d5969fa 100644 --- a/src/AirGradient.cpp +++ b/src/AirGradient.cpp @@ -40,3 +40,7 @@ BoardType AirGradient::getBoardType(void) { return boardType; } double AirGradient::round2(double value) { return (int)(value * 100 + 0.5) / 100.0; } + +String AirGradient::getBoardName(void) { + return String(getBoardDefName(boardType)); +} diff --git a/src/AirGradient.h b/src/AirGradient.h index 376f43d..01a451d 100644 --- a/src/AirGradient.h +++ b/src/AirGradient.h @@ -107,6 +107,13 @@ public: */ String getVersion(void); + /** + * @brief Get the Board Name object + * + * @return String + */ + String getBoardName(void); + /** * @brief Round double value with for 2 decimal * diff --git a/src/Main/BoardDef.cpp b/src/Main/BoardDef.cpp index 23fe603..738c2e9 100644 --- a/src/Main/BoardDef.cpp +++ b/src/Main/BoardDef.cpp @@ -335,6 +335,19 @@ const BoardDef *getBoardDef(BoardType def) { return &bsps[def]; } +/** + * @brief Get the Board Name + * + * @param type BoarType + * @return const char* + */ +const char *getBoardDefName(BoardType type) { + if (type >= _BOARD_MAX) { + return NULL; + } + return bsps[type].name; +} + #if defined(ESP8266) #define bspPrintf(c, ...) \ if (_debug != nullptr) { \ diff --git a/src/Main/BoardDef.h b/src/Main/BoardDef.h index 172d11e..1498f7d 100644 --- a/src/Main/BoardDef.h +++ b/src/Main/BoardDef.h @@ -83,6 +83,7 @@ struct BoardDef { }; const BoardDef *getBoardDef(BoardType def); +const char *getBoardDefName(BoardType type); void printBoardDef(Stream *_debug); #endif /** _AIR_GRADIENT_BOARD_DEF_H_ */