Rename RST de-asserted label to 'RST de-asserted — ATR follows'
- More precise than 'ATR STARTS' (the ATR starts after the de-assert delay, not at the edge) while staying human-friendly; reads as a pair with 'RESET ASSERTED' - Update tests and both READMEs (backend-only, no version bump)
This commit is contained in:
1 parent
a46667d93f
commit
39ee173a7d
4 files changed
+11
-9
No files matched your search
@@ -132,8 +132,9 @@ The GSMTAP listener also accepts the **sigrok-iso7816-stream** decoder
|
|||||||
passive SIM sniffer that emits the same GSMTAP-SIM format on UDP 4729. Its
|
passive SIM sniffer that emits the same GSMTAP-SIM format on UDP 4729. Its
|
||||||
standard PPS request/response sub-types (`0x02`/`0x03`) are decoded as PPS,
|
standard PPS request/response sub-types (`0x02`/`0x03`) are decoded as PPS,
|
||||||
and its custom sub-types for RST/VCC line events (`0x10`/`0x11`, added for
|
and its custom sub-types for RST/VCC line events (`0x10`/`0x11`, added for
|
||||||
compatibility with that project) are decoded as `RESET ASSERTED/DE-ASSERTED`
|
compatibility with that project) are decoded as `RESET ASSERTED` /
|
||||||
and `VCC ON/OFF` timeline markers, and a reset-assert or power-removal
|
`RST de-asserted — ATR follows` and `VCC ON/OFF` timeline markers, and a
|
||||||
|
reset-assert or power-removal
|
||||||
correctly invalidates the file-selection tracking. When an RST event carries
|
correctly invalidates the file-selection tracking. When an RST event carries
|
||||||
the measured CLK frequency (decoder v1.9.0+, optional payload extension), the
|
the measured CLK frequency (decoder v1.9.0+, optional payload extension), the
|
||||||
following ATR is annotated with the CLK frequency, data rate and ETU derived
|
following ATR is annotated with the CLK frequency, data rate and ETU derived
|
||||||
|
|||||||
+3
-2
@@ -140,8 +140,9 @@ GSMTAP-листенер также принимает декодер **sigrok-is
|
|||||||
на UDP 4729. Его стандартные подтипы PPS-запроса/ответа (`0x02`/`0x03`)
|
на UDP 4729. Его стандартные подтипы PPS-запроса/ответа (`0x02`/`0x03`)
|
||||||
декодируются как PPS, а пользовательские подтипы для событий линий RST/VCC
|
декодируются как PPS, а пользовательские подтипы для событий линий RST/VCC
|
||||||
(`0x10`/`0x11`, добавлены для совместимости с тем проектом) — как временные
|
(`0x10`/`0x11`, добавлены для совместимости с тем проектом) — как временные
|
||||||
маркеры `RESET ASSERTED/DE-ASSERTED` и `VCC ON/OFF`; сброс или пропадание
|
маркеры `RESET ASSERTED` / `RST de-asserted — ATR follows` и `VCC ON/OFF`;
|
||||||
питания корректно сбрасывает отслеживание выбранного файла. Когда событие
|
сброс или пропадание питания корректно сбрасывает отслеживание выбранного
|
||||||
|
файла. Когда событие
|
||||||
RST несёт измеренную частоту CLK (декодер v1.9.0+, опциональное расширение
|
RST несёт измеренную частоту CLK (декодер v1.9.0+, опциональное расширение
|
||||||
полезной нагрузки), следующий ATR получает частоту CLK, скорость передачи
|
полезной нагрузки), следующий ATR получает частоту CLK, скорость передачи
|
||||||
данных и ETU, вычисленные из его TA1 Fi/Di
|
данных и ETU, вычисленные из его TA1 Fi/Di
|
||||||
|
|||||||
@@ -4027,8 +4027,8 @@ def decode_line_event(raw_data, kind):
|
|||||||
(decoder v1.9.0+); bytes 3..6 are then a big-endian uint32 in Hz.
|
(decoder v1.9.0+); bytes 3..6 are then a big-endian uint32 in Hz.
|
||||||
|
|
||||||
``event`` is the canonical value; ``label`` is the human-facing
|
``event`` is the canonical value; ``label`` is the human-facing
|
||||||
summary (e.g. RST de-asserted → "ATR STARTS", VCC applied →
|
summary (e.g. RST de-asserted → "RST de-asserted — ATR follows",
|
||||||
"VCC ON (power-up)").
|
VCC applied → "VCC ON (power-up)").
|
||||||
"""
|
"""
|
||||||
result = {'type': kind}
|
result = {'type': kind}
|
||||||
if raw_data and len(raw_data) >= 2:
|
if raw_data and len(raw_data) >= 2:
|
||||||
@@ -4039,7 +4039,7 @@ def decode_line_event(raw_data, kind):
|
|||||||
result['label'] = 'RESET ASSERTED'
|
result['label'] = 'RESET ASSERTED'
|
||||||
else:
|
else:
|
||||||
result['event'] = 'reset de-asserted'
|
result['event'] = 'reset de-asserted'
|
||||||
result['label'] = 'ATR STARTS'
|
result['label'] = 'RST de-asserted — ATR follows'
|
||||||
else:
|
else:
|
||||||
if direction:
|
if direction:
|
||||||
result['event'] = 'power applied'
|
result['event'] = 'power applied'
|
||||||
|
|||||||
@@ -2405,7 +2405,7 @@ class TestLineEvents(unittest.TestCase):
|
|||||||
def test_rst_deasserted(self):
|
def test_rst_deasserted(self):
|
||||||
r = self._dec('rst', '000100')
|
r = self._dec('rst', '000100')
|
||||||
self.assertEqual(r['event'], 'reset de-asserted')
|
self.assertEqual(r['event'], 'reset de-asserted')
|
||||||
self.assertEqual(r['label'], 'ATR STARTS')
|
self.assertEqual(r['label'], 'RST de-asserted — ATR follows')
|
||||||
self.assertEqual(r['level'], 'high')
|
self.assertEqual(r['level'], 'high')
|
||||||
|
|
||||||
def test_vcc_on(self):
|
def test_vcc_on(self):
|
||||||
@@ -2431,7 +2431,7 @@ class TestLineEvents(unittest.TestCase):
|
|||||||
db.insert_message(sid, 0.1, 'rst', bytes.fromhex('000100'), 0)
|
db.insert_message(sid, 0.1, 'rst', bytes.fromhex('000100'), 0)
|
||||||
db.insert_message(sid, 0.2, 'vcc', bytes.fromhex('010100'), 0)
|
db.insert_message(sid, 0.2, 'vcc', bytes.fromhex('010100'), 0)
|
||||||
msgs = db.get_messages(sid)
|
msgs = db.get_messages(sid)
|
||||||
self.assertEqual(msgs[0]['decoded']['label'], 'ATR STARTS')
|
self.assertEqual(msgs[0]['decoded']['label'], 'RST de-asserted — ATR follows')
|
||||||
self.assertEqual(msgs[1]['decoded']['label'], 'VCC ON (power-up)')
|
self.assertEqual(msgs[1]['decoded']['label'], 'VCC ON (power-up)')
|
||||||
|
|
||||||
def test_sniff_routing(self):
|
def test_sniff_routing(self):
|
||||||
|
|||||||
Reference in new issue
Block a user