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_apply_calibration - set hardware calibration from file

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_apply_calibration sets the hardware calibration for the subdevice specified by device
       and subdevice so that it is in proper calibration when using the channel specified by channel, range
       index specified by range and analog reference specified by aref. It does so by performing writes to the
       appropriate channels of the board's calibration subdevice(s). Depending on the hardware, the calibration
       settings used may or may not depend on the channel, range, or analog reference. Furthermore, the
       calibrations appropriate for different channel, range, and analog reference parameters may not be able to
       be applied simultaneously. For example, some boards cannot have their analog inputs calibrated for more
       than one input range simultaneously. Applying a calibration for range 1 may blow away a previously
       applied calibration for range 0. Or, applying a calibration for analog input channel 0 may cause the same
       calibration to be applied to all the other analog input channels as well. Your only guarantee is that
       calls to comedi_apply_calibration on different subdevices will not interfere with each other.

       In practice, their are some rules of thumb on how calibrations behave. No calibrations depend on the
       analog reference. A multiplexed analog input will have calibration settings that do not depend on the
       channel, and applying a setting for one channel will affect all channels equally. Analog outputs, and
       analog inputs with independent a/d converters for each input channel, will have calibration settings
       which do depend on the channel, and the settings for each channel will be independent of the other
       channels.

       If you wish to investigate exactly what comedi_apply_calibration is doing, you can perform reads on your
       board's calibration subdevice to see which calibration channels it is changing. You can also try to
       decipher the calibration file directly (it's a text file).

       The file_path parameter can be used to specify the file which contains the calibration information. If
       file_path is NULL, then Comedilib will use a default file location. The calibration information used by
       this function is generated by the comedi_calibrate program (see its man page).

       The functions comedi_parse_calibration_file, comedi_apply_parsed_calibration, and
       comedi_cleanup_calibration provide the same functionality at a slightly lower level.

Name

       comedi_apply_calibration - set hardware calibration from file

Return Value

       Returns 0 on success, -1 on failure.

Status

       alpha

Synopsis

#include<comedilib.h>intcomedi_apply_calibration(comedi_t*device,unsignedintsubdevice,unsignedintchannel,unsignedintrange,unsignedintaref,constchar*file_path);

See Also