Live Editor: add DASP/Sox device connection with full CRUD and COV

Port the DASP transport and Sox protocol stack from sedonaOntrol Java
to Python, enabling live device editing alongside the existing offline
SAX editor. Lazy-loads components on navigation, caches them, and
subscribes to COV events for the active wiresheet.

New files: dasp.py, sox.py, device_session.py, connect_dialog.py,
live_hooks.py. Modified: app_state.py (live-mode state), main.py
(Device menu, COV polling, lazy tree expand), properties.py (Sox
write-through), sax_file.py (structural mutations route through
live_hooks), schema.py (find_manifest helper).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-11 23:31:36 +03:00
co-authored by Claude Opus 4.6
parent 48dfd82832
commit dafebcebda
10 changed files with 3052 additions and 26 deletions
+12
View File
@@ -224,6 +224,18 @@ def find_manifest_path(kit_name, checksum):
return None
def find_manifest(kit_name, checksum):
"""Returns the parsed ET root of a kit manifest, or None."""
checksum_hex = f"{checksum:08x}" if isinstance(checksum, int) else checksum
path = find_manifest_path(kit_name, checksum_hex)
if path is None:
return None
try:
return ET.parse(path).getroot()
except Exception:
return None
def load_schema_kits_and_manifests():
"""Loads the manifests for the file's <schema> kits, plus any kit still only pending.