Decode standard PPS sub-types + RST CLK extension → ATR data rate
- capture.py: map GSMTAP PPS request/response (0x02/0x03) to 'pps', matching the pcap-import mapping (was decoded as TPDU live) - decode.py: parse the optional RST CLK extension (sigrok v1.9.0+, payload flag bit 0); ATR gains clk_hz/data_rate/etu_us derived from TA1 Fi/Di (data_rate = clk_hz × D / F) - database.py: CLK state is consumed by the next ATR (no stale rate for an ATR without preceding RST); a late-arriving RST measurement is backfilled onto the ATR it belongs to; replay context carries the CLK across pagination/live polling - PWA: ATR detail shows CLK/Data rate/ETU; RST event detail shows CLK - tests: PPS mapping, CLK parse with/without flag, rate math, DB consume + backfill round-trips - README/RUS updated - Bump 1.22.18, SW cache v49->v50
This commit is contained in:
1 parent
c2f605a391
commit
a46667d93f
12 files changed
+211
-40
No files matched your search
@@ -19,7 +19,8 @@ class TestGsmtapSubtypeMapping(unittest.TestCase):
|
||||
def test_standard_subtypes(self):
|
||||
self.assertEqual(gsmtap_msg_type(0x00), 'tpdu')
|
||||
self.assertEqual(gsmtap_msg_type(0x01), 'atr')
|
||||
self.assertEqual(gsmtap_msg_type(0x02), 'tpdu') # PPS combined
|
||||
self.assertEqual(gsmtap_msg_type(0x02), 'pps') # PPS request
|
||||
self.assertEqual(gsmtap_msg_type(0x03), 'pps') # PPS response
|
||||
|
||||
|
||||
class _FakeBackend:
|
||||
|
||||
Reference in new issue
Block a user