From 1431ca761531f96266d088fa4b8491f11d31a631 Mon Sep 17 00:00:00 2001 From: tablatronix Date: Wed, 17 Mar 2021 13:46:00 -0500 Subject: [PATCH 1/5] Revert "Merge pull request #1206 from cpainchaud/patch-1" This reverts commit 65d3affda3a68ef36b99af873b84d48cd6646c90, reversing changes made to fe8d2970a04fbd5bdb9f65f8c8f84c0031c32196. --- WiFiManager.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 7b64b40..f8ea289 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -86,12 +86,8 @@ void WiFiManagerParameter::setValue(const char *defaultValue, int length) { // // return false; //@todo bail // } - if(_length != length){ - _length = length; - if( _value != nullptr) - delete[] _value; - _value = new char[_length + 1]; - } + _length = length; + _value = new char[_length + 1]; memset(_value, 0, _length + 1); // explicit null if (defaultValue != NULL) { From cd9e2070c36dbb327ee6390922c7049ba307a551 Mon Sep 17 00:00:00 2001 From: tablatronix Date: Wed, 17 Mar 2021 14:41:54 -0500 Subject: [PATCH 2/5] fix bug in setconnecttimeout --- WiFiManager.cpp | 2 +- WiFiManager.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index f8ea289..7c48c19 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -1094,7 +1094,7 @@ uint8_t WiFiManager::waitForConnectResult() { * @param uint16_t timeout in seconds * @return uint8_t WL Status */ -uint8_t WiFiManager::waitForConnectResult(uint16_t timeout) { +uint8_t WiFiManager::waitForConnectResult(uint32_t timeout) { if (timeout == 0){ #ifdef WM_DEBUG_LEVEL DEBUG_WM(F("connectTimeout not set, ESP waitForConnectResult...")); diff --git a/WiFiManager.h b/WiFiManager.h index 9729fab..211f284 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -514,7 +514,7 @@ class WiFiManager bool wifiConnectNew(String ssid, String pass); uint8_t waitForConnectResult(); - uint8_t waitForConnectResult(uint16_t timeout); + uint8_t waitForConnectResult(uint32_t timeout); void updateConxResult(uint8_t status); // webserver handlers From 34e30277d7e9d39ef061aaf8a09325c8c04ce2d1 Mon Sep 17 00:00:00 2001 From: tablatronix Date: Wed, 17 Mar 2021 14:50:15 -0500 Subject: [PATCH 3/5] double debug --- WiFiManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 7c48c19..0439d7c 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -1084,7 +1084,7 @@ void WiFiManager::updateConxResult(uint8_t status){ uint8_t WiFiManager::waitForConnectResult() { #ifdef WM_DEBUG_LEVEL - if(_connectTimeout > 0) DEBUG_WM(DEBUG_VERBOSE,_connectTimeout,F("ms connectTimeout set")); + if(_connectTimeout > 0) DEBUG_WM(DEBUG_DEV,_connectTimeout,F("ms connectTimeout set")); #endif return waitForConnectResult(_connectTimeout); } From c47fc907a910bdddbe65a35cc7c78bc8dd8f0cc0 Mon Sep 17 00:00:00 2001 From: tablatronix Date: Wed, 17 Mar 2021 14:52:11 -0500 Subject: [PATCH 4/5] fix array sizes for info --- WiFiManager.cpp | 8 ++++---- examples/AutoConnect/AutoConnect.ino | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 examples/AutoConnect/AutoConnect.ino diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 0439d7c..b416ac2 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -1799,7 +1799,7 @@ void WiFiManager::handleInfo() { //@todo convert to enum or refactor to strings //@todo wrap in build flag to remove all info code for memory saving #ifdef ESP8266 - infos = 27; + infos = 29; String infoids[] = { F("esphead"), F("uptime"), @@ -1829,12 +1829,12 @@ void WiFiManager::handleInfo() { F("apssid"), F("apip"), F("apbssid"), - F("apmac"), + F("apmac") }; #elif defined(ESP32) // add esp_chip_info ? - infos = 25; + infos = 27; String infoids[] = { F("esphead"), F("uptime"), @@ -1862,7 +1862,7 @@ void WiFiManager::handleInfo() { F("apip"), F("apmac"), F("aphost"), - F("apbssid"), + F("apbssid") // F("temp") }; #endif diff --git a/examples/AutoConnect/AutoConnect.ino b/examples/AutoConnect/AutoConnect.ino new file mode 100644 index 0000000..88dd3ae --- /dev/null +++ b/examples/AutoConnect/AutoConnect.ino @@ -0,0 +1 @@ + //set custom ip for portal From 8bfc228695e8998bc3ff1ca0494ca0601bf5034f Mon Sep 17 00:00:00 2001 From: tablatronix Date: Thu, 18 Mar 2021 16:56:25 -0500 Subject: [PATCH 5/5] fix for numretries not bailing --- WiFiManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index b416ac2..d0c278a 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -909,7 +909,7 @@ uint8_t WiFiManager::connectWifi(String ssid, String pass) { if(_cleanConnect) WiFi_Disconnect(); // disconnect before begin, in case anything is hung, this causes a 2 seconds delay for connect // @todo find out what status is when this is needed, can we detect it and handle it, say in between states or idle_status - while(retry <= _connectRetries){ + while(retry <= _connectRetries && (connRes!=WL_CONNECTED)){ if(_connectRetries > 1){ #ifdef WM_DEBUG_LEVEL DEBUG_WM(F("Connect Wifi, ATTEMPT #"),(String)retry+" of "+(String)_connectRetries);