1015 B
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 ResetStepperController: einzige Abstraktion fuer AccelStepper und MotorzustandNetworkManager: STA-Verbindung mit Timeout oder lokaler APWebServerManager: Status, Befehle, Konfiguration und Firmware-UploadOtaManager: 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.