v1.8.0: PPS as standard request/response packets; fix res-byte flag docs

- Split the PPS exchange into the two standard GSMTAP-SIM subtypes:
  0x02 (PPS_REQ, raw request bytes, span ss..es_req) and 0x03 (PPS_RSP,
  raw response bytes, span es_req..end), replacing the single 0x02 packet
  with concatenated request+response that deviated from libosmocore's
  gsmtap.h.  Wireshark now dissects both halves; simtrace2-pysniff needs
  no change (its importer already maps 0x03 to 'pps' and _decode_pps()
  parses the 0xFF-leading response frame).  PPS annotation/log unchanged.
- gsmtap_stream.py: GSMTAP_SIM_PPS_REQ/RSP constants; header field labels
  aligned with libosmocore's struct (signal_dbm/snr_db).
- Docs: GSMTAP event tables (EN/RU) updated, PPS deviation note removed;
  corrected the res-byte flag attribution -- upstream simtrace2 never
  sets res, so the GSMTAP_FLAG_BAD_FCS carriage is this decoder's own
  extension (semantics mirror simtrace2's USB data flags).
- Tests: assert the PPS subtype values; baseline regenerated (only the
  version line and test listing differed -- no decode-metric changes).
  68/68 unit tests.
This commit is contained in:
catarrh committed 2026-09-17 23:01:40 +03:00
1 parent c222eecb3c
commit e5a2b7c83b
7 files changed
+103 -54

No files matched your search

+6
View File
@@ -66,6 +66,12 @@ class TestGsmtapFlags(unittest.TestCase):
def test_flag_constant_value(self):
self.assertEqual(self.gs.GSMTAP_FLAG_BAD_FCS, 0x01)
def test_pps_subtypes_are_standard(self):
# PPS is emitted as the two standard GSMTAP-SIM subtypes
# (libosmocore gsmtap.h), request and response as separate packets.
self.assertEqual(self.gs.GSMTAP_SIM_PPS_REQ, 0x02)
self.assertEqual(self.gs.GSMTAP_SIM_PPS_RSP, 0x03)
class TestDesyncHelpers(unittest.TestCase):
@classmethod