Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures
consumer.h File Reference
#include <linux/iio/types.h>

Go to the source code of this file.

Data Structures

struct  iio_channel
 

Functions

: Unique name of the device as provided in the iio_map

iio_channel_get() - get description of all that is needed to access channel.

    with which the desired provider to consumer mapping
    was registered.

: Unique name to identify the channel on the consumer side. This typically describes the channels use within the consumer. E.g. 'battery_voltage'

struct iio_channeliio_channel_get (const char *name, const char *consumer_channel)
 
void iio_channel_release (struct iio_channel *chan)
 
: name of consumer device.

iio_channel_get_all() - get all channels associated with a client

Returns an array of iio_channel structures terminated with one with null iio_dev pointer. This function is used by fairly generic consumers to get all the channels registered as having this consumer.

struct iio_channeliio_channel_get_all (const char *name)
 
void iio_channel_release_all (struct iio_channel *chan)
 
int iio_read_channel_raw (struct iio_channel *chan, int *val)
 
int iio_read_channel_processed (struct iio_channel *chan, int *val)
 
int iio_get_channel_type (struct iio_channel *channel, enum iio_chan_type *type)
 
int iio_read_channel_scale (struct iio_channel *chan, int *val, int *val2)
 
int iio_convert_raw_to_processed (struct iio_channel *chan, int raw, int *processed, unsigned int scale)
 

Function Documentation

struct iio_channel* iio_channel_get ( const char name,
const char consumer_channel 
)
read

Definition at line 110 of file inkern.c.

struct iio_channel* iio_channel_get_all ( const char name)
read

Definition at line 170 of file inkern.c.

void iio_channel_release ( struct iio_channel chan)

iio_channel_release() - release channels obtained via iio_channel_get : The channel to be released.

Definition at line 163 of file inkern.c.

void iio_channel_release_all ( struct iio_channel chan)

iio_channel_release_all() - reverse iio_channel_get_all : Array of channels to be released.

Definition at line 235 of file inkern.c.

int iio_convert_raw_to_processed ( struct iio_channel chan,
int  raw,
int processed,
unsigned int  scale 
)

iio_convert_raw_to_processed() - Converts a raw value to a processed value : The channel being queried : The raw IIO to convert : The result of the conversion : Scale factor to apply during the conversion

Returns an error code or 0.

This function converts a raw value to processed value for a specific channel. A raw value is the device internal representation of a sample and the value returned by iio_read_channel_raw, so the unit of that value is device depended. A processed value on the other hand is value has a normed unit according with the IIO specification.

The scale factor allows to increase the precession of the returned value. For a scale factor of 1 the function will return the result in the normal IIO unit for the channel type. E.g. millivolt for voltage channels, if you want nanovolts instead pass 1000 as the scale factor.

Definition at line 324 of file inkern.c.

int iio_get_channel_type ( struct iio_channel channel,
enum iio_chan_type type 
)

iio_get_channel_type() - get the type of a channel : The channel being queried. : The type of the channel.

returns the enum iio_chan_type of the channel

Definition at line 389 of file inkern.c.

int iio_read_channel_processed ( struct iio_channel chan,
int val 
)

iio_read_channel_processed() - read processed value from a given channel : The channel being queried. : Value read back.

Returns an error code or 0.

This function will read a processed value from a channel. A processed value means that this value will have the correct unit and not some device internal representation. If the device does not support reporting a processed value the function will query the raw value and the channels scale and offset and do the appropriate transformation.

Definition at line 344 of file inkern.c.

int iio_read_channel_raw ( struct iio_channel chan,
int val 
)

iio_read_channel_raw() - read from a given channel : The channel being queried. : Value read back.

Note raw reads from iio channels are in adc counts and hence scale will need to be applied if standard units required.

Definition at line 259 of file inkern.c.

int iio_read_channel_scale ( struct iio_channel chan,
int val,
int val2 
)

iio_read_channel_scale() - read the scale value for a channel : The channel being queried. : First part of value read back. : Second part of value read back.

Note returns a description of what is in val and val2, such as IIO_VAL_INT_PLUS_MICRO telling us we have a value of val

  • val2/1e6

Definition at line 371 of file inkern.c.