]> sigrok.org Git - libsigrok.git/commit
output/vcd: assume packed input data image, unbreak 2nd+ channel
authorGerhard Sittig <redacted>
Sun, 4 Feb 2018 22:17:39 +0000 (23:17 +0100)
committerUwe Hermann <redacted>
Fri, 9 Feb 2018 21:40:58 +0000 (22:40 +0100)
commitaa0979482f6e7c269609bb2c22d7d75a2845ac75
tree47859e3c88f4ac84181b0aaa14083d0240a4746f
parenta299a95413594201b4bb58d7d345e1933ebca5ae
output/vcd: assume packed input data image, unbreak 2nd+ channel

The previous implementation only emitted data for the first enabled
channels, and "saw no changes" after emission of the initial value for
channels on positions that followed a disabled channel.

Assume that the received data from the session bus communicates the bits
of enabled channels in a packed representation. Skip the mapping of
output bit indices to sigrok channel numbers.

This fixes the remaining part of bug #519.

Tested by inspecting in gtkwave the result of command:
  $ sigrok-cli -d demo -C D1,D3,D6 -c samplerate=2M --samples 2500 -O vcd -o trace.vcd

When we find that all input sources (device drivers, and input modules)
provide a dense bit field, all of the mapping logic can get removed
here. This commit just quickly disables the logic.
src/output/vcd.c