Move config storage next to the install and auto-create it if missing
versapad_combined.DEFAULT_PATH was hardcoded to this one machine's OneDrive desktop, which made the tool unusable anywhere else. versapad_data.app_dir() now resolves to the running .exe's own folder when frozen, or the project directory when run from source, and DEFAULT_PATH hangs off that instead. load_or_fetch() previously raised when both the file was missing and the board unreachable, blocking a fresh install with no config and no board attached. It now falls back to an empty default_combined() in that case, so the tool is immediately usable either way. desktop_viewer's _current_profile_view() picks up the same fallback instead of re-implementing a narrower version of it. Also drop the hardcoded PROFILE_NAMES dict, which had drifted out of sync with the profile_names already stored in the combined JSON -- renaming a profile in Programmiermodus never showed up in the read-only/browser views. server.py and desktop_viewer.py now read names from the same JSON everywhere. versapad_data.CONFIG_PATHS (read-only interop with the official C# VersaGUI's JSON export) is intentionally left on the OneDrive desktop -- nothing in this codebase writes there, it's not part of this tool's own config.
This commit is contained in:
parent
13c3745479
commit
5d14bdd826
7 changed files with 147 additions and 57 deletions
32
README.md
32
README.md
|
|
@ -11,10 +11,14 @@ Board-Schreibzugriff) und der MCP-Server sind funktionsfähig und gegen ein
|
|||
echtes Board getestet (Read-Modify-Write ist byte-identisch zum Original,
|
||||
inklusive CRC). Nicht vorhanden: automatisierte Tests (Verifikation läuft
|
||||
manuell gegen ein angeschlossenes Board), eine vorgefertigte `.exe` zum
|
||||
Download (siehe unten, warum), und Mehrbenutzer-/Netzwerkbetrieb. Die
|
||||
Standard-Dateipfade für die Config-JSONs sind aktuell für eine bestimmte
|
||||
Windows-Maschine hartkodiert (`versapad_data.CONFIG_PATHS`,
|
||||
`versapad_combined.DEFAULT_PATH`) — für einen anderen Rechner dort anpassen.
|
||||
Download (siehe unten, warum), und Mehrbenutzer-/Netzwerkbetrieb. Die eigene
|
||||
Config-Datei (`versapad_config_all.json`) liegt automatisch neben der
|
||||
Installation (siehe „Aufbau" unten) und wird bei Bedarf automatisch neu
|
||||
angelegt — kein manuelles Pfad-Anpassen mehr nötig. Nur die *optionale*
|
||||
Lese-Interop mit den JSON-Exports der offiziellen VersaGUI
|
||||
(`versapad_data.CONFIG_PATHS`) ist noch für eine bestimmte Windows-Maschine
|
||||
hartkodiert (OneDrive-Desktop) — für einen anderen Rechner dort anpassen,
|
||||
falls gewünscht.
|
||||
|
||||
## Features
|
||||
|
||||
|
|
@ -102,11 +106,21 @@ Das Binärformat (`versapad_protocol.py`) ist 1:1 aus den
|
|||
VersaMCU-Firmware-Quellen übernommen und gegen ein echtes Board validiert
|
||||
(Read → unpack → pack ist bytegenau identisch zum Original, inklusive CRC).
|
||||
|
||||
Config-Dateien liegen standardmäßig auf dem Desktop
|
||||
(`versapad_config1/2/3.json` für den reinen Lesemodus,
|
||||
`versapad_config_all.json` für den Programmiermodus — Pfade sind aktuell
|
||||
hartkodiert für eine bestimmte Windows-Maschine, siehe `CONFIG_PATHS` in
|
||||
`versapad_data.py` bzw. `DEFAULT_PATH` in `versapad_combined.py`).
|
||||
Die eigene Config-Datei (`versapad_config_all.json` — alle 3 Profile +
|
||||
Makros + lokale Profilnamen, siehe `versapad_combined.py`) liegt neben der
|
||||
Installation: bei der gebauten `.exe` im selben Ordner, beim Start aus dem
|
||||
Quellcode im Projektordner (`versapad_data.app_dir()`). Fehlt sie (z.B.
|
||||
frische Installation), wird sie automatisch angelegt — per Serial vom
|
||||
Board, falls eins angeschlossen ist, sonst als leere Default-Config.
|
||||
Profilnamen (`profile_names`) stehen direkt in dieser Datei und lassen sich
|
||||
per Doppelklick auf einen Tab (Programmiermodus) oder `rename_profile()`
|
||||
(MCP) ändern.
|
||||
|
||||
Die klassischen `versapad_config1/2/3.json` sind kein von diesem Tool
|
||||
geschriebenes Format, sondern optionale Lese-Interop mit einem JSON-Export
|
||||
der offiziellen VersaGUI (C#/.NET) — Pfad aktuell hartkodiert auf den
|
||||
OneDrive-Desktop einer bestimmten Windows-Maschine, siehe `CONFIG_PATHS` in
|
||||
`versapad_data.py`.
|
||||
|
||||
## MCP-Server
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue