diff --git a/tools/esp8266/app.cpp b/tools/esp8266/app.cpp index dd7b4425..10a765a6 100644 --- a/tools/esp8266/app.cpp +++ b/tools/esp8266/app.cpp @@ -106,11 +106,16 @@ void app::setup(uint32_t timeout) { char addr[16] = {0}; sprintf(addr, "%d.%d.%d.%d", mqttAddr[0], mqttAddr[1], mqttAddr[2], mqttAddr[3]); - mMqttActive = (mqttAddr[0] > 0); + + if(mqttAddr[0] > 0) { + mMqttActive = true; + if(mMqttInterval < 1) + mMqttInterval = 1; + } + else + mMqttInterval = 0xffff; - if(mMqttInterval < 1) - mMqttInterval = 1; mMqtt.setup(addr, mqttTopic, mqttUser, mqttPwd, mqttPort); mMqttTicker = 0; @@ -118,6 +123,15 @@ void app::setup(uint32_t timeout) { mMqtt.sendMsg("version", mVersion); } + else { + DPRINTLN(F("Settings not valid, erasing ...")); + eraseSettings(); + saveValues(false); + delay(100); + DPRINTLN(F("... restarting ...")); + delay(100); + ESP.restart(); + } mSys->setup(); @@ -731,6 +745,7 @@ void app::saveValues(bool webSend = true) { } } else { + updateCrc(); mWeb->send(200, F("text/html"), F("
Error while saving
")); } diff --git a/tools/esp8266/defines.h b/tools/esp8266/defines.h index 37f8c024..147e8829 100644 --- a/tools/esp8266/defines.h +++ b/tools/esp8266/defines.h @@ -16,7 +16,7 @@ //------------------------------------- #define VERSION_MAJOR 0 #define VERSION_MINOR 4 -#define VERSION_PATCH 11 +#define VERSION_PATCH 13 //------------------------------------- diff --git a/tools/esp8266/main.cpp b/tools/esp8266/main.cpp index 5d4bc974..e5e89a31 100644 --- a/tools/esp8266/main.cpp +++ b/tools/esp8266/main.cpp @@ -126,28 +126,11 @@ bool Main::getConfig(void) { mEep->read(ADDR_DEVNAME, mDeviceName, DEVNAME_LEN); } else { - /*mApActive = true; - memset(mStationSsid, 0, SSID_LEN); - memset(mStationPwd, 0, PWD_LEN); - memset(mDeviceName, 0, DEVNAME_LEN); - - // erase application settings except wifi settings - eraseSettings();*/ snprintf(mStationSsid, SSID_LEN, "%s", FB_WIFI_SSID); snprintf(mStationPwd, PWD_LEN, "%s", FB_WIFI_PWD); snprintf(mDeviceName, DEVNAME_LEN, "%s", DEF_DEVICE_NAME); } - if(!mSettingsValid) { - DPRINTLN(F("Settings not valid, erasing ...")); - eraseSettings(); - saveValues(false); - delay(100); - DPRINTLN(F("... restarting ...")); - delay(100); - ESP.restart(); - } - return mApActive; } diff --git a/tools/esp8266/main.h b/tools/esp8266/main.h index 7523cfc2..d2e60565 100644 --- a/tools/esp8266/main.h +++ b/tools/esp8266/main.h @@ -50,6 +50,7 @@ class Main { uint16_t crcRd, crcCheck; crcCheck = buildEEpCrc(start, length); mEep->read(crcPos, &crcRd); + //DPRINTLN("CRC RD: " + String(crcRd, HEX) + " CRC CALC: " + String(crcCheck, HEX)); return (crcCheck == crcRd); }