Как работает WiFiServer.status()?

Каковы возможные результаты вызова status() на WiFiServer из ESP8266WiFi.h? Единственная документация, которую я смог найти, говорит только о том, что она возвращает uint8_t. Вот ссылка.

, 👍0

Обсуждение

wl_status_t на этой странице https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/src/include/wl_definitions.h, @jsotola


1 ответ


Лучший ответ:

0

Базовый набор функций объекта WiFi esp8266 соответствует API первой библиотеки WiFi Arduino для Arduino WiFi Shield. Это задокументировано здесь.

Реализация status() в esp8266 фокусируется на состоянии STA и сопоставляет статус SDK с некоторыми документированными кодами Arduino.

wl_status_t ESP8266WiFiSTAClass::status() {
    station_status_t status = wifi_station_get_connect_status();

    switch(status) {
        case STATION_GOT_IP:
            return WL_CONNECTED;
        case STATION_NO_AP_FOUND:
            return WL_NO_SSID_AVAIL;
        case STATION_CONNECT_FAIL:
        case STATION_WRONG_PASSWORD:
            return WL_CONNECT_FAILED;
        case STATION_IDLE:
            return WL_IDLE_STATUS;
        default:
            return WL_DISCONNECTED;
    }
}
,