Harden firmware state and transfer handling
This commit is contained in:
@@ -9,7 +9,7 @@ LLM-basierten Coding-Agent zusätzlich die Anweisungen in
|
||||
- PlatformIO Core oder PlatformIO IDE
|
||||
- USB-Kabel für Laufzeittests
|
||||
- Atmel-ICE beziehungsweise kompatibler CMSIS-DAP-Adapter für den Upload
|
||||
- Zugriff auf die separat gepflegte Windows-GUI, wenn das CDC-Protokoll oder
|
||||
- das benachbarte Repository `../VersaGUI`, wenn das CDC-Protokoll oder
|
||||
persistente Formate geändert werden
|
||||
|
||||
PlatformIO lädt den Arduino-SAMD-Core, OpenOCD und `Adafruit NeoPixel` über
|
||||
@@ -66,7 +66,8 @@ und NVM-Schreibvorgängen. Es gibt keinen Scheduler und keine Threads.
|
||||
|
||||
## Verifikation
|
||||
|
||||
Es gibt derzeit keine automatisierten Tests. Der minimale lokale Check ist:
|
||||
Für die Firmware gibt es derzeit keine automatisierten Tests. Der minimale
|
||||
lokale Check ist:
|
||||
|
||||
```bash
|
||||
pio run -e versapad
|
||||
@@ -82,9 +83,12 @@ Je nach Änderung folgen Hardwaretests:
|
||||
- NVM: Power-Cycle, ungültige CRC und Werksreset
|
||||
- LEDs: alle Animationen, Helligkeit und temporäre Overrides
|
||||
|
||||
Die GUI ist ein externer Vertrag. Änderungen an `SDeviceConfig`,
|
||||
`SMacroTable`, Action-Werten oder USB-IDs sind erst vollständig verifiziert,
|
||||
wenn Firmware und GUI dieselben Bytes senden und interpretieren.
|
||||
Die GUI ist ein separates Git-Repository im selben Workspace. Änderungen an
|
||||
`SDeviceConfig`, `SMacroTable`, Action-Werten oder USB-IDs sind erst
|
||||
vollständig verifiziert, wenn Firmware und `../VersaGUI` dieselben Bytes
|
||||
senden und interpretieren. `DelphiGUI` gehört nicht zum gepflegten Scope.
|
||||
Die automatisierten GUI-Vertragstests liegen unter
|
||||
`../VersaGUI/tests/VersaGUI.ContractTests/`.
|
||||
|
||||
## Dokumentation mitpflegen
|
||||
|
||||
@@ -92,4 +96,3 @@ Bei jedem Change die betroffene Fachdokumentation aktualisieren. Zahlen wie
|
||||
Structgrößen, Offsets, Chunk-Anzahlen und Flashgrenzen immer aus dem neuen Code
|
||||
neu ableiten. Offene oder absichtlich nicht behobene Punkte gehören nach
|
||||
[`09_known_limitations.md`](09_known_limitations.md).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user