comedi_apply_calibration — set hardware calibration from file
|comedi_t * device,|
|unsigned int subdevice,|
|unsigned int channel,|
|unsigned int range,|
|unsigned int aref,|
|const char * file_path|
comedi_apply_calibration sets the
hardware calibration for the subdevice specified by
so that it is in proper calibration when using the channel specified by
range index specified by
analog reference specified by
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
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
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
file_path parameter can be used
to specify the file which contains the calibration information.
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).