From d4911630aac1646d17fd217df5fca5922f342ca5 Mon Sep 17 00:00:00 2001 From: FloX Date: Thu, 15 Mar 2018 16:00:01 +0100 Subject: [PATCH 1/3] Update WiFiMulti.cpp added 5 sec timeout from ESP8266 --- libraries/WiFi/src/WiFiMulti.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index 41b40746072..77abe006890 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -119,7 +119,11 @@ uint8_t WiFiMulti::run(void) status = WiFi.status(); // wait for connection or fail - while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED) { + static const uint32_t connectTimeout = 5000; //5s timeout + + auto startTime = millis(); + // wait for connection, fail, or timeout + while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED && (millis() - startTime) <= connectTimeout) { delay(10); status = WiFi.status(); } From c7e6c77947b138dd40eb85de241f2baa30d75e1c Mon Sep 17 00:00:00 2001 From: FloX Date: Fri, 16 Mar 2018 10:17:57 +0100 Subject: [PATCH 2/3] Update WiFiMulti.cpp --- libraries/WiFi/src/WiFiMulti.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index 77abe006890..5a36cd6ea9f 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -42,7 +42,7 @@ bool WiFiMulti::addAP(const char* ssid, const char *passphrase) return APlistAdd(ssid, passphrase); } -uint8_t WiFiMulti::run(void) +uint8_t WiFiMulti::run(uint32_t connectTimeout) { int8_t scanResult; @@ -117,9 +117,6 @@ uint8_t WiFiMulti::run(void) WiFi.begin(bestNetwork.ssid, bestNetwork.passphrase, bestChannel, bestBSSID); status = WiFi.status(); - - // wait for connection or fail - static const uint32_t connectTimeout = 5000; //5s timeout auto startTime = millis(); // wait for connection, fail, or timeout From ce2325fbe9ef0a89b3014288d8510c101fbce1d4 Mon Sep 17 00:00:00 2001 From: FloX Date: Fri, 16 Mar 2018 10:18:35 +0100 Subject: [PATCH 3/3] Update WiFiMulti.h --- libraries/WiFi/src/WiFiMulti.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/WiFi/src/WiFiMulti.h b/libraries/WiFi/src/WiFiMulti.h index 500aada1a5c..d9939953ae7 100644 --- a/libraries/WiFi/src/WiFiMulti.h +++ b/libraries/WiFi/src/WiFiMulti.h @@ -54,7 +54,7 @@ class WiFiMulti bool addAP(const char* ssid, const char *passphrase = NULL); - uint8_t run(void); + uint8_t run(uint32_t connectTimeout=5000); private: std::vector APlist;