comedi_get_softcal_converter
Prev | 5.4.3. Calibration | Next

## Name

comedi_get_softcal_converter — get converter for software-calibrated subdevice

## Synopsis

    #include <comedilib.h>

`int comedi_get_softcal_converter(` | unsigned subdevice,
| unsigned channel,
| unsigned range,
| enum comedi_conversion_direction direction,
| const comedi_calibration_t * parsed_calibration,
| comedi_polynomial_t * converter`)`;

## Status

alpha

## 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.

## Return value

Returns `0` on success, `-1` on failure.

Prev | Up | Next
comedi_get_hardcal_converter | Home | comedi_parse_calibration_file