Removed shitty reason2str()
This commit is contained in:
@@ -240,9 +240,6 @@ struct WifiEvent
|
||||
};
|
||||
};
|
||||
|
||||
const char * system_event_reasons[] = { "UNSPECIFIED", "AUTH_EXPIRE", "AUTH_LEAVE", "ASSOC_EXPIRE", "ASSOC_TOOMANY", "NOT_AUTHED", "NOT_ASSOCED", "ASSOC_LEAVE", "ASSOC_NOT_AUTHED", "DISASSOC_PWRCAP_BAD", "DISASSOC_SUPCHAN_BAD", "UNSPECIFIED", "IE_INVALID", "MIC_FAILURE", "4WAY_HANDSHAKE_TIMEOUT", "GROUP_KEY_UPDATE_TIMEOUT", "IE_IN_4WAY_DIFFERS", "GROUP_CIPHER_INVALID", "PAIRWISE_CIPHER_INVALID", "AKMP_INVALID", "UNSUPP_RSN_IE_VERSION", "INVALID_RSN_IE_CAP", "802_1X_AUTH_FAILED", "CIPHER_SUITE_REJECTED", "BEACON_TIMEOUT", "NO_AP_FOUND", "AUTH_FAIL", "ASSOC_FAIL", "HANDSHAKE_TIMEOUT", "CONNECTION_FAIL" };
|
||||
#define reason2str(r) ((r>176)?system_event_reasons[r-176]:system_event_reasons[r-1])
|
||||
|
||||
#ifdef CONFIG_ETH_ENABLED
|
||||
//#define ETH_PHY_IP101 ETH_PHY_TLK110
|
||||
|
||||
@@ -1337,22 +1334,20 @@ void wifi_event_callback(const config &config, const WifiEvent &event)
|
||||
event.wifi_sta_disconnected.ssid_len
|
||||
};
|
||||
|
||||
const auto reason = event.wifi_sta_disconnected.reason;
|
||||
const auto reason = wifi_err_reason_t(event.wifi_sta_disconnected.reason);
|
||||
{
|
||||
const mac_t bssid{event.wifi_sta_disconnected.bssid};
|
||||
const char * const reasonStr = reason2str(reason);
|
||||
|
||||
_last_sta_error = StaError {
|
||||
.ssid = std::string{ssid},
|
||||
.bssid = bssid,
|
||||
.reason = reason,
|
||||
.reasonStr = reasonStr
|
||||
.reason = reason
|
||||
};
|
||||
|
||||
auto msg = fmt::format("{} WIFI_STA_DISCONNECTED ssid=\"{}\" bssid={} reason={}({})",
|
||||
espchrono::millis_clock::now().time_since_epoch().count(),
|
||||
ssid, toString(bssid),
|
||||
reason, reasonStr);
|
||||
std::to_underlying(reason), wifi_stack::toString(reason));
|
||||
ESP_LOGW(TAG, "%.*s", msg.size(), msg.data());
|
||||
_last_sta_error_message += msg;
|
||||
_last_sta_error_message += '\n';
|
||||
|
@@ -57,8 +57,7 @@ struct StaError
|
||||
espchrono::millis_clock::time_point timestamp{espchrono::millis_clock::now()};
|
||||
std::string ssid;
|
||||
mac_t bssid;
|
||||
uint8_t reason;
|
||||
const char *reasonStr;
|
||||
wifi_err_reason_t reason;
|
||||
};
|
||||
extern const std::optional<StaError> &last_sta_error;
|
||||
|
||||
|
@@ -119,6 +119,49 @@ std::string toString(esp_netif_dhcp_status_t status)
|
||||
}
|
||||
}
|
||||
|
||||
const char * toString(wifi_err_reason_t reason)
|
||||
{
|
||||
switch (reason)
|
||||
{
|
||||
case WIFI_REASON_UNSPECIFIED: return "UNSPECIFIED";
|
||||
case WIFI_REASON_AUTH_EXPIRE: return "AUTH_EXPIRE";
|
||||
case WIFI_REASON_AUTH_LEAVE: return "AUTH_LEAVE";
|
||||
case WIFI_REASON_ASSOC_EXPIRE: return "ASSOC_EXPIRE";
|
||||
case WIFI_REASON_ASSOC_TOOMANY: return "ASSOC_TOOMANY";
|
||||
case WIFI_REASON_NOT_AUTHED: return "NOT_AUTHED";
|
||||
case WIFI_REASON_NOT_ASSOCED: return "NOT_ASSOCED";
|
||||
case WIFI_REASON_ASSOC_LEAVE: return "ASSOC_LEAVE";
|
||||
case WIFI_REASON_ASSOC_NOT_AUTHED: return "ASSOC_NOT_AUTHED";
|
||||
case WIFI_REASON_DISASSOC_PWRCAP_BAD: return "DISASSOC_PWRCAP_BAD";
|
||||
case WIFI_REASON_DISASSOC_SUPCHAN_BAD: return "DISASSOC_SUPCHAN_BAD";
|
||||
case WIFI_REASON_BSS_TRANSITION_DISASSOC: return "BSS_TRANSITION_DISASSOC";
|
||||
case WIFI_REASON_IE_INVALID: return "IE_INVALID";
|
||||
case WIFI_REASON_MIC_FAILURE: return "MIC_FAILURE";
|
||||
case WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT: return "4WAY_HANDSHAKE_TIMEOUT";
|
||||
case WIFI_REASON_GROUP_KEY_UPDATE_TIMEOUT: return "GROUP_KEY_UPDATE_TIMEOUT";
|
||||
case WIFI_REASON_IE_IN_4WAY_DIFFERS: return "IE_IN_4WAY_DIFFERS";
|
||||
case WIFI_REASON_GROUP_CIPHER_INVALID: return "GROUP_CIPHER_INVALID";
|
||||
case WIFI_REASON_PAIRWISE_CIPHER_INVALID: return "PAIRWISE_CIPHER_INVALID";
|
||||
case WIFI_REASON_AKMP_INVALID: return "AKMP_INVALID";
|
||||
case WIFI_REASON_UNSUPP_RSN_IE_VERSION: return "UNSUPP_RSN_IE_VERSION";
|
||||
case WIFI_REASON_INVALID_RSN_IE_CAP: return "INVALID_RSN_IE_CAP";
|
||||
case WIFI_REASON_802_1X_AUTH_FAILED: return "802_1X_AUTH_FAILED";
|
||||
case WIFI_REASON_CIPHER_SUITE_REJECTED: return "CIPHER_SUITE_REJECTED";
|
||||
case WIFI_REASON_INVALID_PMKID: return "INVALID_PMKID";
|
||||
case WIFI_REASON_BEACON_TIMEOUT: return "BEACON_TIMEOUT";
|
||||
case WIFI_REASON_NO_AP_FOUND: return "NO_AP_FOUND";
|
||||
case WIFI_REASON_AUTH_FAIL: return "AUTH_FAIL";
|
||||
case WIFI_REASON_ASSOC_FAIL: return "ASSOC_FAIL";
|
||||
case WIFI_REASON_HANDSHAKE_TIMEOUT: return "HANDSHAKE_TIMEOUT";
|
||||
case WIFI_REASON_CONNECTION_FAIL: return "CONNECTION_FAIL";
|
||||
case WIFI_REASON_AP_TSF_RESET: return "AP_TSF_RESET";
|
||||
case WIFI_REASON_ROAMING: return "ROAMING";
|
||||
}
|
||||
|
||||
ESP_LOGE(TAG, "unknown reason %" PRIu8, reason);
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
template<> tl::expected<mac_t, std::string> fromString<mac_t>(std::string_view str)
|
||||
{
|
||||
mac_t result;
|
||||
|
@@ -24,6 +24,7 @@ std::string toString(wifi_auth_mode_t authMode);
|
||||
std::string toString(wifi_cipher_type_t cipherType);
|
||||
std::string toString(esp_interface_t interface);
|
||||
std::string toString(esp_netif_dhcp_status_t status);
|
||||
const char * toString(wifi_err_reason_t reason);
|
||||
|
||||
template<typename T> tl::expected<T, std::string> fromString(std::string_view str) = delete;
|
||||
|
||||
|
Reference in New Issue
Block a user