summaryrefslogtreecommitdiff
path: root/decoders/jtag/pd.py
diff options
context:
space:
mode:
authorGerhard Sittig <gerhard.sittig@gmx.net>2019-10-03 04:38:01 +0200
committerUwe Hermann <uwe@hermann-uwe.de>2019-12-06 22:15:43 +0100
commit92ee3b2841960d3ac8ca736943cf23d73a41874e (patch)
treef77d1a2573ecdcad61159e37561e9e7b97e61ca5 /decoders/jtag/pd.py
parent0700c9030ea93742d47e78c1f74e206c77e906e4 (diff)
downloadlibsigrokdecode-92ee3b2841960d3ac8ca736943cf23d73a41874e.tar.gz
libsigrokdecode-92ee3b2841960d3ac8ca736943cf23d73a41874e.zip
ieee488: introduce unified IEEE-488 decoder (supports GPIB and IEC)
Introduce an 'ieee488' protocol decoder which handles both the 16 lines parallel GPIB variant as well as the serial IEC bus variant. Which kind of supersedes the 'gpib' and 'iec' decoders. This implementation increases maintainability because only the extraction of raw bytes from the parallel or serial bus is separate, and all GPIB related command/address/data interpretation is shared. This decoder extends the feature set of the previous versions: Visual annotations are more fine grained (more classes, additional rows, various text lengths to maintain usability during zoom). There is binary output for communicated data, as well as Python output for stacked decoders. Consecutive runs of talker data gets accumulated, and is made available in binary form as well as text (with escapes for non-printables). The terse single-letter format (character codes '0' to 'O' for addresses) is kept for compatibility for those users who are accustomed to it. The implemented logic also copes with captures of low samplerate, where edges happen to fall onto the same sample number which at higher samplerates shall be perceived as distant and should get processed in their respective order of appearance. This implementation tracks the most recent configuration of "peers" (the set of talkers and listeners). A future implementation might support the isolation of a single conversation out of a busy chat on the bus. Some optional support for Commodore peripherals is included (currently limited to disk channels), while it's recommended to move this logic to a stacked decoder if it grows more complex.
Diffstat (limited to 'decoders/jtag/pd.py')
0 files changed, 0 insertions, 0 deletions