diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 8366fd6..6fc59c5 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -85,15 +85,19 @@ void WiFiManager::addParameter(WiFiManagerParameter *p) { DEBUG_WM(p->getID()); } -// constructor -WiFiManager::WiFiManager() { +// constructors +WiFiManager::WiFiManager(Stream& consolePort):_debugPort(consolePort) { + WiFiManager(); +} + +WiFiManager::WiFiManager():_debugPort(Serial) { _usermode = WiFi.getMode(); WiFi.persistent(false); // disable persistent so scannetworks and mode switching do not cause overwrites } // destructor WiFiManager::~WiFiManager() { - if(_userpersistent) WiFi.persistent(true); // reenable persistent + if(_userpersistent) WiFi.persistent(true); // reenable persistent, there is no getter we rely on _userpersistent WiFi.mode(_usermode); DEBUG_WM(F("unloading")); } @@ -175,7 +179,7 @@ void WiFiManager::stopWebPortal() { boolean WiFiManager::configPortalHasTimeout(){ if(_configPortalTimeout == 0 || wifi_softap_get_station_num() > 0){ - if(millis() - timer > 10000){ + if(millis() - timer > 1000){ timer = millis(); DEBUG_WM("NUM CLIENTS: " + (String)wifi_softap_get_station_num()); } @@ -187,7 +191,7 @@ boolean WiFiManager::configPortalHasTimeout(){ DEBUG_WM(F("config portal has timed out")); return true; } else { - if((millis() - timer) > 10000){ + if((millis() - timer) > 1000){ timer = millis(); DEBUG_WM("Portal Timeout In " + (String)((_configPortalStart + _configPortalTimeout-millis())/1000) + " seconds"); } @@ -1229,20 +1233,20 @@ void WiFiManager::setCaptivePortalEnable(boolean enabled){ template void WiFiManager::DEBUG_WM(Generic text) { if (_debug) { - Serial.print("*WM: "); - Serial.print(text); - Serial.print("\n"); + _debugPort.print("*WM: "); + _debugPort.print(text); + _debugPort.print("\n"); } } template void WiFiManager::DEBUG_WM(Generic text,Genericb textb) { if (_debug) { - Serial.print("*WM: "); - Serial.print(text); - Serial.print(" "); - Serial.print(textb); - Serial.print("\n"); + _debugPort.print("*WM: "); + _debugPort.print(text); + _debugPort.print(" "); + _debugPort.print(textb); + _debugPort.print("\n"); } } diff --git a/WiFiManager.h b/WiFiManager.h index 05e1f8b..a7b83af 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -95,6 +95,7 @@ class WiFiManagerParameter { class WiFiManager { public: + WiFiManager(Stream& consolePort); WiFiManager(); ~WiFiManager(); @@ -247,7 +248,7 @@ class WiFiManager boolean connect; boolean abort; - boolean reset = false; + boolean reset = false; boolean configPortalActive = false; boolean webPortalActive = false; boolean _debug = true; @@ -259,6 +260,7 @@ class WiFiManager void (*_apcallback)(WiFiManager*) = NULL; void (*_savecallback)(void) = NULL; + Stream& _debugPort; // debug output stream ref WiFiManagerParameter* _params[WIFI_MANAGER_MAX_PARAMS]; template