NAME
comedi_get_softcal_converter - get converter for software-calibrated
subdevice
SYNOPSIS
#include <comedilib.h>
int comedi_get_softcal_converter (unsigned subdevice, unsigned channel,
unsigned range, enum comedi_conversion_direction direction, const
comedi_calibration_t *parsed_calibration, comedi_polynomial_t
*converter);
STATUS
alpha
DESCRIPTION
comedi_get_softcal_converter() initializes converter so it can be
passed to either comedi_to_physical() or comedi_from_physical(). The
converter parameter can then be used to convert data from the specified
subdevice, channel, and range. The direction parameter specifies
whether converter will be passed to comedi_to_physical() or
comedi_from_physical(). The parsed_calibration parameter contains the
software calibration values for your device, and may be obtained by
calling comedi_parse_calibration_file() on a calibration file generated
by the comedi_soft_calibrate program.
This function is only useful for boards that perform their calibrations
in software on the host computer. A subdevice will advertise the fact
that it depends on a software calibration with the SDF_SOFT_CALIBRATED
subdevice flag.
Whether or not the result of this function actually depends on the
channel parameter is hardware dependent. For example, a multiplexed
analog input will typically use the same calibration for all input
channels. Analog outputs will typically use different calibrations for
each output channel.
Software calibrations are implemented as polynomials (up to third
order). Since the inverse of polynomials of order higher than one
can’t be represented exactly as another polynomial, you may not be able
to get converters for the "reverse" direction. For example, you may be
able to get a converter for an analog input in the COMEDI_TO_PHYSICAL
direction, but not in the COMEDI_FROM_PHYSICAL direction.
RETURN VALUE
Zero on success or -1 on failure.
28 October 2007COMEDI_GET_SOFTCAL_CONVERTER(3)