From 51be25b351f7254be0f3bb18a75527ea571a0b30 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 2 Oct 2019 22:30:51 +0300 Subject: [PATCH 1/3] ESP8266wifista.cpp uart interrupts on/off replaced Replaced by all interrupts blocking/unblocking --- libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp index 8f52942b74..59cb4feb88 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp @@ -183,7 +183,7 @@ wl_status_t ESP8266WiFiSTAClass::begin(const char* ssid, const char *passphrase, DEBUGV("sta config unchanged"); } else { - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); if(WiFi._persistent) { wifi_station_set_config(&conf); @@ -191,14 +191,14 @@ wl_status_t ESP8266WiFiSTAClass::begin(const char* ssid, const char *passphrase, wifi_station_set_config_current(&conf); } - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); } - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); if(connect) { wifi_station_connect(); } - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); if(channel > 0 && channel <= 13) { wifi_set_channel(channel); @@ -230,9 +230,9 @@ wl_status_t ESP8266WiFiSTAClass::begin() { return WL_CONNECT_FAILED; } - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); wifi_station_connect(); - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); if(!_useStaticIp) { wifi_station_dhcpc_start(); @@ -380,14 +380,14 @@ bool ESP8266WiFiSTAClass::disconnect(bool wifioff) { else ret = true; - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); if(WiFi._persistent) { wifi_station_set_config(&conf); } else { wifi_station_set_config_current(&conf); } - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); if(wifioff) { WiFi.enableSTA(false); @@ -413,9 +413,9 @@ bool ESP8266WiFiSTAClass::isConnected() { */ bool ESP8266WiFiSTAClass::setAutoConnect(bool autoConnect) { bool ret; - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); ret = wifi_station_set_auto_connect(autoConnect); - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); return ret; } From a3699ae7a3978a31ba22bc1caa91a68fd928c7e1 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 3 Oct 2019 00:18:46 +0300 Subject: [PATCH 2/3] Update ESP8266WiFiAP.cpp --- libraries/ESP8266WiFi/src/ESP8266WiFiAP.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiAP.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiAP.cpp index 692b214fad..556d271636 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiAP.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiAP.cpp @@ -139,13 +139,13 @@ bool ESP8266WiFiAPClass::softAP(const char* ssid, const char* passphrase, int ch if(!softap_config_equal(conf, conf_compare)) { - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); if(WiFi._persistent) { ret = wifi_softap_set_config(&conf); } else { ret = wifi_softap_set_config_current(&conf); } - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); if(!ret) { DEBUG_WIFI("[AP] set_config failed!\n"); @@ -290,13 +290,13 @@ bool ESP8266WiFiAPClass::softAPdisconnect(bool wifioff) { *conf.ssid = 0; *conf.password = 0; conf.authmode = AUTH_OPEN; - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); if(WiFi._persistent) { ret = wifi_softap_set_config(&conf); } else { ret = wifi_softap_set_config_current(&conf); } - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); if(!ret) { DEBUG_WIFI("[APdisconnect] set_config failed!\n"); From c912fe17f2a76ecd409c1f2fe2a3b8cd5391f03a Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 3 Oct 2019 00:23:45 +0300 Subject: [PATCH 3/3] ESP8266WifiGeneric uart interrupts on/off replaced Replaced by all interrupts blocking/unblocking --- libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp index ed49ca9d6a..68692c38d4 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp @@ -426,13 +426,13 @@ bool ESP8266WiFiGenericClass::mode(WiFiMode_t m, WiFiState* state) { } bool ret = false; - ETS_UART_INTR_DISABLE(); + ETS_INTR_LOCK(); if(_persistent) { ret = wifi_set_opmode(m); } else { ret = wifi_set_opmode_current(m); } - ETS_UART_INTR_ENABLE(); + ETS_INTR_UNLOCK(); return ret; }