]> sigrok.org Git - libsigrokdecode.git/commit
parallel: flush accumulated data when input data is exhausted
authorGerhard Sittig <redacted>
Mon, 3 Oct 2022 16:29:46 +0000 (18:29 +0200)
committerGerhard Sittig <redacted>
Mon, 3 Oct 2022 19:30:52 +0000 (21:30 +0200)
commite303fd42917f4e15a06c9da5912344c8566fffb0
treefe3d43469b9eb385188cbd3875d2a7fe9c57c1e4
parent27a86cefb655ecdfb8d912a5388fe8768b264ff5
parallel: flush accumulated data when input data is exhausted

The "parallel" decoder buffers the currently seen data pattern, and
defers annotation emission until the end position is known. Which is
why the last data pattern would not show up in the decoder's output.
See bug #292 and its duplicates for examples and concerns.

Catch the EOFError exception, and flush previously accumulated data.

It is yet to get determined whether a warning annotation is due. Most
probably not for "parallel" which merely visualizes data line states.
But other decoders which have the concept of frames shall NOT follow
this "parallel" decoder's naive approach, and claim that a frame had
completed although its end condition was never seen. Add a developer
TODO comment to raise awareness.
decoders/parallel/pd.py