diff --git a/tools/esp8266/app.cpp b/tools/esp8266/app.cpp index 62636ff0..031e1568 100644 --- a/tools/esp8266/app.cpp +++ b/tools/esp8266/app.cpp @@ -739,6 +739,9 @@ void app::loadDefaultConfig(void) { mConfig.serialInterval = SERIAL_INTERVAL; mConfig.serialShowIv = false; mConfig.serialDebug = false; + + // Disclaimer + mConfig.disclaimer = false; } diff --git a/tools/esp8266/defines.h b/tools/esp8266/defines.h index 0d767f70..7c117cff 100644 --- a/tools/esp8266/defines.h +++ b/tools/esp8266/defines.h @@ -76,6 +76,7 @@ typedef enum { #define PWD_LEN 64 #define DEVNAME_LEN 16 #define CRC_LEN 2 // uint16_t +#define DISCLAIMER 1 #define INV_ADDR_LEN MAX_NUM_INVERTERS * 8 // uint64_t #define INV_NAME_LEN MAX_NUM_INVERTERS * MAX_NAME_LENGTH // char[] @@ -126,6 +127,9 @@ typedef struct { uint8_t pinIrq; uint8_t amplifierPower; + // Disclaimer + bool disclaimer; + // ntp char ntpAddr[NTP_ADDR_LEN]; uint16_t ntpPort; @@ -153,7 +157,8 @@ typedef struct { #define ADDR_START 0 #define ADDR_CFG_SYS ADDR_START -#define ADDR_WIFI_CRC ADDR_CFG_SYS + CFG_SYS_LEN +#define ADDR_DISCLAIMER ADDR_CFG_SYS + DISCLAIMER +#define ADDR_WIFI_CRC ADDR_DISCLAIMER + CFG_SYS_LEN #define ADDR_START_SETTINGS ADDR_WIFI_CRC + CRC_LEN #define ADDR_CFG ADDR_START_SETTINGS diff --git a/tools/esp8266/html/index.html b/tools/esp8266/html/index.html index c6db6ec9..a753ea4f 100644 --- a/tools/esp8266/html/index.html +++ b/tools/esp8266/html/index.html @@ -9,6 +9,20 @@

AHOY

+

Visualization

@@ -51,6 +65,11 @@ document.getElementById("version").innerHTML = "Git SHA: " + obj["build"] + " :: " + obj["version"]; document.getElementById("wifi_rssi").innerHTML = obj["wifi_rssi"];; + // Disclaimer + if(obj["disclaimer"] == false) { + sessionStorage.setItem("gDisclaimer", promptFunction()); + } + var date = new Date(obj["ts_now"] * 1000); var up = obj["ts_uptime"]; var days = parseInt(up / 86400) % 365; diff --git a/tools/esp8266/html/setup.html b/tools/esp8266/html/setup.html index 13643934..f31f8ae5 100644 --- a/tools/esp8266/html/setup.html +++ b/tools/esp8266/html/setup.html @@ -17,6 +17,7 @@ Device Host Name + @@ -271,6 +272,9 @@ parseRadio(root["radio"]); parseSerial(root["serial"]); } + + hiddenInput = document.getElementById("disclaimer") + hiddenInput.value = sessionStorage.getItem("gDisclaimer"); } getAjax("/api/setup", parse); diff --git a/tools/esp8266/web.cpp b/tools/esp8266/web.cpp index 1aadebc1..66b57988 100644 --- a/tools/esp8266/web.cpp +++ b/tools/esp8266/web.cpp @@ -277,6 +277,10 @@ void web::showSave(AsyncWebServerRequest *request) { if(request->arg("invRetry") != "") mConfig->maxRetransPerPyld = request->arg("invRetry").toInt(); + // Disclaimer + if(request->arg("disclaimer") != "") + mConfig->disclaimer = strcmp("true", request->arg("disclaimer").c_str()) == 0 ? true : false; + // pinout uint8_t pin; for(uint8_t i = 0; i < 3; i ++) { diff --git a/tools/esp8266/webApi.cpp b/tools/esp8266/webApi.cpp index 1a68aeb9..bdf32036 100644 --- a/tools/esp8266/webApi.cpp +++ b/tools/esp8266/webApi.cpp @@ -124,6 +124,7 @@ void webApi::getSystem(JsonObject obj) { obj[F("ts_uptime")] = mApp->getUptime(); obj[F("ts_now")] = mApp->getTimestamp(); obj[F("wifi_rssi")] = WiFi.RSSI(); + obj[F("disclaimer")] = mConfig->disclaimer; }