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.