mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2026-01-04 23:59:58 +01:00
Errorcode führte zu Programmexit:
12.10.2025 02:20:39,918 - inputThread sdrInput _runThread [ERROR] error in sdr input routine
Traceback (most recent call last):
File "/opt/boswatch3/boswatch/inputSource/sdrInput.py", line 65, in _runThread
self.addToQueue(line)
...
ValueError: invalid literal for int() with base 10: ' '
Ursache:
Die Funktion _getBitrateRicSubric() in pocsagDecoder.py griff fest auf data[40] zu, um den SubRIC-Wert zu ermitteln. Bei Fehlerhaften Datensätzen von multimon-ng kann sich die Position jedoch verschieben, wodurch an dieser Stelle ein Leerzeichen (' ') statt einer Ziffer stand. Dies führte zu einem ValueError und damit zum Abbruch des gesamten SDR-Threads.
Änderung:
Die Funktion wurde auf robuste Regex-Analyse umgestellt (analog fmsDecoder.py und pocsagDecoder.py):
Bitrate, Address (RIC) und Function (SubRIC) werden nun mit regulären Ausdrücken extrahiert.
Die ursprüngliche Logik (subric = int(Function) + 1) bleibt vollständig erhalten.
Enthält die Zeile keine gültige Funktion, wird eine Warnung geloggt ("Invalid POCSAG function (not 0–3)")
Zusätzliche Fehlerabsicherung durch try/except.
Ergebnis:
Der Decoder ist nun tolerant gegenüber Formatabweichungen und verhindert Abstürze bei fehlerhaften oder unvollständigen multimon-ng-Zeilen.
|
||
|---|---|---|
| .. | ||
| decoder | ||
| inputSource | ||
| network | ||
| router | ||
| utils | ||
| __init__.py | ||
| configYaml.py | ||
| packet.py | ||
| processManager.py | ||
| timer.py | ||
| wildcard.py | ||