Harden protocol transfers and config validation
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
Windows-Tray-App zur Konfiguration des VersaPad v2.
|
||||
Geschrieben in C# mit WinForms.
|
||||
|
||||
Hinweis:
|
||||
Diese GUI ist weiterhin die Referenzimplementierung fuer Protokoll und Datenlayout.
|
||||
Parallel existiert mit `VersaGUIDelphi` ein Delphi/VCL-Port unter dem Namen `VersaGUI Delphi`.
|
||||
Diese GUI und das benachbarte Repository `../VersaMCU` sind die gemeinsam
|
||||
gepflegten Referenzen für Protokoll und Datenlayout. Andere GUI-Ports gehören
|
||||
nicht zum aktuellen Scope.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
@@ -17,7 +17,7 @@ Parallel existiert mit `VersaGUIDelphi` ein Delphi/VCL-Port unter dem Namen `Ver
|
||||
## Starten
|
||||
|
||||
```bash
|
||||
dotnet run
|
||||
dotnet run --project src/VersaGUI.csproj
|
||||
```
|
||||
|
||||
## Was die App macht
|
||||
@@ -25,6 +25,7 @@ dotnet run
|
||||
- erkennt das Board automatisch per VID/PID
|
||||
- oeffnet den CDC-COM-Port mit aktivem DTR
|
||||
- liest beim Verbinden zuerst die Config und danach die Makros
|
||||
- validiert Chunkzahl, eindeutige Indizes, Vollständigkeit, CRC und Feldwerte
|
||||
- zeigt MX-Buttons und Encoder-Aktionen an
|
||||
- schreibt Config und Makros getrennt, aber in einem UI-Vorgang auf das Board
|
||||
|
||||
@@ -82,6 +83,9 @@ wait for ACK/NACK
|
||||
|
||||
```text
|
||||
VersaGUI/
|
||||
|-- AGENTS.md
|
||||
|-- doc/
|
||||
|-- tests/VersaGUI.ContractTests/
|
||||
`-- src/
|
||||
|-- Program.cs
|
||||
|-- TrayApp.cs
|
||||
@@ -93,11 +97,23 @@ VersaGUI/
|
||||
`-- Protocol.cs
|
||||
```
|
||||
|
||||
## Build und Vertragsprüfungen
|
||||
|
||||
```bash
|
||||
dotnet build src/VersaGUI.csproj --no-restore
|
||||
dotnet run --project tests/VersaGUI.ContractTests/VersaGUI.ContractTests.csproj
|
||||
```
|
||||
|
||||
## Grenzen / Status
|
||||
|
||||
- Host-Commands sind protokollseitig vorhanden, aber appseitig noch nicht voll ausgebaut
|
||||
- die App ist Windows-only
|
||||
- fuer eine alternative GUI ist `VersaGUIDelphi` der aktuelle Delphi/VCL-Port
|
||||
- Host-Command-Events enthalten Command-ID, Key-/Encoder-ID und Richtung; ein
|
||||
sicheres Mapping auf konkrete Desktop-Aktionen ist noch nicht implementiert
|
||||
|
||||
## Einstieg für Coding-LLMs
|
||||
|
||||
Repository-Anweisungen, gemeinsame Binärverträge und Verifikation stehen in
|
||||
[`AGENTS.md`](AGENTS.md).
|
||||
|
||||
## Weiterfuehrende Doku
|
||||
|
||||
|
||||
Reference in New Issue
Block a user