Select Git revision
network.cpp
network.cpp 1.58 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();
}