This outputs text representation of SR_DF_ANALOG packets. Unlike the
float module however, it also outputs the standard abbreviations of
SI units corresponding to the packet's MQ and unit.
It also makes an effort to multiply or divide the floating point value
as needed to the nearest multiple or fraction, and inserts the
appropriate SI prefix to match.
The new output module callbacks will be init, recv and cleanup. The
existing data and event callbacks still work, but will be phased out
as existing modules get converted.
The recv() callback gets a copy of every packet on the session bus,
and thus has visibility of all metadata, allowing it to properly
output any acquired data.
Remove the session source once we are done loading the file, otherwise we'll
spin forever in sr_session_run.
Reported-by: Joel Holdsworth <joel@airwebreathe.org.uk>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
These are used to list the device instances currently known to the driver,
and clear that list.
Drivers that don't necessarily clear their list of instances on every scan,
such as genericdmm, need to provide these to the frontend to keep instance
management sane.
Since probes now live in a struct sr_dev_inst owned by the driver, it
already knows about them. Instead of a frontend telling the driver to
configure probes, all driver now do this just before starting acquisition.
To find a driver or device option by name, the sr_drvopt_name_get() and
sr_devopt_name_get() calls are now available. This was the only reason the
driver and device struct sr_hwcap_option arrays were published.
It's up to the driver to keep its GSList of struct sr_dev_inst * in there.
Anything else the driver wants to keep driver-global should also go in
there, such as libusb_context.