Wie man ESP-IDF-Fehler repariert: cannot convert 'esp_interface_t' to 'wifi_interface_t'

Problem:

Beim Versuch, Ihre ESP-IDF-App mit Code wie

esp_wifi_set_config_error.cpp
ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));

zu kompilieren, sehen Sie eine Fehlermeldung wie

espidf_error_build_output.txt
src/main.cpp:76:41: error: cannot convert 'esp_interface_t' to 'wifi_interface_t'
    76 |     ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
         |                                         ^~~~~~~~~~~~~~~
         |                                         |
         |                                         esp_interface_t

Lösung

Verwenden Sie statt ESP_IF_WIFI_STA WIFI_IF_STA (welches den korrekten Typ hat):

esp_wifi_set_config_fix.cpp
ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));

Check out similar posts by category: C/C++, ESP8266/ESP32