diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 16f85ac..806da56 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -652,7 +652,7 @@ uint8_t WiFiManager::connectWifi(String ssid, String pass) { //@todo catch failures in set_config // make sure sta is on before `begin` so it does not call enablesta->mode while persistent is ON ( which would save WM AP state to eeprom !) - WiFi_Disconnect(); // disconnect before begin, in case anything is hung, this causes a 2 seconds delay for connect + if(cleanConnect) WiFi_Disconnect(); // disconnect before begin, in case anything is hung, this causes a 2 seconds delay for connect // if ssid argument provided connect to that if (ssid != "") { diff --git a/WiFiManager.h b/WiFiManager.h index 49f17fd..bb0de74 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -283,6 +283,7 @@ class WiFiManager int _numNetworks = 0; unsigned long _lastscan = 0; // ms int _cpclosedelay = 2000; // delay before wifisave, prevents captive portal from closing to fast. + bool _cleanConnect = true; // disconnect before connect in connectwifi, increases stability on connects #ifdef ESP32 static uint8_t _lastconxresulttmp; // tmp var for esp32 callback