From 34ebe9601ac76d32a7842ee4473ee3d962e9b61f Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sun, 16 Oct 2022 18:31:11 +0200 Subject: [PATCH 1/4] Changed blink behaviour --- src/HwTools.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/HwTools.cpp b/src/HwTools.cpp index 1b0a3b01..7683621b 100644 --- a/src/HwTools.cpp +++ b/src/HwTools.cpp @@ -371,10 +371,10 @@ bool HwTools::ledOff(uint8_t color) { bool HwTools::ledBlink(uint8_t color, uint8_t blink) { for(int i = 0; i < blink; i++) { if(!ledOn(color)) return false; - delay(150); + delay(50); ledOff(color); if(i != blink-1) - delay(250); + delay(200); } return true; } From f446dff8653bcc0118a01fe39e3b7289d940282e Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Mon, 17 Oct 2022 13:09:04 +0200 Subject: [PATCH 2/4] Fixed LED blink delay --- src/HwTools.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/HwTools.cpp b/src/HwTools.cpp index 7683621b..fc185fab 100644 --- a/src/HwTools.cpp +++ b/src/HwTools.cpp @@ -373,8 +373,7 @@ bool HwTools::ledBlink(uint8_t color, uint8_t blink) { if(!ledOn(color)) return false; delay(50); ledOff(color); - if(i != blink-1) - delay(200); + delay(200); } return true; } From 8ac1e034b17e9adbcc74f31f6c153fae5d6ae7b4 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Mon, 17 Oct 2022 13:09:28 +0200 Subject: [PATCH 3/4] Reverted WiFi_connect method --- src/AmsToMqttBridge.ino | 37 +++++++++---------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index 5d988fac..34a3e761 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -991,34 +991,17 @@ void debugPrint(byte *buffer, int start, int length) { Debug.println(""); } +unsigned long wifiTimeout = WIFI_CONNECTION_TIMEOUT; unsigned long lastWifiRetry = -WIFI_CONNECTION_TIMEOUT; void WiFi_connect() { + if(millis() - lastWifiRetry < wifiTimeout) { + delay(50); + return; + } + lastWifiRetry = millis(); + if (WiFi.status() != WL_CONNECTED) { - if(WiFi.status() == WL_DISCONNECTED) { - if(millis() - lastWifiRetry < WIFI_CONNECTION_TIMEOUT) { - return; - } - } if(WiFi.getMode() != WIFI_OFF) { - switch(WiFi.status()) { - case WL_NO_SSID_AVAIL: - debugE("WiFi error, no SSID available"); - break; - case WL_CONNECT_FAILED: - debugE("WiFi error, connection failed"); - break; - case WL_CONNECTION_LOST: - debugE("WiFi error, connection lost"); - break; - #if defined(ESP8266) - case WL_WRONG_PASSWORD: - debugE("WiFi error, wrong password"); - break; - #endif - default: - debugE("WiFi error, %d", WiFi.status()); - break; - } if(wifiReconnectCount > 3) { ESP.restart(); return; @@ -1052,13 +1035,11 @@ void WiFi_connect() { WiFi.softAPdisconnect(true); WiFi.enableAP(false); WiFi.mode(WIFI_OFF); - #if defined(ESP8266) - WiFi.forceSleepBegin(); - #endif yield(); + wifiTimeout = 5000; return; } - lastWifiRetry = millis(); + wifiTimeout = WIFI_CONNECTION_TIMEOUT; WiFiConfig wifi; if(!config.getWiFiConfig(wifi) || strlen(wifi.ssid) == 0) { From 39b68aca514993cbcdd87e02d42789151a4bfe6f Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Tue, 18 Oct 2022 18:30:26 +0200 Subject: [PATCH 4/4] Removed invalid code --- src/IEC6205675.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/IEC6205675.cpp b/src/IEC6205675.cpp index 8a4ccab6..6b4dd3ba 100644 --- a/src/IEC6205675.cpp +++ b/src/IEC6205675.cpp @@ -371,13 +371,11 @@ IEC6205675::IEC6205675(const char* d, uint8_t useMeterType, MeterConfig* meterCo memcpy(str, mid->oct.data, mid->oct.length); str[mid->oct.length] = 0x00; meterId = String(str); - meterId[mid->str.length] = 0; break; case CosemTypeOctetString: memcpy(str, mid->str.data, mid->str.length); str[mid->str.length] = 0x00; meterId = String(str); - meterId[mid->str.length] = 0; break; } }