diff --git a/src/espwifistack.cpp b/src/espwifistack.cpp index f7a1211..8a66187 100644 --- a/src/espwifistack.cpp +++ b/src/espwifistack.cpp @@ -1322,7 +1322,7 @@ void wifi_event_callback(const config &config, const WifiEvent &event) wifi_clear_status_bits(STA_STARTED_BIT | STA_CONNECTED_BIT | STA_HAS_IP_BIT | STA_HAS_IP6_BIT); break; case WifiEventId::WIFI_STA_CONNECTED: - set_sta_status(WiFiStaStatus::IDLE_STATUS); + set_sta_status(WiFiStaStatus::WAITING_FOR_IP); wifi_set_status_bits(STA_CONNECTED_BIT); esp_netif_create_ip6_linklocal(esp_netifs[ESP_IF_WIFI_STA]); break; @@ -1376,7 +1376,8 @@ void wifi_event_callback(const config &config, const WifiEvent &event) switch (sta_status) { case WiFiStaStatus::CONNECTED: set_sta_status(WiFiStaStatus::CONNECTION_LOST); break; - case WiFiStaStatus::CONNECTING: set_sta_status(WiFiStaStatus::CONNECT_FAILED); break; + case WiFiStaStatus::CONNECTING: + case WiFiStaStatus::WAITING_FOR_IP: set_sta_status(WiFiStaStatus::CONNECT_FAILED); break; case WiFiStaStatus::DISCONNECTING: default: set_sta_status(WiFiStaStatus::DISCONNECTED); diff --git a/src/espwifistackenums.h b/src/espwifistackenums.h index 0c4d3d8..ee6bde2 100644 --- a/src/espwifistackenums.h +++ b/src/espwifistackenums.h @@ -13,16 +13,17 @@ namespace wifi_stack { DECLARE_TYPESAFE_ENUM(WiFiState, : uint8_t, WiFiStateValues) #define WiFiStaStatusValues(x) \ - x(IDLE_STATUS) \ - x(NO_SSID_AVAIL) \ - x(SCAN_COMPLETED) \ - x(CONNECTED) \ - x(CONNECT_FAILED) \ - x(CONNECTION_LOST) \ - x(DISCONNECTED) \ - x(CONNECTING) \ - x(DISCONNECTING) \ - x(NO_SHIELD) + x(IDLE_STATUS, = 0) \ + x(NO_SSID_AVAIL, = 1) \ + x(SCAN_COMPLETED, = 2) \ + x(CONNECTED, = 3) \ + x(CONNECT_FAILED, = 4) \ + x(CONNECTION_LOST, = 5) \ + x(DISCONNECTED, = 6) \ + x(CONNECTING, = 7) \ + x(DISCONNECTING, = 8) \ + x(NO_SHIELD, = 9) \ + x(WAITING_FOR_IP, = 10) DECLARE_TYPESAFE_ENUM(WiFiStaStatus, : uint8_t, WiFiStaStatusValues) #define WiFiScanStatusValues(x) \