mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-07-27 19:57:38 +00:00
[WiFi] Fix some minor WiFi issues when saving settings (still 5min wait)
This commit is contained in:
@@ -10,7 +10,12 @@
|
||||
|
||||
Port_ESPEasySerial_HardwareSerial_t::Port_ESPEasySerial_HardwareSerial_t() {}
|
||||
|
||||
Port_ESPEasySerial_HardwareSerial_t::~Port_ESPEasySerial_HardwareSerial_t() {}
|
||||
Port_ESPEasySerial_HardwareSerial_t::~Port_ESPEasySerial_HardwareSerial_t() {
|
||||
if (_serial != nullptr) {
|
||||
_serial->flush();
|
||||
_serial->end();
|
||||
}
|
||||
}
|
||||
|
||||
void Port_ESPEasySerial_HardwareSerial_t::resetConfig(const ESPEasySerialConfig& config)
|
||||
{
|
||||
|
||||
@@ -128,6 +128,7 @@ Port_ESPEasySerial_USBCDC_t::Port_ESPEasySerial_USBCDC_t(const ESPEasySerialConf
|
||||
Port_ESPEasySerial_USBCDC_t::~Port_ESPEasySerial_USBCDC_t()
|
||||
{
|
||||
if (_serial != nullptr) {
|
||||
_serial->flush();
|
||||
_serial->end();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "../../../src/DataStructs/TimingStats.h"
|
||||
#include "../../../src/DataTypes/ESPEasy_plugin_functions.h"
|
||||
#include "../../../src/Globals/Settings.h"
|
||||
#include "../../../src/Globals/ESPEasy_Scheduler.h"
|
||||
//#include "../../../src/Helpers/Misc.h"
|
||||
#include "../../../src/Helpers/StringConverter.h"
|
||||
#include "../Globals/NWPlugins.h"
|
||||
@@ -2204,10 +2205,10 @@ void NWPlugin_Exit_Init(networkIndex_t networkIndex)
|
||||
String dummy;
|
||||
|
||||
// May need to call init later, so make sure exit is called first
|
||||
NWPluginCall(NWPlugin::Function::NWPLUGIN_EXIT, &TempEvent, dummy);
|
||||
Scheduler.setNetworkExitTimer(0, networkIndex);
|
||||
|
||||
if (Settings.getNetworkEnabled(networkIndex)) {
|
||||
NWPluginCall(NWPlugin::Function::NWPLUGIN_INIT, &TempEvent, dummy);
|
||||
Scheduler.setNetworkInitTimer(0, networkIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ void ESPEasyWiFi_t::begin() {
|
||||
setState(WiFiState_e::IdleWaiting, 100);
|
||||
} else {
|
||||
if (WiFi_AP_Candidates.hasScanned()) {
|
||||
// Has no candidates, but scan was performed.
|
||||
if (shouldStartAP_fallback()) {
|
||||
setState(WiFiState_e::AP_only, WIFI_STATE_MACHINE_AP_ONLY_TIMEOUT);
|
||||
}
|
||||
|
||||
@@ -188,7 +188,10 @@ void resetWiFi() {
|
||||
|
||||
void initWiFi() { ESPEasyWiFi.setup(); }
|
||||
|
||||
void exitWiFi() { ESPEasyWiFi.disable(); }
|
||||
void exitWiFi() {
|
||||
ESPEasyWiFi.disable();
|
||||
WiFi_AP_Candidates.force_reload();
|
||||
}
|
||||
|
||||
void loopWiFi() { ESPEasyWiFi.loop(); }
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace wifi {
|
||||
# else
|
||||
# define WIFI_CONNECTION_CONSIDERED_STABLE 60000 // in milliSeconds
|
||||
# endif // if FEATURE_CUSTOM_PROVISIONING
|
||||
# define WIFI_ALLOW_AP_AFTERBOOT_PERIOD 5 // in minutes
|
||||
//# define WIFI_ALLOW_AP_AFTERBOOT_PERIOD 5 // in minutes
|
||||
# define WIFI_SCAN_INTERVAL_AP_USED 125000 // in milliSeconds
|
||||
# define WIFI_SCAN_INTERVAL_MINIMAL 60000 // in milliSeconds
|
||||
|
||||
|
||||
@@ -42,7 +42,8 @@ bool WiFi_pre_STA_setup() {
|
||||
void doWiFiDisconnect() {
|
||||
// Only call disconnect when STA is active
|
||||
if (doWifiIsSTA(WiFi.getMode())) {
|
||||
wifi_station_disconnect();
|
||||
WiFi.disconnect(true);
|
||||
// wifi_station_disconnect();
|
||||
}
|
||||
/*
|
||||
station_config conf{};
|
||||
|
||||
@@ -127,8 +127,6 @@ void EspEasy_Console_t::reInit()
|
||||
|
||||
if (!mustHaveFallback) {
|
||||
if (_fallbackSerial._serial != nullptr) {
|
||||
_fallbackSerial._serial->flush();
|
||||
_fallbackSerial._serial->end();
|
||||
delete _fallbackSerial._serial;
|
||||
_fallbackSerial._serial = nullptr;
|
||||
somethingChanged = true;
|
||||
@@ -142,8 +140,6 @@ void EspEasy_Console_t::reInit()
|
||||
(_console_serial_txpin != Settings.console_serial_txpin) ||
|
||||
!mustHaveSerial) {
|
||||
if (_mainSerial._serial != nullptr) {
|
||||
_mainSerial._serial->flush();
|
||||
_mainSerial._serial->end();
|
||||
delete _mainSerial._serial;
|
||||
_mainSerial._serial = nullptr;
|
||||
somethingChanged = true;
|
||||
|
||||
Reference in New Issue
Block a user