Punkt 2 implementieren GitHub CoPilot

This commit is contained in:
chk
2026-06-08 17:28:43 +02:00
parent 172606c7a3
commit 0109066946
14 changed files with 1239 additions and 518 deletions

View File

@@ -7,37 +7,37 @@ Die Anbindung soll zuverlässig werden: WebSocket-Eingaben, Steuerlogik und Send
Dieses ToDo konzentriert sich auf die technische Integration der Komponenten, nicht auf G-Code-Parsing oder Konfiguration.
## Paket 1: Start/Orchestrierung
- [ ] `startRobot.js` als Orchestrator behandeln
- [x] `startRobot.js` als Orchestrator behandeln
- Erzeugung und Verbindung der Module
- keine Geschäftslogik im Start-Skript
- [ ] Bindung der WebSocket-Eingabe an die Steuerlogik
- [x] Bindung der WebSocket-Eingabe an die Steuerlogik
- `InputWS.js` empfängt Nachrichten
- Delegation an den Parser / Controller
- [ ] Sauberes Fehler- und Status-Reporting beim Start
- [x] Sauberes Fehler- und Status-Reporting beim Start
- fehlende Zertifikate
- fehlende Senderverbindungen
## Paket 2: Sender-Schicht (Option C)
- [ ] Sender-Interface definieren
- [x] Sender-Interface definieren
- `connect()`
- `send(command)`
- `getStatus()`
- `disconnect()`
- [ ] `TelnetSenderGRBL` als konkrete Implementierung
- [x] `TelnetSenderGRBL` als konkrete Implementierung
- async `connect()`-Methode
- eindeutiger Verbindungsstatus, nicht nur `this.tSocket`
- reconnect/backoff-Strategie (→ `FluidNCClient.js` hat eine funktionierende Reconnect-Logik, die als Referenz dienen kann)
- saubere Fehlerlogs
- **Bug:** `close`-Event-Handler nutzt falsche `this`-Bindung — siehe `doc/ToDo_8_Bugs.md` Bug 1
- [ ] Sender-Schicht testbar und austauschbar machen
- [x] Sender-Schicht testbar und austauschbar machen
- später können andere Sender als `TelnetSenderGRBL` angehängt werden
## Paket 3: Status- und Info-Anbindung
- [ ] `InfoServer.js` meldet nicht nur Weboberfläche, sondern auch Senderstatus
- [ ] `/api/status` erweitert um Senderverbindungen und Health-Informationen
- [ ] `/api/position` liefert aktuelle Roboterposition unabhängig von laufenden Verbindungen
- [x] `InfoServer.js` meldet nicht nur Weboberfläche, sondern auch Senderstatus
- [x] `/api/status` erweitert um Senderverbindungen und Health-Informationen
- [x] `/api/position` liefert aktuelle Roboterposition unabhängig von laufenden Verbindungen
## Hinweis

View File

@@ -8,7 +8,7 @@ Testabdeckung und Fehlerbehandlung sollen die Stabilität der Architektur erhöh
- [x] Unit-Tests für `GCodeParser`
- [ ] Unit-Tests für `RobotController`
- [ ] Unit-Tests für `TelnetSenderGRBL`
- [x] Unit-Tests für `TelnetSenderGRBL`
- Verbindungsstatus
- Fehlerfälle
- korrektes Sendeformat