diff --git a/gauge.py b/gauge.py index 974159a..3bceb7a 100644 --- a/gauge.py +++ b/gauge.py @@ -537,11 +537,14 @@ _WIFI_CONNECT_ATTEMPTS = 3 def _reset_wifi_interface(): global _wifi_sta _wifi_sta = network.WLAN(network.STA_IF) - if _wifi_sta.active(): - _wifi_sta.active(False) - utime.sleep_ms(200) - _wifi_sta.active(True) - utime.sleep_ms(500) + if not _wifi_sta.active(): + _wifi_sta.active(True) + utime.sleep_ms(500) + try: + _wifi_sta.disconnect() + except Exception: + pass + utime.sleep_ms(1000) def connect_wifi(ssid, password, timeout_s=15, force_reconnect=False): @@ -558,7 +561,6 @@ def connect_wifi(ssid, password, timeout_s=15, force_reconnect=False): last_error = None for attempt in range(_WIFI_CONNECT_ATTEMPTS): info(f"WiFi connecting to '{ssid}' (attempt {attempt + 1}/{_WIFI_CONNECT_ATTEMPTS}) ...") - _reset_wifi_interface() try: _wifi_sta.connect(ssid, password) deadline = utime.time() + timeout_s