diff --git a/src/espwifistack.cpp b/src/espwifistack.cpp index 2cb6db3..6c1e68d 100644 --- a/src/espwifistack.cpp +++ b/src/espwifistack.cpp @@ -123,6 +123,7 @@ uint8_t _wifiConnectFailCounter{}; std::optional _last_sta_error; std::string _last_sta_error_message; +std::optional _last_wifi_connect_failed; // scan std::optional scanStarted; @@ -148,6 +149,7 @@ const std::optional &lastStaSwitchedToConne const bool &esp_wifi_started{_esp_wifi_started}; const uint8_t &sta_error_count{_wifiConnectFailCounter}; const std::string &last_sta_error_message{_last_sta_error_message}; +const std::optional &last_wifi_connect_failed{_last_wifi_connect_failed}; const std::optional &last_sta_error{_last_sta_error}; const std::vector &pastConnectPlan{_pastConnectPlan}; const mac_t ¤tConnectPlanEntry{_currentConnectPlanEntry}; @@ -564,7 +566,7 @@ void update(const config &config) } else if (_wifiConnectFailFlag && espchrono::ago(*_wifiConnectFailFlag) < 5s) { - ESP_LOGI(TAG, "clearing connect fail flag"); + ESP_LOGD(TAG, "clearing connect fail flag"); _wifiConnectFailFlag = std::nullopt; if (auto newConnectPlanWifisChecksum = calculateWifisChecksum(*config.sta); @@ -1373,7 +1375,8 @@ void wifi_event_callback(const config &config, const WifiEvent &event) const auto sta_status = get_sta_status(); if (sta_status != WiFiStaStatus::DISCONNECTING) { - ESP_LOGW(TAG, "setting fail flag"); + ESP_LOGD(TAG, "setting fail flag"); + _last_wifi_connect_failed = espchrono::millis_clock::now(); _wifiConnectFailFlag = espchrono::millis_clock::now(); } switch (sta_status) diff --git a/src/espwifistack.h b/src/espwifistack.h index b7709b5..ba4d801 100644 --- a/src/espwifistack.h +++ b/src/espwifistack.h @@ -50,6 +50,8 @@ extern const bool &esp_wifi_started; extern const uint8_t &sta_error_count; extern const std::string &last_sta_error_message; +extern const std::optional &last_wifi_connect_failed; + struct StaError { espchrono::millis_clock::time_point timestamp{espchrono::millis_clock::now()};