mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
Optimize disconnect method in WiFiSTA class (#8760)
This commit is contained in:
parent
eda64f69a7
commit
b565b8686d
@ -371,13 +371,23 @@ bool ESP8266WiFiSTAClass::disconnect(bool wifioff) {
|
|||||||
bool ESP8266WiFiSTAClass::disconnect(bool wifioff, bool eraseCredentials) {
|
bool ESP8266WiFiSTAClass::disconnect(bool wifioff, bool eraseCredentials) {
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
|
||||||
|
if (eraseCredentials) {
|
||||||
// Read current config.
|
// Read current config.
|
||||||
struct station_config conf;
|
struct station_config conf;
|
||||||
wifi_station_get_config(&conf);
|
wifi_station_get_config(&conf);
|
||||||
|
|
||||||
if (eraseCredentials) {
|
// Erase credentials.
|
||||||
memset(&conf.ssid, 0, sizeof(conf.ssid));
|
memset(&conf.ssid, 0, sizeof(conf.ssid));
|
||||||
memset(&conf.password, 0, sizeof(conf.password));
|
memset(&conf.password, 0, sizeof(conf.password));
|
||||||
|
|
||||||
|
// Store modiffied config.
|
||||||
|
ETS_UART_INTR_DISABLE();
|
||||||
|
if(WiFi._persistent) {
|
||||||
|
wifi_station_set_config(&conf);
|
||||||
|
} else {
|
||||||
|
wifi_station_set_config_current(&conf);
|
||||||
|
}
|
||||||
|
ETS_UART_INTR_ENABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// API Reference: wifi_station_disconnect() need to be called after system initializes and the ESP8266 Station mode is enabled.
|
// API Reference: wifi_station_disconnect() need to be called after system initializes and the ESP8266 Station mode is enabled.
|
||||||
@ -386,15 +396,6 @@ bool ESP8266WiFiSTAClass::disconnect(bool wifioff, bool eraseCredentials) {
|
|||||||
else
|
else
|
||||||
ret = true;
|
ret = true;
|
||||||
|
|
||||||
ETS_UART_INTR_DISABLE();
|
|
||||||
if(WiFi._persistent) {
|
|
||||||
wifi_station_set_config(&conf);
|
|
||||||
} else {
|
|
||||||
wifi_station_set_config_current(&conf);
|
|
||||||
}
|
|
||||||
|
|
||||||
ETS_UART_INTR_ENABLE();
|
|
||||||
|
|
||||||
if(wifioff) {
|
if(wifioff) {
|
||||||
WiFi.enableSTA(false);
|
WiFi.enableSTA(false);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user