summaryrefslogtreecommitdiff
path: root/tests/decoder.c
diff options
context:
space:
mode:
authorGerhard Sittig <gerhard.sittig@gmx.net>2021-03-20 15:43:13 +0100
committerGerhard Sittig <gerhard.sittig@gmx.net>2021-06-21 09:41:18 +0200
commitc70c28c896ad0509a7fe1b2129c60259c202cb98 (patch)
tree185c758b5adabd0e749db28bb3173b3fba0fbd84 /tests/decoder.c
parentbcb8698eb151b51c17f9205e8752c3ee1413535a (diff)
downloadlibsigrokdecode-c70c28c896ad0509a7fe1b2129c60259c202cb98.tar.gz
libsigrokdecode-c70c28c896ad0509a7fe1b2129c60259c202cb98.zip
ieee488: add support for parallel poll (PP)
The concurrent assertion of ATN and EOI is a PP (parallel poll) query. The host asserts the control signals, and configured devices may assert the DIO lines in response. Because DAV is not involved, and because the input capture may not have DIO at the start of the PP phase, and may neither have DIO any more at its end, the check for parallel poll is more complex. Unconditionally inspecting each sample of the capture is inefficient. Keep manipulating the main loop's wait conditions instead, to stick with edge navigation as long as possible, and only switch to inspection of individual samples when strictly needed. It's also important to gracefully handle low oversampling. Existing test cases suffered from PP glitches when ATN asserted in the same location where EOI deasserted. Be extra conservative about the presence of the PP phase, expect at least two samples (a difference between its start and end position) before emitting the annotation.
Diffstat (limited to 'tests/decoder.c')
0 files changed, 0 insertions, 0 deletions