Select Git revision
mediarack.css
network.cpp 1.51 KiB
#include <Arduino.h>
#include "config.h"
#include "utils.h"
#include "network.h"
AsyncWebServer server(80);
MDNSResponder mdns;
void setupNetwork() {
setupWifi();
setupMDNS();
setupOTA();
}
void setupWifi() {
ESPConnect.autoConnect(HOSTNAME);
if(ESPConnect.begin(&server)){
logLine("Connected to WiFi: ", false);
logLine(WiFi.localIP().toString());
}else{
logLine("Failed to connect to WiFi");
}
}
void setupMDNS() {
if (mdns.begin(HOSTNAME)) {
logLine("MDNS responder started");
mdns.addService("http", "tcp", 80);
mdns.addService("ws", "tcp", 81);
} else {
logLine("MDNS.begin failed");
}
}
void setupOTA() {
ArduinoOTA.onStart([]() {
runGame = false;
logLine("OTA Update Start");
});
ArduinoOTA.onEnd([]() {
logLine("OTA Update End");
runGame = true;
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
char p[32];
sprintf(p, "Progress: %u%%\n", (progress/(total/100)));
logLine(p, false);
});
ArduinoOTA.onError([](ota_error_t error) {
if(error == OTA_AUTH_ERROR) logLine("OTA Auth Failed");
else if(error == OTA_BEGIN_ERROR) logLine("OTA Begin Failed");
else if(error == OTA_CONNECT_ERROR) logLine("OTA Connect Failed");
else if(error == OTA_RECEIVE_ERROR) logLine("OTA Receive Failed");
else if(error == OTA_END_ERROR) logLine("OTA End Failed");
runGame = true;
});
ArduinoOTA.setHostname(HOSTNAME);
ArduinoOTA.begin();
}
void networkLoop() {
ArduinoOTA.handle();
}