Files
AquaMasterMQTT/src/master.cpp
2025-09-23 20:07:35 +02:00

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);
}