From ea96d2faa507d324b8e768a69f06892ec3dc1730 Mon Sep 17 00:00:00 2001 From: Mikael Bertze Date: Wed, 1 Jul 2020 11:31:24 +0200 Subject: [PATCH 1/2] Adds timeout parameter to run --- libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp | 4 +--- libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp index 531e76239a..de85c6d01a 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp @@ -46,7 +46,7 @@ bool ESP8266WiFiMulti::existsAP(const char* ssid, const char *passphrase) { return APlistExists(ssid, passphrase); } -wl_status_t ESP8266WiFiMulti::run(void) { +wl_status_t ESP8266WiFiMulti::run(uint32_t connectTimeout) { wl_status_t status = WiFi.status(); if(status == WL_DISCONNECTED || status == WL_NO_SSID_AVAIL || status == WL_IDLE_STATUS || status == WL_CONNECT_FAILED) { @@ -132,8 +132,6 @@ wl_status_t ESP8266WiFiMulti::run(void) { WiFi.begin(bestNetwork.ssid, bestNetwork.passphrase, bestChannel, bestBSSID); status = WiFi.status(); - - static const uint32_t connectTimeout = 5000; //5s timeout auto startTime = millis(); // wait for connection, fail, or timeout diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h index de87036186..256980dfee 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h @@ -55,7 +55,7 @@ class ESP8266WiFiMulti { bool addAP(const char* ssid, const char *passphrase = NULL); bool existsAP(const char* ssid, const char *passphrase = NULL); - wl_status_t run(void); + wl_status_t run(uint32_t connectTimeout=5000); void cleanAPlist(void); From 1f3dd57f9a8e2123a954a94ae54ef4156415991b Mon Sep 17 00:00:00 2001 From: Mikael Bertze Date: Wed, 1 Jul 2020 20:00:23 +0200 Subject: [PATCH 2/2] Renaming varaible to connectTimeoutMs --- libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp | 4 ++-- libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp index de85c6d01a..0887634f97 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp @@ -46,7 +46,7 @@ bool ESP8266WiFiMulti::existsAP(const char* ssid, const char *passphrase) { return APlistExists(ssid, passphrase); } -wl_status_t ESP8266WiFiMulti::run(uint32_t connectTimeout) { +wl_status_t ESP8266WiFiMulti::run(uint32_t connectTimeoutMs) { wl_status_t status = WiFi.status(); if(status == WL_DISCONNECTED || status == WL_NO_SSID_AVAIL || status == WL_IDLE_STATUS || status == WL_CONNECT_FAILED) { @@ -135,7 +135,7 @@ wl_status_t ESP8266WiFiMulti::run(uint32_t connectTimeout) { 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) { + while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED && (millis() - startTime) <= connectTimeoutMs) { delay(10); status = WiFi.status(); } diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h index 256980dfee..eae498e1c6 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h @@ -55,7 +55,7 @@ class ESP8266WiFiMulti { bool addAP(const char* ssid, const char *passphrase = NULL); bool existsAP(const char* ssid, const char *passphrase = NULL); - wl_status_t run(uint32_t connectTimeout=5000); + wl_status_t run(uint32_t connectTimeoutMs=5000); void cleanAPlist(void);