1
0
mirror of https://github.com/esphome/esphome.git synced 2025-11-18 15:55:46 +00:00

Remove support for ESP-IDF version < 4 (#5261)

This commit is contained in:
Jimmy Hedman
2023-08-17 22:02:57 +02:00
committed by GitHub
parent 2b4ed0c273
commit 0af8d0b7ea
7 changed files with 3 additions and 129 deletions

View File

@@ -203,12 +203,10 @@ bool WiFiComponent::wifi_sta_connect_(const WiFiAP &ap) {
// Units: AP beacon intervals. Defaults to 3 if set to 0.
conf.sta.listen_interval = 0;
#if ESP_IDF_VERSION_MAJOR >= 4
// Protected Management Frame
// Device will prefer to connect in PMF mode if other device also advertises PMF capability.
conf.sta.pmf_cfg.capable = true;
conf.sta.pmf_cfg.required = false;
#endif
// note, we do our own filtering
// The minimum rssi to accept in the fast scan mode
@@ -314,11 +312,7 @@ const char *get_auth_mode_str(uint8_t mode) {
}
}
#if ESP_IDF_VERSION_MAJOR >= 4
using esphome_ip4_addr_t = esp_ip4_addr_t;
#else
using esphome_ip4_addr_t = ip4_addr_t;
#endif
std::string format_ip4_addr(const esphome_ip4_addr_t &ip) {
char buf[20];
@@ -404,8 +398,6 @@ const char *get_disconnect_reason_str(uint8_t reason) {
}
}
#if ESP_IDF_VERSION_MAJOR >= 4
#define ESPHOME_EVENT_ID_WIFI_READY ARDUINO_EVENT_WIFI_READY
#define ESPHOME_EVENT_ID_WIFI_SCAN_DONE ARDUINO_EVENT_WIFI_SCAN_DONE
#define ESPHOME_EVENT_ID_WIFI_STA_START ARDUINO_EVENT_WIFI_STA_START
@@ -426,28 +418,6 @@ const char *get_disconnect_reason_str(uint8_t reason) {
using esphome_wifi_event_id_t = arduino_event_id_t;
using esphome_wifi_event_info_t = arduino_event_info_t;
#else // ESP_IDF_VERSION_MAJOR >= 4
#define ESPHOME_EVENT_ID_WIFI_READY SYSTEM_EVENT_WIFI_READY
#define ESPHOME_EVENT_ID_WIFI_SCAN_DONE SYSTEM_EVENT_SCAN_DONE
#define ESPHOME_EVENT_ID_WIFI_STA_START SYSTEM_EVENT_STA_START
#define ESPHOME_EVENT_ID_WIFI_STA_STOP SYSTEM_EVENT_STA_STOP
#define ESPHOME_EVENT_ID_WIFI_STA_CONNECTED SYSTEM_EVENT_STA_CONNECTED
#define ESPHOME_EVENT_ID_WIFI_STA_DISCONNECTED SYSTEM_EVENT_STA_DISCONNECTED
#define ESPHOME_EVENT_ID_WIFI_STA_AUTHMODE_CHANGE SYSTEM_EVENT_STA_AUTHMODE_CHANGE
#define ESPHOME_EVENT_ID_WIFI_STA_GOT_IP SYSTEM_EVENT_STA_GOT_IP
#define ESPHOME_EVENT_ID_WIFI_STA_LOST_IP SYSTEM_EVENT_STA_LOST_IP
#define ESPHOME_EVENT_ID_WIFI_AP_START SYSTEM_EVENT_AP_START
#define ESPHOME_EVENT_ID_WIFI_AP_STOP SYSTEM_EVENT_AP_STOP
#define ESPHOME_EVENT_ID_WIFI_AP_STACONNECTED SYSTEM_EVENT_AP_STACONNECTED
#define ESPHOME_EVENT_ID_WIFI_AP_STADISCONNECTED SYSTEM_EVENT_AP_STADISCONNECTED
#define ESPHOME_EVENT_ID_WIFI_AP_STAIPASSIGNED SYSTEM_EVENT_AP_STAIPASSIGNED
#define ESPHOME_EVENT_ID_WIFI_AP_PROBEREQRECVED SYSTEM_EVENT_AP_PROBEREQRECVED
using esphome_wifi_event_id_t = system_event_id_t;
using esphome_wifi_event_info_t = system_event_info_t;
#endif // !(ESP_IDF_VERSION_MAJOR >= 4)
void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_wifi_event_info_t info) {
switch (event) {
case ESPHOME_EVENT_ID_WIFI_READY: {
@@ -455,11 +425,7 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
break;
}
case ESPHOME_EVENT_ID_WIFI_SCAN_DONE: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_scan_done;
#else
auto it = info.scan_done;
#endif
ESP_LOGV(TAG, "Event: WiFi Scan Done status=%u number=%u scan_id=%u", it.status, it.number, it.scan_id);
this->wifi_scan_done_callback_();
@@ -475,11 +441,7 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
break;
}
case ESPHOME_EVENT_ID_WIFI_STA_CONNECTED: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_sta_connected;
#else
auto it = info.connected;
#endif
char buf[33];
memcpy(buf, it.ssid, it.ssid_len);
buf[it.ssid_len] = '\0';
@@ -492,11 +454,7 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
break;
}
case ESPHOME_EVENT_ID_WIFI_STA_DISCONNECTED: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_sta_disconnected;
#else
auto it = info.disconnected;
#endif
char buf[33];
memcpy(buf, it.ssid, it.ssid_len);
buf[it.ssid_len] = '\0';
@@ -522,11 +480,7 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
break;
}
case ESPHOME_EVENT_ID_WIFI_STA_AUTHMODE_CHANGE: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_sta_authmode_change;
#else
auto it = info.auth_change;
#endif
ESP_LOGV(TAG, "Event: Authmode Change old=%s new=%s", get_auth_mode_str(it.old_mode),
get_auth_mode_str(it.new_mode));
// Mitigate CVE-2020-12638
@@ -570,24 +524,14 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
break;
}
case ESPHOME_EVENT_ID_WIFI_AP_STACONNECTED: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_sta_connected;
auto &mac = it.bssid;
#else
auto it = info.sta_connected;
auto &mac = it.mac;
#endif
ESP_LOGV(TAG, "Event: AP client connected MAC=%s", format_mac_addr(mac).c_str());
break;
}
case ESPHOME_EVENT_ID_WIFI_AP_STADISCONNECTED: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_sta_disconnected;
auto &mac = it.bssid;
#else
auto it = info.sta_disconnected;
auto &mac = it.mac;
#endif
ESP_LOGV(TAG, "Event: AP client disconnected MAC=%s", format_mac_addr(mac).c_str());
break;
}
@@ -596,11 +540,7 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
break;
}
case ESPHOME_EVENT_ID_WIFI_AP_PROBEREQRECVED: {
#if ESP_IDF_VERSION_MAJOR >= 4
auto it = info.wifi_ap_probereqrecved;
#else
auto it = info.ap_probereqrecved;
#endif
ESP_LOGVV(TAG, "Event: AP receive Probe Request MAC=%s RSSI=%d", format_mac_addr(it.mac).c_str(), it.rssi);
break;
}
@@ -742,10 +682,7 @@ bool WiFiComponent::wifi_start_ap_(const WiFiAP &ap) {
strncpy(reinterpret_cast<char *>(conf.ap.password), ap.get_password().c_str(), sizeof(conf.ap.ssid));
}
#if ESP_IDF_VERSION_MAJOR >= 4
// pairwise cipher of SoftAP, group cipher will be derived using this.
conf.ap.pairwise_cipher = WIFI_CIPHER_TYPE_CCMP;
#endif
esp_err_t err = esp_wifi_set_config(WIFI_IF_AP, &conf);
if (err != ESP_OK) {