Provided by: libcomedi-dev_0.11.0-1_amd64 bug

NAME

       comedi_apply_calibration - set hardware calibration from file

SYNOPSIS

       #include <comedilib.h>

       int comedi_apply_calibration(comedi_t * device, unsigned int subdevice,
                                    unsigned int channel, unsigned int range, unsigned int aref,
                                    const char * file_path);

STATUS

       alpha

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.

RETURN VALUE

       Returns 0 on success, -1 on failure.

AUTHORS

       David Schleef <ds@schleef.org>
           Author.

       Frank Mori Hess <fmhess@users.sourceforge.net>
           Author.

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

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

       Ian Abbott <abbotti@mev.co.uk>
           Author.

       Éric Piel <piel@delmic.com>
           Author.

COPYRIGHT

       Copyright © 1998-2003 David Schleef
       Copyright © 2001-2003, 2005, 2008 Frank Mori Hess
       Copyright © 2002-2003 Herman Bruyninckx
       Copyright © 2012 Bernd Porr
       Copyright © 2012 Ian Abbott
       Copyright © 2012, 2015 Éric Piel

       This document is part of Comedilib. In the context of this document, the term "source
       code" as defined by the license is interpreted as the XML source.

       This library is free software; you can redistribute it and/or modify it under the terms of
       the GNU Lesser General Public License as published by the Free Software Foundation,
       version 2.1 of the License.

       This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
       without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       See the GNU Lesser General Public License for more details.

       You should have received a copy of the GNU Lesser General Public License along with this
       library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
       Boston, MA 02111-1307 USA.