]> sigrok.org Git - libsigrok.git/commit
demo: Skip generating data when all channels in a group are disabled
authorGerhard Sittig <redacted>
Sat, 17 Jun 2017 18:59:18 +0000 (20:59 +0200)
committerUwe Hermann <redacted>
Fri, 23 Jun 2017 17:33:24 +0000 (19:33 +0200)
commit1b7b72d49e5ce19593ca4b2a793bec441b4cdea4
tree33f07cc681ea4bb865465958eae62969f128b8a6
parent01f2adb07a66a4e8e8a6102c7f6bb905007d606a
demo: Skip generating data when all channels in a group are disabled

The generator logic determines how many samples per group (analog and
logic) need to get produced, then keeps iterating until each group has
reached the specified count. Different groups can generate different
numbers of samples per iteration, they have their own stride.

It's essential to check whether all channels in a group are disabled, to
then completely skip the respective half of the generation loop. Without
this check, the group would be expected to generate data but it won't,
which results in an endless loop. This was observed with analog channels.

There was another issue with logic channels. Unexpected logic data was
seen in the output although neither logic channel was selected.

This commit fixes bug #923.
src/hardware/demo/api.c
src/hardware/demo/protocol.c
src/hardware/demo/protocol.h