127 lines
4.9 KiB
Markdown
127 lines
4.9 KiB
Markdown
# ToDo 49 — Cleanup vor Auslieferung
|
|
|
|
Dieser Cleanup wird als letzter Schritt vor einer Auslieferung durchgeführt, nachdem
|
|
die funktionalen ToDos abgeschlossen sind. Einige Punkte sind bereits jetzt erledigbar,
|
|
andere hängen von vorgelagerten ToDos ab.
|
|
|
|
---
|
|
|
|
## 1. ToDo-Dateien aufräumen
|
|
|
|
**Vollständig erledigte ToDos löschen** (alle Punkte `[x]`, keine offenen):
|
|
|
|
- [ ] `doc/ToDo_1_Parsing.md` — vollständig erledigt
|
|
- [ ] `doc/ToDo_2_Anbindung.md` — vollständig erledigt
|
|
- [ ] `doc/ToDo_5_API.md` — vollständig erledigt
|
|
- [ ] `doc/ToDo_8_Bugs.md` — vollständig erledigt (nutzt `✅`-Marker statt `[x]`)
|
|
|
|
**Teilweise erledigte ToDos bereinigen:**
|
|
|
|
- [ ] `doc/ToDo_7_Tests.md` — erledigte Punkte entfernen, nur offene behalten
|
|
|
|
**README.md-Tabelle anpassen:**
|
|
|
|
- [ ] Zeilen der gelöschten ToDo-Dateien aus der Tabelle entfernen
|
|
- [ ] Prioritätsreihenfolge im README auf den aktuellen Stand bringen
|
|
|
|
---
|
|
|
|
## 2. README.md Review
|
|
|
|
- [ ] Alle Abschnitte auf Aktualität prüfen — insbesondere nach den Refactorings aus
|
|
ToDo_1, ToDo_2, ToDo_5
|
|
- [ ] `robot/Robot.js` beschreiben was es nach ToDo_12 ist (Alias → `RobotBase`)
|
|
- [ ] Env-Variablen-Liste: `ROBOT_KINEMATICS` und `ROBOT_KINEMATICS_PARAMS` ergänzen
|
|
(nach ToDo_12 Phase 2)
|
|
- [ ] Tippfehler `GRBL_ELLBOW_IP` prüfen: ist das Legacy-Absicht oder korrigierbar?
|
|
- [ ] Laufzeitvoraussetzungen: `logs/`-Verzeichnis-Hinweis prüfen (nach ToDo_3 evtl. obsolet)
|
|
- [ ] Einmal vollständig lesen und gegen den tatsächlichen Code abgleichen
|
|
|
|
---
|
|
|
|
## 3. Toter Code entfernen
|
|
|
|
Folgende Felder in `robot/Robot.js` werden nirgendwo im Projekt gelesen oder gesetzt
|
|
(Grep über alle `.js` ohne `node_modules` ergibt nur die Deklaration selbst):
|
|
|
|
- [ ] `this.speedX`, `this.speedY`, `this.speedZ` — nie referenziert
|
|
- [ ] `this.doAnimate` — nie referenziert
|
|
- [ ] `this.showFunctions` — nie referenziert
|
|
- [ ] `this.lastCommandSend` / `this.oldCommandTime` — gesetzt, nie gelesen
|
|
- [ ] `this.savedPoints`, `this.atPointNr` — gesetzt, nie gelesen
|
|
|
|
Folgende Methoden in `robot/GCode.js` werden nie aufgerufen:
|
|
|
|
- [ ] `containsMCode()` — hat einen Test, wird im Produktivcode aber nie aufgerufen;
|
|
entweder integrieren oder entfernen (inklusive Test)
|
|
- [ ] `receiveMCode()` — nie aufgerufen, kann entfernt werden
|
|
|
|
---
|
|
|
|
## 4. `robot/Robot.js` Alias aufräumen *(abhängig von ToDo_12 Phase 2)*
|
|
|
|
- [ ] `robot/Robot.js` zeigt nach Phase 1 auf `Arm3SegmentLinearX` (Übergangsalias)
|
|
- [ ] Nach Phase 2: auf `RobotBase` umzeigen:
|
|
```js
|
|
module.exports = require('./RobotBase');
|
|
```
|
|
- [ ] Kommentar in `robot/Robot.js` aktualisieren: Zweck des Alias erklären
|
|
|
|
---
|
|
|
|
## 5. Sicherheit: Zertifikate und private Schlüssel aus Git entfernen
|
|
|
|
Die folgenden Dateien liegen aktuell im Repository und sollten dort **nicht** sein:
|
|
|
|
- [ ] `https/localhost.key` — privater Schlüssel
|
|
- [ ] `https/localhost2.key` — privater Schlüssel
|
|
- [ ] `https/key.pem` — privater Schlüssel
|
|
- [ ] `https/localhost.pem` — Zertifikat
|
|
- [ ] `https/cert_abcd.pfx` — enthält privaten Schlüssel
|
|
- [ ] Diese Dateien aus Git-History entfernen (`git filter-repo` oder `BFG`)
|
|
- [ ] `.gitignore` um `https/*.key`, `https/*.pem`, `https/*.pfx`, `https/*.cer` ergänzen
|
|
- [ ] Eine `https/README.md` oder `https/EXAMPLE.md` anlegen mit Anleitung zur
|
|
Zertifikatserzeugung (z. B. `openssl` self-signed für lokale Entwicklung)
|
|
|
|
---
|
|
|
|
## 6. GCodeFiles/ aus Git entfernen
|
|
|
|
`GCodeFiles/` enthält Nutzungsprotokolle aus 2025 — das ist Laufzeitdata, kein Quellcode.
|
|
|
|
- [ ] `.gitignore` um `GCodeFiles/*.gcode` ergänzen (oder `GCodeFiles/log*.gcode`)
|
|
- [ ] Eine Beispieldatei `GCodeFiles/example.gcode` ins Repository nehmen
|
|
- [ ] Bestehende Log-Dateien aus Git-History entfernen (optional, je nach Sensitivität)
|
|
|
|
---
|
|
|
|
## 7. Naming-Inkonsistenz: `WSSenderGrbl.js`
|
|
|
|
- [ ] `WSSenderGrbl.js` exportiert eine Klasse namens `TelnetSenderGRBL` — das ist
|
|
der alte Name aus der Telnet-Ära
|
|
- [ ] Klasse in `WSSenderGrbl.js` umbenennen auf `WSSenderGrbl`
|
|
- [ ] Alle Importe prüfen (aktuell: `startRobot.js`, Tests)
|
|
|
|
---
|
|
|
|
## 8. Hilfsdateien prüfen
|
|
|
|
- [ ] `install.bat` / `runTest.bat` — aktuell und korrekt? Oder löschen?
|
|
- [ ] `sendTest_Client.py` — gepflegt? Ins README erwähnen oder löschen
|
|
- [ ] `https/info.txt` — Inhalt prüfen; falls nur interne Notizen: löschen
|
|
- [ ] `robot/fluidnc/FluidNCClient.js` — wird von `WSSenderGrbl.js` nicht mehr verwendet;
|
|
entweder löschen oder als "experimentell/archiviert" kennzeichnen
|
|
|
|
---
|
|
|
|
## 9. Console.log-Hygiene
|
|
|
|
Der Code hat viele `console.log`-Aufrufe — einige sind wichtig, andere Debugging-Reste.
|
|
|
|
- [ ] `robot/Robot.js` `sendCommand()`: ausführliches Log bei jedem Befehl — für Produktion
|
|
eher auf `debug`-Level oder hinter eine `verbose`-Flag
|
|
- [ ] `robot/GCode.js`: Motor-Position-Log in `receiveMCode` (ohnehin toter Code)
|
|
- [ ] Sinnvolle Logs behalten (Verbindungsaufbau, Fehler, Start-Info)
|
|
- [ ] Kandidat für späteren Ausbau: leichtgewichtiger Logger statt nacktem `console.log`
|
|
(z. B. Log-Level via Env-Variable)
|