testing non blocking portal

calling process in loop not fast enough results in corrupt webpages, not sure why.
This commit is contained in:
Shawn A
2017-08-27 00:11:04 -05:00
parent 0aecffc822
commit 47d9082e18
2 changed files with 16 additions and 0 deletions
+12
View File
@@ -209,6 +209,7 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo
_apPassword = apPassword;
if(!validApPassword()) return false;
configPortalActive = true;
connect = false; // global
// init configportal
@@ -216,6 +217,8 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo
uint8_t state;
bool result = false;
if(!_configPortalIsBlocking) return result;
// blocking loop waiting for config
while(1){
@@ -237,6 +240,14 @@ boolean WiFiManager::startConfigPortal(char const *apName, char const *apPasswo
return result;
}
boolean WiFiManager::process(){
if(configPortalActive){
uint8_t state = handleConfigPortal();
return state == WL_CONNECTED;
}
return false;
}
//using esp enums returns for now, should be fine
uint8_t WiFiManager::handleConfigPortal(){
//DNS handler
@@ -290,6 +301,7 @@ boolean WiFiManager::stopConfigPortal(){
bool ret = WiFi.softAPdisconnect(false);
if(!ret)DEBUG_WM(F("disconnect configportal error"));
wifimode(WIFI_STA); // set back to sta, @todo use preservation variable
configPortalActive = false;
return ret;
}