82 lines
1.7 KiB
C++
82 lines
1.7 KiB
C++
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
|
|
#include "master.h"
|
|
#include <Arduino.h>
|
|
|
|
// Aquacross Timer - ESP32 Master (Webserver + ESP-NOW + Anlernmodus)
|
|
#include <ArduinoJson.h>
|
|
#include <AsyncTCP.h>
|
|
#include <ESPAsyncWebServer.h>
|
|
#include <Preferences.h>
|
|
#include <SPIFFS.h>
|
|
#include <esp_now.h>
|
|
#include <esp_wifi.h>
|
|
|
|
#include <battery.h>
|
|
#include <communication.h>
|
|
#include <databasebackend.h>
|
|
#include <debug.h>
|
|
#include <gamemodes.h>
|
|
#include <licenceing.h>
|
|
#include <preferencemanager.h>
|
|
#include <rfid.h>
|
|
#include <timesync.h>
|
|
#include <webserverrouter.h>
|
|
#include <wificlass.h>
|
|
|
|
const char *firmwareversion = "1.0.0"; // Version der Firmware
|
|
|
|
// moved to preferencemanager.h
|
|
|
|
void setup() {
|
|
Serial.begin(115200);
|
|
|
|
if (!SPIFFS.begin(true)) {
|
|
Serial.println("SPIFFS Mount Failed");
|
|
return;
|
|
}
|
|
|
|
// setup API libararies
|
|
setupTimeAPI(server);
|
|
setupLicenceAPI(server);
|
|
setupDebugAPI(server);
|
|
setupBackendRoutes(server);
|
|
setupRFIDRoute(server);
|
|
|
|
// Gespeicherte Daten laden
|
|
loadButtonConfig();
|
|
loadBestTimes();
|
|
loadSettings();
|
|
loadWifiSettings();
|
|
loadLocationSettings();
|
|
|
|
setupWifi(); // WiFi initialisieren
|
|
setupOTA(&server);
|
|
|
|
setupRoutes();
|
|
setupWebSocket();
|
|
setupLED();
|
|
setupMqttServer(); // MQTT Server initialisieren
|
|
// setupBattery();
|
|
|
|
setupRFID(); // RFID initialisieren (ganz einfach)
|
|
}
|
|
|
|
void loop() {
|
|
checkAutoReset();
|
|
|
|
// MQTT hat höchste Priorität (wird zuerst verarbeitet)
|
|
loopMqttServer();
|
|
|
|
// WebSocket verarbeiten
|
|
loopWebSocket();
|
|
|
|
// RFID Loop nur wenn aktiv (spart CPU-Zyklen)
|
|
if (isRFIDReadingActive()) {
|
|
loopRFID();
|
|
}
|
|
|
|
// Kurze Pause um anderen Tasks Zeit zu geben
|
|
delay(1);
|
|
}
|