From eb434a018717e494bbe8fa81981bc4f30c7fcde3 Mon Sep 17 00:00:00 2001 From: Shawn A Date: Wed, 18 Oct 2017 09:37:21 -0500 Subject: [PATCH] clean up handlexit feature --- WiFiManager.cpp | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 25d6e1b..2a5314c 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -232,8 +232,10 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo _apPassword = apPassword; if(!validApPassword()) return false; - configPortalActive = true; - connect = false; // global + // init configportal globals to known states + configPortalActive = true; + bool result = connect = abort = false; // loop flags, connect true success, abort true break + uint8_t state; DEBUG_WM(F("setupConfigPortal")); _configPortalStart = millis(); @@ -241,9 +243,6 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo // init configportal setupConfigPortal(); - uint8_t state; - bool result = false; - abort = false; if(!_configPortalIsBlocking){ DEBUG_WM(F("Config Portal Running, non blocking/processing")); @@ -254,25 +253,22 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo // blocking loop waiting for config while(1){ - // check if timed out - if(configPortalHasTimeout()){ + // if timed out or abort, break + if(configPortalHasTimeout() || abort){ stopConfigPortal(); - result = portalTimeoutResult; + result = abort ? portalAbortResult : portalTimeoutResult; // false, false break; } state = handleConfigPortal(); - if(abort){ - result = portalAbortResult; - break; - } - + // status change, break if(state != WL_IDLE_STATUS){ - result = state == WL_CONNECTED; + result = state == WL_CONNECTED; // true if connected break; } - yield(); + + yield(); // watchdog } DEBUG_WM("config portal exiting"); @@ -1022,7 +1018,6 @@ void WiFiManager::handleExit() { server->sendHeader("Content-Length", String(page.length())); server->send(200, "text/html", page); abort = true; - // stopConfigPortal(); } void WiFiManager::reportStatus(String &page){