Probe groups support
libsigrok has gained a long-overdue feature recently: support for so-called probe groups.
Until now, various config options for drivers have always applied to all probes of a device. For example, on a 2-channel oscilloscope like the Rigol DS1052E you could set e.g. the "Volts per division" config option to a certain value (say, 2V). However, the setting would always be applied to all probes (i.e., both channels of the scope). It was not possible to set different values for each individual probe.
The new probe groups feature (via the respective API changes in the drivers and libsigrok backend code) allows each driver to define groups of probes that have the same properties and the same settings. This applies to all kinds of drivers/devices (not just oscilloscopes), including multimeters, logic analyzers, MSOs, thermometers, and so on.
The following example sigrok-cli call will change the V/div setting on a Rigol DS1052E scope to 2V, but only on the "CH1" probe group (which happens to only contain one probe, the first channel of the scope):
$ sigrok-cli --driver rigol-ds1xx2:conn=/dev/usbtmc0 --probe-group CH1 -c vdiv=2V --set
It does not change the V/div setting of all other probe groups (i.e., the second channel of the scope in this case).
Thanks a lot to Martin Ling for coming up with the proposal for probe group support in libsigrok, as well as the initial implementation!
So far the rigol-ds1xx2 driver has been converted to actively use the new probe groups feature. Various other drivers will follow over time.
- Uwe Hermann's blog
- 6363 reads