From 159674bbbafa544ef07c08654a34840230b609b1 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Wed, 21 Feb 2018 14:50:42 +0100 Subject: [PATCH 1/2] allow user loop while in AP mode --- WiFiManager.cpp | 4 ++++ WiFiManager.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 1e6d805..a0d5948 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -252,6 +252,10 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo break; } } + + if (_loop) + _loop(); + yield(); } diff --git a/WiFiManager.h b/WiFiManager.h index 3da163e..7a18462 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -118,6 +118,8 @@ class WiFiManager //if this is true, remove duplicated Access Points - defaut true void setRemoveDuplicateAPs(boolean removeDuplicates); + void setUserLoopInAP (void (*loop)()) { _loop = loop; } + private: std::unique_ptr dnsServer; std::unique_ptr server; @@ -137,6 +139,7 @@ class WiFiManager unsigned long _configPortalTimeout = 0; unsigned long _connectTimeout = 0; unsigned long _configPortalStart = 0; + void (*_loop)() = 0; IPAddress _ap_static_ip; IPAddress _ap_static_gw; From f26638e38b049ea165bd4a9153c9dad4b382eaea Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Fri, 30 Aug 2019 15:38:36 +0200 Subject: [PATCH 2/2] hotfix: rename internal HTTP_HEAD to HTTP_HEADER --- WiFiManager.cpp | 24 ++++++++++-------------- WiFiManager.h | 9 +++------ 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index dd56cca..93a70c1 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -263,10 +263,6 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo break; } } - - if (_loop) - _loop(); - yield(); } @@ -424,12 +420,12 @@ void WiFiManager::handleRoot() { return; } - String page = FPSTR(HTTP_HEAD); + String page = FPSTR(HTTP_HEADER); page.replace("{v}", "Options"); page += FPSTR(HTTP_SCRIPT); page += FPSTR(HTTP_STYLE); page += _customHeadElement; - page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_HEADER_END); page += String(F("

")); page += _apName; page += String(F("

")); @@ -445,12 +441,12 @@ void WiFiManager::handleRoot() { /** Wifi config page handler */ void WiFiManager::handleWifi(boolean scan) { - String page = FPSTR(HTTP_HEAD); + String page = FPSTR(HTTP_HEADER); page.replace("{v}", "Config ESP"); page += FPSTR(HTTP_SCRIPT); page += FPSTR(HTTP_STYLE); page += _customHeadElement; - page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_HEADER_END); if (scan) { int n = WiFi.scanNetworks(); @@ -640,12 +636,12 @@ void WiFiManager::handleWifiSave() { optionalIPFromString(&_sta_static_sn, sn.c_str()); } - String page = FPSTR(HTTP_HEAD); + String page = FPSTR(HTTP_HEADER); page.replace("{v}", "Credentials Saved"); page += FPSTR(HTTP_SCRIPT); page += FPSTR(HTTP_STYLE); page += _customHeadElement; - page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_HEADER_END); page += FPSTR(HTTP_SAVED); page += FPSTR(HTTP_END); @@ -661,12 +657,12 @@ void WiFiManager::handleWifiSave() { void WiFiManager::handleInfo() { DEBUG_WM(F("Info")); - String page = FPSTR(HTTP_HEAD); + String page = FPSTR(HTTP_HEADER); page.replace("{v}", "Info"); page += FPSTR(HTTP_SCRIPT); page += FPSTR(HTTP_STYLE); page += _customHeadElement; - page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_HEADER_END); page += F("
"); page += F("
Chip ID
"); page += ESP.getChipId(); @@ -702,12 +698,12 @@ void WiFiManager::handleInfo() { void WiFiManager::handleReset() { DEBUG_WM(F("Reset")); - String page = FPSTR(HTTP_HEAD); + String page = FPSTR(HTTP_HEADER); page.replace("{v}", "Info"); page += FPSTR(HTTP_SCRIPT); page += FPSTR(HTTP_STYLE); page += _customHeadElement; - page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_HEADER_END); page += F("Module will reset in a few seconds."); page += FPSTR(HTTP_END); diff --git a/WiFiManager.h b/WiFiManager.h index d74a58f..259c1bd 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -22,10 +22,10 @@ extern "C" { #include "user_interface.h" } -const char HTTP_HEAD[] PROGMEM = "{v}"; +const char HTTP_HEADER[] PROGMEM = "{v}"; const char HTTP_STYLE[] PROGMEM = ""; const char HTTP_SCRIPT[] PROGMEM = ""; -const char HTTP_HEAD_END[] PROGMEM = "
"; +const char HTTP_HEADER_END[] PROGMEM = "
"; const char HTTP_PORTAL_OPTIONS[] PROGMEM = "



"; const char HTTP_ITEM[] PROGMEM = "
{v} {r}%
"; const char HTTP_FORM_START[] PROGMEM = "


"; @@ -118,8 +118,6 @@ class WiFiManager //if this is true, remove duplicated Access Points - defaut true void setRemoveDuplicateAPs(boolean removeDuplicates); - void setUserLoopInAP (void (*loop)()) { _loop = loop; } - private: std::unique_ptr dnsServer; std::unique_ptr server; @@ -127,7 +125,7 @@ class WiFiManager //const int WM_DONE = 0; //const int WM_WAIT = 10; - //const String HTTP_HEAD = "{v}"; + //const String HTTP_HEADER = "{v}"; void setupConfigPortal(); void startWPS(); @@ -139,7 +137,6 @@ class WiFiManager unsigned long _configPortalTimeout = 0; unsigned long _connectTimeout = 0; unsigned long _configPortalStart = 0; - void (*_loop)() = 0; IPAddress _ap_static_ip; IPAddress _ap_static_gw;