diff --git a/src/dev/device.cpp b/src/dev/device.cpp index 395a6e43..cf7deb75 100644 --- a/src/dev/device.cpp +++ b/src/dev/device.cpp @@ -1,2 +1,16 @@ /* MIT License - Copyright (c) 2019-2021 Francis Van Roie For full license information read the LICENSE file in the project folder */ + +#include "device.h" + +namespace dev { + +const char* BaseDevice::get_model() +{ +#ifdef HASP_MODEL + return HASP_MODEL; +#else + return PIOENV; +#endif +} +} // namespace dev \ No newline at end of file diff --git a/src/dev/device.h b/src/dev/device.h index 68d1867a..2cca34c7 100644 --- a/src/dev/device.h +++ b/src/dev/device.h @@ -41,6 +41,7 @@ class BaseDevice { { return ""; } + const char* get_model(); virtual void init() {} diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index 6cc4693a..66fe647f 100644 --- a/src/dev/esp32/esp32.cpp +++ b/src/dev/esp32/esp32.cpp @@ -37,14 +37,17 @@ const char* Esp32Device::get_hostname() { return _hostname.c_str(); } + void Esp32Device::set_hostname(const char* hostname) { _hostname = hostname; } + const char* Esp32Device::get_core_version() { return esp_get_idf_version(); // == ESP.getSdkVersion(); } + const char* Esp32Device::get_chip_model() { esp_chip_info_t chip_info; diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index f26e7b72..2fdeaaf7 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -926,8 +926,10 @@ void dispatch_output_statusupdate(const char*, const char*) haspGetVersion(buffer, sizeof(buffer)); dispatch_get_idle_state(hasp_sleep_state, topic); - snprintf_P(data, sizeof(data), PSTR("{\"node\":\"%s\",\"idle\":\"%s\",\"version\":\"%s\",\"uptime\":%lu,"), - haspDevice.get_hostname(), topic, buffer, long(millis() / 1000)); // \"status\":\"available\", + snprintf_P(data, sizeof(data), + PSTR("{\"node\":\"%s\",\"model\":\"%s\",\"idle\":\"%s\",\"version\":\"%s\",\"uptime\":%lu,"), + haspDevice.get_hostname(), haspDevice.get_model(), topic, buffer, + (unsigned long)(millis() / 1000)); // \"status\":\"available\", #if HASP_USE_WIFI > 0 || HASP_USE_ETHERNET > 0 network_get_statusupdate(buffer, sizeof(buffer)); diff --git a/src/sys/svc/hasp_http.cpp b/src/sys/svc/hasp_http.cpp index 7a74d919..cedad49f 100644 --- a/src/sys/svc/hasp_http.cpp +++ b/src/sys/svc/hasp_http.cpp @@ -528,6 +528,9 @@ void webHandleInfo() httpMessage += haspDevice.get_hostname(); httpMessage += F("
"); + httpMessage += F("HASP Model: "); + httpMessage += haspDevice.get_model(); + /* HASP Stats */ httpMessage += F("HASP Version: "); { diff --git a/user_setups/darwin_sdl/darwin_sdl_64bits.ini b/user_setups/darwin_sdl/darwin_sdl_64bits.ini index 65b99594..d26c7676 100644 --- a/user_setups/darwin_sdl/darwin_sdl_64bits.ini +++ b/user_setups/darwin_sdl/darwin_sdl_64bits.ini @@ -6,6 +6,8 @@ extra_scripts = tools/linux_build_extra.py build_flags = ${env.build_flags} + -D HASP_MODEL="MacOS X" + ; ----- Monitor -D TFT_WIDTH=240 -D TFT_HEIGHT=320 diff --git a/user_setups/esp32/arduitouch-esp32_ili9341.ini b/user_setups/esp32/arduitouch-esp32_ili9341.ini index aa540645..f822bb65 100644 --- a/user_setups/esp32/arduitouch-esp32_ili9341.ini +++ b/user_setups/esp32/arduitouch-esp32_ili9341.ini @@ -12,6 +12,7 @@ board = esp32dev build_flags = ${env.build_flags} ${esp32.build_flags} + -D HASP_MODEL="Arduitouch" ;region -- TFT_eSPI build options ------------------------ ${lcd.lolin24} diff --git a/user_setups/esp32/esp32-touchdown.ini b/user_setups/esp32/esp32-touchdown.ini index 61ae1322..d8bb6c3c 100644 --- a/user_setups/esp32/esp32-touchdown.ini +++ b/user_setups/esp32/esp32-touchdown.ini @@ -12,6 +12,7 @@ build_flags = ${env.build_flags} ${esp32.build_flags} ${esp32.vspi} ; Use VSPI hardware SPI bus + -D HASP_MODEL="ESP32-Touchdown" ;region -- TFT_eSPI build options ------------------------ -D USER_SETUP_LOADED=1 diff --git a/user_setups/esp32/freetouchdeck.ini b/user_setups/esp32/freetouchdeck.ini index 9bd6aebf..de662271 100644 --- a/user_setups/esp32/freetouchdeck.ini +++ b/user_setups/esp32/freetouchdeck.ini @@ -11,6 +11,7 @@ board = esp32dev build_flags = ${env.build_flags} ${esp32.build_flags} + -D HASP_MODEL="FreeTouchDeck" ;region -- TFT_eSPI build options ------------------------ -D USER_SETUP_LOADED=1 diff --git a/user_setups/esp32/huzzah32-featherwing-24.ini b/user_setups/esp32/huzzah32-featherwing-24.ini index 2c1d23fc..ed93df51 100644 --- a/user_setups/esp32/huzzah32-featherwing-24.ini +++ b/user_setups/esp32/huzzah32-featherwing-24.ini @@ -12,6 +12,8 @@ board = featheresp32 build_flags = ${env.build_flags} ${esp32.build_flags} + -D HASP_MODEL="Featherwing 2.4" + ;region -- TFT_eSPI build options ------------------------ ${lcd.featherwing-24} -D TFT_MISO=19 diff --git a/user_setups/esp32/huzzah32-featherwing-35.ini b/user_setups/esp32/huzzah32-featherwing-35.ini index 0555d4b4..1734b376 100644 --- a/user_setups/esp32/huzzah32-featherwing-35.ini +++ b/user_setups/esp32/huzzah32-featherwing-35.ini @@ -12,6 +12,8 @@ board = featheresp32 build_flags = ${env.build_flags} ${esp32.build_flags} + -D HASP_MODEL="Featherwing 3.5" + ;region -- TFT_eSPI build options ------------------------ ${lcd.featherwing-35} -D TFT_MISO=19 diff --git a/user_setups/esp32/lanbon_l8.ini b/user_setups/esp32/lanbon_l8.ini index 780fb0ab..0fad7ef0 100644 --- a/user_setups/esp32/lanbon_l8.ini +++ b/user_setups/esp32/lanbon_l8.ini @@ -17,6 +17,7 @@ build_flags = ${env.build_flags} ${esp32.build_flags} ${esp32.ps_ram} + -D HASP_MODEL="Lanbon L8" ;region -- TFT_eSPI build options ------------------------ ${lcd.st7789v} diff --git a/user_setups/esp32/m5stack_core2.ini b/user_setups/esp32/m5stack_core2.ini index 7eaa0427..9ca1a8b4 100644 --- a/user_setups/esp32/m5stack_core2.ini +++ b/user_setups/esp32/m5stack_core2.ini @@ -17,6 +17,7 @@ build_flags = ${env.build_flags} ${esp32.build_flags} ${esp32.ps_ram} + -D HASP_MODEL="M5Stack core2" ;region -- TFT_eSPI build options ------------------------ ${lcd.m5stack} diff --git a/user_setups/esp32/ttgo-esp32-lilygo-pi.ini b/user_setups/esp32/ttgo-esp32-lilygo-pi.ini index d6bffca3..13420a45 100644 --- a/user_setups/esp32/ttgo-esp32-lilygo-pi.ini +++ b/user_setups/esp32/ttgo-esp32-lilygo-pi.ini @@ -17,6 +17,7 @@ build_flags = ${env.build_flags} ${esp32.build_flags} ${esp32.ps_ram} + -D HASP_MODEL="TTGO Lilygo Pi" ;region -- TFT_eSPI build options ------------------------ -D ILI9481_DRIVER=1 diff --git a/user_setups/esp32/wt32-sc01.ini b/user_setups/esp32/wt32-sc01.ini index 7b489c3f..6dfeb9db 100644 --- a/user_setups/esp32/wt32-sc01.ini +++ b/user_setups/esp32/wt32-sc01.ini @@ -13,6 +13,7 @@ build_flags = ${env.build_flags} ${esp32.build_flags} ${esp32.ps_ram} + -D HASP_MODEL="WT32-SC01" ;region -- TFT_eSPI build options ------------------------ ${lcd.wt32-sc01} diff --git a/user_setups/linux_sdl/linux_sdl_64bits.ini b/user_setups/linux_sdl/linux_sdl_64bits.ini index 33fb9537..7750398d 100644 --- a/user_setups/linux_sdl/linux_sdl_64bits.ini +++ b/user_setups/linux_sdl/linux_sdl_64bits.ini @@ -5,6 +5,8 @@ extra_scripts = tools/linux_build_extra.py build_flags = ${env.build_flags} + -D HASP_MODEL="Posix Linux" + ; ----- Monitor -D TFT_WIDTH=240 -D TFT_HEIGHT=320 diff --git a/user_setups/win32/windows_sdl_64bits.ini b/user_setups/win32/windows_sdl_64bits.ini index a679a63d..40de8761 100644 --- a/user_setups/win32/windows_sdl_64bits.ini +++ b/user_setups/win32/windows_sdl_64bits.ini @@ -5,6 +5,8 @@ extra_scripts = tools/windows_build_extra.py build_flags = ${env.build_flags} + -D HASP_MODEL="Windows" + ; ----- Monitor -D TFT_WIDTH=240 -D TFT_HEIGHT=320