#include #include #ifdef ESP8266 #include #endif #ifdef ESP32 #include #endif #include "Static.h" #include "WiFiTask.h" WiFiTask::WiFiTask() : InputSource("WiFi"), m_lastStatus(WL_IDLE_STATUS) {} void WiFiTask::onStart() { Log.notice("Starting wifi..."); WiFi.mode(WIFI_STA); WiFi.begin("The Frequency", "thepasswordkenneth"); } InputEvent WiFiTask::read() { uint8_t curStatus = WiFi.status(); if (m_lastStatus != curStatus) { m_lastStatus = curStatus; Log.verbose("WiFi Status: %d", curStatus); if (curStatus == WL_CONNECTED) { Log.notice("Connected! IP address is %s", WiFi.localIP().toString().c_str()); return InputEvent{InputEvent::NetworkStatus, true}; } else if (curStatus == WL_CONNECTION_LOST || curStatus == WL_DISCONNECTED) { Log.notice("Lost wifi connection!"); return InputEvent{InputEvent::NetworkStatus, false}; } } return InputEvent{}; } STATIC_ALLOC(WiFiTask); STATIC_TASK(WiFiTask);