gui: add File source type to connection tab

- ConnectionConfig: new file_path and delay fields
- ConnectionRow: File page with path input, Browse button, delay
  spinner (0–10 s), and auto-fill of receiver-ID from filename
- ReceiverManager.connect_receiver: FileBackend wired for 'file' type;
  UBX poll timer skipped for file sources
- FileBackend.register_xcvr: fallback to first unoccupied entry when
  name does not match filename pattern

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 12:47:28 +02:00
co-authored by Claude Sonnet 4.6
parent 4c00f57a85
commit ff686b64f7
3 changed files with 80 additions and 20 deletions
+6 -1
View File
@@ -35,7 +35,12 @@ class FileBackend(ABackend):
e['xcvr'] = xcvr
xcvr.on_register(self)
return
raise Exception(f"No log file found for source \"{xcvr.name}\"")
for e in self._entries:
if e['xcvr'] is None:
e['xcvr'] = xcvr
xcvr.on_register(self)
return
raise Exception(f"No available log file entry for \"{xcvr.name}\"")
def connect(self):
for e in self._entries: