diff --git a/WiFiManager.cpp b/WiFiManager.cpp index fd05d87..219b81a 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -1544,21 +1544,27 @@ void WiFiManager::reboot(){ * @access public */ bool WiFiManager::erase(){ - DEBUG_WM("Erasing"); - - #if defined(WM_ERASE_NVS) - DEBUG_WM("Erasing NVS"); - int err; - err=nvs_flash_init(); - DEBUG_WM("nvs_flash_init: ",err ? err : "Success"); - err=nvs_flash_erase(); - DEBUG_WM("nvs_flash_erase: ", err ? err : "Success"); - return; - #endif - - return WiFi_eraseConfig(); + return erase(false); } +bool WiFiManager::erase(bool opt){ + DEBUG_WM("Erasing"); + + #if defined(ESP32) && defined(WM_ERASE_NVS) + // if opt true, do nvs erase + if(opt){ + DEBUG_WM("Erasing NVS"); + int err; + err=nvs_flash_init(); + DEBUG_WM("nvs_flash_init: ",err ? err : "Success"); + err=nvs_flash_erase(); + DEBUG_WM("nvs_flash_erase: ", err ? err : "Success"); + return err; + } + #endif + + return WiFi_eraseConfig(); +} /** * [resetSettings description] diff --git a/WiFiManager.h b/WiFiManager.h index e40d6c7..9814645 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -16,7 +16,7 @@ #define WM_WEBSERVERSHIM // use webserver shim lib // #define WM_MDNS // use MDNS // #define WM_FIXERASECONFIG // use erase flash fix -// #define WM_ERASE_NVS // esp32 erase() will erase NVS +// #define WM_ERASE_NVS // esp32 erase() will erase #ifdef ESP8266 @@ -156,6 +156,7 @@ class WiFiManager bool disconnect(); // erase esp bool erase(); + bool erase(bool opt); //sets timeout before AP,webserver loop ends and exits even if there has been no setup. //useful for devices that failed to connect at some point and got stuck in a webserver loop diff --git a/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino.cpp b/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino.cpp deleted file mode 100644 index 85425f4..0000000 --- a/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino.cpp +++ /dev/null @@ -1,84 +0,0 @@ -# 1 "c:\\users\\alverson\\appdata\\local\\temp\\tmpqedruz" -#include -# 1 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" -#include -# 11 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" -#define TRIGGER_PIN 0 - -const char* modes[] = { "NULL", "STA", "AP", "STA+AP" }; -void setup(); -void loop(); -#line 21 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" -void setup() { - - - - Serial.begin(115200); - - WiFi.printDiag(Serial); - - delay(3000); - - Serial.println("\n Starting"); - - - - Serial.setDebugOutput(true); - - Serial.println(modes[WiFi.getMode()]); -# 49 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" - WiFiManager wifiManager(Serial); -# 63 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" - wifiManager.setConfigPortalTimeout(180); -# 79 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" - if(!wifiManager.autoConnect("AutoConnectAP")) { - - Serial.println("failed to connect and hit timeout"); - - } - - - - pinMode(TRIGGER_PIN, INPUT); - -} - - - - - -void loop() { - - - - if ( digitalRead(TRIGGER_PIN) == LOW ) { - - - - - - WiFiManager wifiManager(Serial); -# 121 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" - wifiManager.setConfigPortalTimeout(120); -# 145 "C:/Users/alverson/documents/projects/arduino/sketches/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino" - if (!wifiManager.startConfigPortal("OnDemandAP")) { - - Serial.println("failed to connect and hit timeout"); - - delay(3000); - - } else { - - - - Serial.println("connected...yeey :)"); - - } - - } - - - - - -} \ No newline at end of file