Files

1015 B

Architektur V1

main.cpp besitzt nur den nicht-blockierenden Scheduler: Motor, Netzwerk, Web und OTA werden in jedem Loop-Durchlauf aktualisiert.

  • ConfigManager: LittleFS und JSON-Konfiguration, Defaults, Factory Reset
  • StepperController: einzige Abstraktion fuer AccelStepper und Motorzustand
  • NetworkManager: STA-Verbindung mit Timeout oder lokaler AP
  • WebServerManager: Status, Befehle, Konfiguration und Firmware-Upload
  • OtaManager: ArduinoOTA und Update-Sicherheitsstopp

Web-Kommandos rufen ausschliesslich StepperController auf. MQTT kann spaeter als weiterer Adapter dieselbe API verwenden. V1 fuehrt relative Schritte und die Anzeige einer relativen Position; absolute Positionierung und Homing sind V2.

Zustandsmodell

IDLE, MOVING, CONTINUOUS, LIMIT_LEFT, LIMIT_RIGHT, ERROR. Ein Richtungsbefehl wird bei ausgeloestem Limit vor dem Start abgewiesen. Wird ein Limit waehrend der Fahrt erkannt, werden Ausgaenge deaktiviert und der Motor in den Limit-Zustand gesetzt.