From 6795475e03650702230757d15a17926cec04849e Mon Sep 17 00:00:00 2001 From: 1technophile <1technophile@users.noreply.github.com> Date: Fri, 26 Jul 2019 12:34:29 +0200 Subject: [PATCH] differenciate handling of disconnection between ESP and other boards --- main/main.ino | 52 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/main/main.ino b/main/main.ino index 03ffc98..85c6a7c 100644 --- a/main/main.ino +++ b/main/main.ino @@ -831,28 +831,40 @@ void loop() trc("client disconnected"); lastReconnectAttempt = now; // Attempt to reconnect - if (WiFi.status() == WL_CONNECTED){ - if (reconnect()) { - lastReconnectAttempt = 0; - } else { - #if defined(ESPWifiManualSetup) - trc(F("restarting ESP")); - #ifdef ESP32 - ESP.restart(); + #if defined(ESP8266) || defined(ESP32) + if (WiFi.status() == WL_CONNECTED){ + if (reconnect()) { + lastReconnectAttempt = 0; + } else { + #if defined(ESPWifiManualSetup) + trc(F("restarting ESP")); + #ifdef ESP32 + ESP.restart(); + #endif + #ifdef ESP8266 + ESP.reset(); + #endif + #else + if (!connectedOnce) { + trc(F("reseting wifi manager")); + setup_wifimanager(true); // if we didn't connected once to mqtt we reset and start in AP mode again to have a chance to change the parameters + } #endif - #ifdef ESP8266 - ESP.reset(); - #endif - #elif defined(ESP8266) || defined(ESP32) - if (!connectedOnce) { - trc(F("reseting wifi manager")); - setup_wifimanager(true); // if we didn't connected once to mqtt we reset and start in AP mode again to have a chance to change the parameters - } - #endif + } + }else{ + trc("wifi disconnected"); } - }else{ - trc("wifi disconnected"); - } + #else //other boards + if (Ethernet.linkStatus() == LinkON){ + if (reconnect()) { + lastReconnectAttempt = 0; + } else { + trc(F("brk disconnected")); + } + }else{ + trc("eth disconnected"); + } + #endif } } else { //connected // MQTT loop