Skip to content
Snippets Groups Projects
Select Git revision
  • b97776c8cbf8399c9ceb93ee1752f47bcb482d29
  • master default
2 results

mediarack.css

Blame
  • 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();
    }