logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

comedi_get_softcal_converter - get converter for software-calibrated subdevice

Authors

DavidSchleef <ds@schleef.org>
           Author.

       FrankMoriHess <fmhess@users.sourceforge.net>
           Author.

       HermanBruyninckx <Herman.Bruyninckx@mech.kuleuven.ac.be>
           Author.

       BerndPorr <tech@linux-usb-daq.co.uk>
           Author.

       IanAbbott <abbotti@mev.co.uk>
           Author.

       ÉricPiel <piel@delmic.com>
           Author.

Description

       The function comedi_get_softcal_converter initializes the comedi_polynomial_t pointed to by converter so
       it can be passed to either comedi_to_physical or comedi_from_physical. The comedi_polynomial_t pointed to
       by converter can then be used to convert data for 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 points to 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, the calibration of a multiplexed analog input will typically not depend on the
       channel, only the range. 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 a
       polynomial 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.

Name

       comedi_get_softcal_converter - get converter for software-calibrated subdevice

Return Value

       Returns 0 on success, -1 on failure.

Status

       alpha

Synopsis

#include<comedilib.h>intcomedi_get_softcal_converter(unsignedsubdevice,unsignedchannel,unsignedrange,enumcomedi_conversion_directiondirection,constcomedi_calibration_t*parsed_calibration,comedi_polynomial_t*converter);

See Also