2021-01-03 21:43:35 +00:00
|
|
|
#include <WiFi.h>
|
|
|
|
#include <logger.h>
|
2021-03-12 22:21:45 +00:00
|
|
|
|
2021-01-04 22:10:23 +00:00
|
|
|
#include "Task.h"
|
2021-03-12 22:21:45 +00:00
|
|
|
#include "TaskWifi.h"
|
|
|
|
#include "project_configuration.h"
|
2021-01-03 21:43:35 +00:00
|
|
|
|
2021-03-12 22:21:45 +00:00
|
|
|
WifiTask::WifiTask() : Task(TASK_WIFI, TaskWifi), _oldWifiStatus(WL_IDLE_STATUS) {
|
2021-01-03 21:43:35 +00:00
|
|
|
}
|
|
|
|
|
2021-03-12 22:21:45 +00:00
|
|
|
WifiTask::~WifiTask() {
|
2021-01-03 21:43:35 +00:00
|
|
|
}
|
|
|
|
|
2021-05-18 22:44:37 +00:00
|
|
|
bool WifiTask::setup(System &system) {
|
2021-03-12 22:21:45 +00:00
|
|
|
// WiFi.onEvent(WiFiEvent);
|
2021-05-18 22:44:37 +00:00
|
|
|
WiFi.setHostname(system.getUserConfig()->callsign.c_str());
|
|
|
|
for (Configuration::Wifi::AP ap : system.getUserConfig()->wifi.APs) {
|
2021-03-12 22:21:45 +00:00
|
|
|
logPrintD("Looking for AP: ");
|
|
|
|
logPrintlnD(ap.SSID);
|
2021-05-18 23:05:34 +00:00
|
|
|
_wiFiMulti.addAP(ap.SSID.c_str(), ap.password.c_str());
|
2021-03-12 22:21:45 +00:00
|
|
|
}
|
|
|
|
return true;
|
2021-01-03 21:43:35 +00:00
|
|
|
}
|
|
|
|
|
2021-05-18 22:44:37 +00:00
|
|
|
bool WifiTask::loop(System &system) {
|
2021-05-18 23:05:34 +00:00
|
|
|
const uint8_t wifi_status = _wiFiMulti.run();
|
2021-03-12 22:21:45 +00:00
|
|
|
if (wifi_status != WL_CONNECTED) {
|
2021-05-18 22:44:37 +00:00
|
|
|
system.connectedViaWifiEth(false);
|
2021-03-12 22:21:45 +00:00
|
|
|
logPrintlnE("WiFi not connected!");
|
|
|
|
_oldWifiStatus = wifi_status;
|
|
|
|
_stateInfo = "WiFi not connected";
|
|
|
|
_state = Error;
|
|
|
|
return false;
|
|
|
|
} else if (wifi_status != _oldWifiStatus) {
|
|
|
|
logPrintD("IP address: ");
|
|
|
|
logPrintlnD(WiFi.localIP().toString());
|
|
|
|
_oldWifiStatus = wifi_status;
|
|
|
|
return false;
|
|
|
|
}
|
2021-05-18 22:44:37 +00:00
|
|
|
system.connectedViaWifiEth(true);
|
2021-03-12 22:21:45 +00:00
|
|
|
_stateInfo = WiFi.localIP().toString();
|
|
|
|
_state = Okay;
|
|
|
|
return true;
|
2021-01-03 21:43:35 +00:00
|
|
|
}
|