From 6a035f09a141c371ee0398944a0beb3e15a226e6 Mon Sep 17 00:00:00 2001 From: anschrammh Date: Sat, 28 Sep 2019 13:50:21 +0200 Subject: [PATCH] Cleaning the connection process --- src/app/ConnectivityManager.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/app/ConnectivityManager.cpp b/src/app/ConnectivityManager.cpp index d84239c..886270b 100644 --- a/src/app/ConnectivityManager.cpp +++ b/src/app/ConnectivityManager.cpp @@ -3,6 +3,8 @@ ConnectivityManager::ConnectivityManager() : _error(0), _sdCardManager(NULL) { persistent(false); + WiFi.disconnect(); + WiFi.softAPdisconnect(); if(!enableSTAAndAP(false))_error &= AP_AND_STA_ENABLED_ERR; if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error &= AP_SETUP_ERR; @@ -11,6 +13,9 @@ ConnectivityManager::ConnectivityManager() : _error(0), _sdCardManager(NULL) ConnectivityManager::ConnectivityManager(SDCardManager &sdCardManager) : _error(0), _sdCardManager(&sdCardManager) { persistent(false); + WiFi.disconnect(); + WiFi.softAPdisconnect(); + if(!enableSTAAndAP(false))_error &= AP_AND_STA_ENABLED_ERR; else { @@ -25,20 +30,22 @@ ConnectivityManager::ConnectivityManager(SDCardManager &sdCardManager) : _error( if(!softAP((*cfgDictionary)("SSID")->stringValue(), strcmp((*cfgDictionary)("PASSWORD")->stringValue(),"") == 0 ? NULL:(*cfgDictionary)("PASSWORD")->stringValue(), (*cfgDictionary)("CHANNEL")->intValue(), (*cfgDictionary)("SSID_HIDDEN")->booleanValue(), (*cfgDictionary)("AP_MAX_CONNECTION")->intValue()))_error &= AP_SETUP_ERR; delete cfgDictionary; } - else - { - if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error &= AP_SETUP_ERR; - delete cfgDictionary; - } + else + { + if(!softAP("ESP8266SwissArmyBoard", NULL, 1, false, 8))_error &= AP_SETUP_ERR; + delete cfgDictionary; + } CFGFileParser cfgFileParserSTA(sdCardManager, STA_CFG_FILE); cfgDictionary = (CFGDictionary *) cfgFileParserSTA.parseFile(); if(cfgDictionary != NULL) { - if((*cfgDictionary)("SSID") != NULL && (*cfgDictionary)("PASSWORD") != NULL) - { - if(!begin((*cfgDictionary)("SSID")->stringValue(), (*cfgDictionary)("PASSWORD")->stringValue())) _error &= AP_SETUP_ERR; - } + if((*cfgDictionary)("SSID") != NULL && (*cfgDictionary)("PASSWORD") != NULL) + { + if(!begin((*cfgDictionary)("SSID")->stringValue(), (*cfgDictionary)("PASSWORD")->stringValue())) + _error &= AP_SETUP_ERR; + } + delete cfgDictionary; } }