Commit graph

25 commits

Author SHA1 Message Date
KoenigMjr 23d1b1a328 Fix POCSAG decoding crash caused by invalid subric parsing
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 Function, 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.
2025-10-22 09:59:59 +02:00
Bastian Schroll dc052b94f4
fix IndexError: list index out of range in sdr input routine (pocsagDecoder) #111 2025-06-11 08:33:09 +00:00
Luflosi d4dcc75711
Avoid "DeprecationWarning: invalid escape sequence"
Without this change, many warnings like this will be generated while running pytest:
```
test/test_template.py:3
  /build/source/test/test_template.py:3: DeprecationWarning: invalid escape sequence '\/'
    """!
```
This can also be seen when manually running python with warnings enabled.

This happens because the comment uses a multiline string and Python interprets the backslash in the logo as an escape character and complains that \/ is not a valid escape sequence. To fix this, prepend the string with the letter r to indicate that the backslash should be treated as a literal character, see https://docs.python.org/3/reference/lexical_analysis.html#index-20.
I also applied this change to all the comment strings since that shouldn't break anything and to establish it as a pattern for the future so this problem hopefully never happens again.

This is what I did specifically:
- Change the comment at the top of bw_client.py and bw_server.py to start with `"""!` since that seems to be the pattern here
- Search-and-Replace all occurances of `"""!` with `r"""!`
- Manually change the strings in `logoToLog()` in boswatch/utils/header.py
2023-09-19 17:49:09 +02:00
Philipp von Kirschbaum 514a142521 fixed zvei bug - issue #23 2020-04-11 15:05:22 +02:00
Bastian Schroll 960f2c48f0
some changes on decoder 2019-10-26 18:56:14 +02:00
Bastian Schroll f88c3ea03f improve logging 2019-10-23 08:10:50 +02:00
Bastian Schroll 2f948b9e2d improve bw_client input thread 2019-10-10 19:36:11 +02:00
Bastian Schroll 68a2ade84e rename Decoder 2019-09-20 18:27:20 +02:00
Bastian Schroll 957b22e087 fix decoder 2019-09-20 17:38:33 +02:00
Bastian Schroll aeaea325e9 many file moves 2019-03-01 12:16:06 +01:00
Bastian Schroll f1bf468c2a make decoder classes <<static>> 2018-09-09 16:34:44 +02:00
Bastian Schroll a6542f0b63 edit decoder tests 2018-09-09 16:23:09 +02:00
Bastian Schroll a1e1be6275 change decoder strategy 2018-09-09 16:17:49 +02:00
Bastian Schroll fd501c23dc some little improvements 2018-02-03 22:32:28 +01:00
Bastian Schroll 6e011301d4 fix some typos and other 2018-01-11 13:01:27 +01:00
Bastian Schroll 36781fc254 edit bwPacket Methods get and set 2018-01-09 11:33:23 +01:00
Bastian Schroll 27c33c5f0d edit __init__.py's 2018-01-08 20:09:15 +01:00
Bastian Schroll f6094618d8 some edits 2018-01-08 08:09:23 +01:00
Bastian Schroll b5b5562a5d fix error in decoder 2018-01-08 07:58:33 +01:00
Bastian Schroll 881615dcce little edits on decoder 2018-01-08 07:56:10 +01:00
Bastian Schroll c2fc70f270 edit decoder.py 2018-01-07 22:05:25 +01:00
Bastian Schroll ca6f05ffed add decoders and tests 2018-01-07 14:09:40 +01:00
Bastian Schroll af9a79193b pep8 changes 2018-01-05 15:50:47 +01:00
Bastian Schroll 7e611973ee add encoding tag to __init__ files 2018-01-05 14:34:27 +01:00
Bastian Schroll 1de0ad74b6 add some __init___ files 2018-01-05 13:02:09 +01:00