libiio
0.6
Library for interfacing with IIO devices
|
Data Structures | |
struct | iio_channel |
Represents an input or output channel of a device. More... | |
Functions | |
__api __pure const struct iio_device * | iio_channel_get_device (const struct iio_channel *chn) |
Retrieve a pointer to the iio_device structure. More... | |
__api __pure const char * | iio_channel_get_id (const struct iio_channel *chn) |
Retrieve the channel ID (e.g. voltage0) More... | |
__api __pure const char * | iio_channel_get_name (const struct iio_channel *chn) |
Retrieve the channel name (e.g. vccint) More... | |
__api __pure bool | iio_channel_is_output (const struct iio_channel *chn) |
Return True if the given channel is an output channel. More... | |
__api __pure bool | iio_channel_is_scan_element (const struct iio_channel *chn) |
Return True if the given channel is a scan element. More... | |
__api __pure unsigned int | iio_channel_get_attrs_count (const struct iio_channel *chn) |
Enumerate the channel-specific attributes of the given channel. More... | |
__api __pure const char * | iio_channel_get_attr (const struct iio_channel *chn, unsigned int index) |
Get the channel-specific attribute present at the given index. More... | |
__api __pure const char * | iio_channel_find_attr (const struct iio_channel *chn, const char *name) |
Try to find a channel-specific attribute by its name. More... | |
__api __pure const char * | iio_channel_attr_get_filename (const struct iio_channel *chn, const char *attr) |
Retrieve the filename of an attribute. More... | |
__api ssize_t | iio_channel_attr_read (const struct iio_channel *chn, const char *attr, char *dst, size_t len) |
Read the content of the given channel-specific attribute. More... | |
__api int | iio_channel_attr_read_all (struct iio_channel *chn, int(*cb)(struct iio_channel *chn, const char *attr, const char *val, size_t len, void *d), void *data) |
Read the content of all channel-specific attributes. More... | |
__api int | iio_channel_attr_read_bool (const struct iio_channel *chn, const char *attr, bool *val) |
Read the content of the given channel-specific attribute. More... | |
__api int | iio_channel_attr_read_longlong (const struct iio_channel *chn, const char *attr, long long *val) |
Read the content of the given channel-specific attribute. More... | |
__api int | iio_channel_attr_read_double (const struct iio_channel *chn, const char *attr, double *val) |
Read the content of the given channel-specific attribute. More... | |
__api ssize_t | iio_channel_attr_write (const struct iio_channel *chn, const char *attr, const char *src) |
Set the value of the given channel-specific attribute. More... | |
__api ssize_t | iio_channel_attr_write_raw (const struct iio_channel *chn, const char *attr, const void *src, size_t len) |
Set the value of the given channel-specific attribute. More... | |
__api int | iio_channel_attr_write_all (struct iio_channel *chn, ssize_t(*cb)(struct iio_channel *chn, const char *attr, void *buf, size_t len, void *d), void *data) |
Set the values of all channel-specific attributes. More... | |
__api int | iio_channel_attr_write_bool (const struct iio_channel *chn, const char *attr, bool val) |
Set the value of the given channel-specific attribute. More... | |
__api int | iio_channel_attr_write_longlong (const struct iio_channel *chn, const char *attr, long long val) |
Set the value of the given channel-specific attribute. More... | |
__api int | iio_channel_attr_write_double (const struct iio_channel *chn, const char *attr, double val) |
Set the value of the given channel-specific attribute. More... | |
__api void | iio_channel_enable (struct iio_channel *chn) |
Enable the given channel. More... | |
__api void | iio_channel_disable (struct iio_channel *chn) |
Disable the given channel. More... | |
__api bool | iio_channel_is_enabled (const struct iio_channel *chn) |
Returns True if the channel is enabled. More... | |
__api size_t | iio_channel_read_raw (const struct iio_channel *chn, struct iio_buffer *buffer, void *dst, size_t len) |
__api size_t | iio_channel_read (const struct iio_channel *chn, struct iio_buffer *buffer, void *dst, size_t len) |
__api size_t | iio_channel_write_raw (const struct iio_channel *chn, struct iio_buffer *buffer, const void *src, size_t len) |
__api size_t | iio_channel_write (const struct iio_channel *chn, struct iio_buffer *buffer, const void *src, size_t len) |
__api void | iio_channel_set_data (struct iio_channel *chn, void *data) |
Associate a pointer to an iio_channel structure. More... | |
__api void * | iio_channel_get_data (const struct iio_channel *chn) |
Retrieve a previously associated pointer of an iio_channel structure. More... | |
__api __pure const char* iio_channel_attr_get_filename | ( | const struct iio_channel * | chn, |
const char * | attr | ||
) |
Retrieve the filename of an attribute.
chn | A pointer to an iio_channel structure |
attr | a NULL-terminated string corresponding to the name of the attribute |
__api ssize_t iio_channel_attr_read | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
char * | dst, | ||
size_t | len | ||
) |
Read the content of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
dst | A pointer to the memory area where the NULL-terminated string corresponding to the value read will be stored |
len | The available length of the memory area, in bytes |
NOTE:By passing NULL as the "attr" argument to iio_channel_attr_read, it is now possible to read all of the attributes of a channel.
The buffer is filled with one block of data per attribute of the channel, by the order they appear in the iio_channel structure.
The first four bytes of one block correspond to a 32-bit signed value in network order. If negative, it corresponds to the errno code that were returned when reading the attribute; if positive, it corresponds to the length of the data read. In that case, the rest of the block contains the data.
__api int iio_channel_attr_read_all | ( | struct iio_channel * | chn, |
int(*)(struct iio_channel *chn, const char *attr, const char *val, size_t len, void *d) | cb, | ||
void * | data | ||
) |
Read the content of all channel-specific attributes.
chn | A pointer to an iio_channel structure |
cb | A pointer to a callback function |
data | A pointer that will be passed to the callback function |
NOTE: This function is especially useful when used with the network backend, as all the channel-specific attributes are read in one single command.
__api int iio_channel_attr_read_bool | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
bool * | val | ||
) |
Read the content of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
val | A pointer to a bool variable where the value should be stored |
__api int iio_channel_attr_read_double | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
double * | val | ||
) |
Read the content of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
val | A pointer to a double variable where the value should be stored |
__api int iio_channel_attr_read_longlong | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
long long * | val | ||
) |
Read the content of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
val | A pointer to a long long variable where the value should be stored |
__api ssize_t iio_channel_attr_write | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
const char * | src | ||
) |
Set the value of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
src | A NULL-terminated string to set the attribute to |
NOTE:By passing NULL as the "attr" argument to iio_channel_attr_write, it is now possible to write all of the attributes of a channel.
The buffer must contain one block of data per attribute of the channel, by the order they appear in the iio_channel structure.
The first four bytes of one block correspond to a 32-bit signed value in network order. If negative, the attribute is not written; if positive, it corresponds to the length of the data to write. In that case, the rest of the block must contain the data.
__api int iio_channel_attr_write_all | ( | struct iio_channel * | chn, |
ssize_t(*)(struct iio_channel *chn, const char *attr, void *buf, size_t len, void *d) | cb, | ||
void * | data | ||
) |
Set the values of all channel-specific attributes.
chn | A pointer to an iio_channel structure |
cb | A pointer to a callback function |
data | A pointer that will be passed to the callback function |
NOTE: This function is especially useful when used with the network backend, as all the channel-specific attributes are written in one single command.
__api int iio_channel_attr_write_bool | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
bool | val | ||
) |
Set the value of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
val | A bool value to set the attribute to |
__api int iio_channel_attr_write_double | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
double | val | ||
) |
Set the value of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
val | A double value to set the attribute to |
__api int iio_channel_attr_write_longlong | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
long long | val | ||
) |
Set the value of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
val | A long long value to set the attribute to |
__api ssize_t iio_channel_attr_write_raw | ( | const struct iio_channel * | chn, |
const char * | attr, | ||
const void * | src, | ||
size_t | len | ||
) |
Set the value of the given channel-specific attribute.
chn | A pointer to an iio_channel structure |
attr | A NULL-terminated string corresponding to the name of the attribute |
src | A pointer to the data to be written |
len | The number of bytes that should be written |
__api void iio_channel_disable | ( | struct iio_channel * | chn | ) |
Disable the given channel.
chn | A pointer to an iio_channel structure |
__api void iio_channel_enable | ( | struct iio_channel * | chn | ) |
Enable the given channel.
chn | A pointer to an iio_channel structure |
NOTE:Before creating an iio_buffer structure with iio_device_create_buffer, it is required to enable at least one channel of the device to read from.
__api __pure const char* iio_channel_find_attr | ( | const struct iio_channel * | chn, |
const char * | name | ||
) |
Try to find a channel-specific attribute by its name.
chn | A pointer to an iio_channel structure |
name | A NULL-terminated string corresponding to the name of the attribute |
NOTE: This function is useful to detect the presence of an attribute. It can also be used to retrieve the name of an attribute as a pointer to a static string from a dynamically allocated string.
__api __pure const char* iio_channel_get_attr | ( | const struct iio_channel * | chn, |
unsigned int | index | ||
) |
Get the channel-specific attribute present at the given index.
chn | A pointer to an iio_channel structure |
index | The index corresponding to the attribute |
__api __pure unsigned int iio_channel_get_attrs_count | ( | const struct iio_channel * | chn | ) |
Enumerate the channel-specific attributes of the given channel.
chn | A pointer to an iio_channel structure |
__api void* iio_channel_get_data | ( | const struct iio_channel * | chn | ) |
Retrieve a previously associated pointer of an iio_channel structure.
chn | A pointer to an iio_channel structure |
__api __pure const struct iio_device* iio_channel_get_device | ( | const struct iio_channel * | chn | ) |
Retrieve a pointer to the iio_device structure.
chn | A pointer to an iio_channel structure |
__api __pure const char* iio_channel_get_id | ( | const struct iio_channel * | chn | ) |
Retrieve the channel ID (e.g. voltage0)
chn | A pointer to an iio_channel structure |
__api __pure const char* iio_channel_get_name | ( | const struct iio_channel * | chn | ) |
Retrieve the channel name (e.g. vccint)
chn | A pointer to an iio_channel structure |
NOTE: if the channel has no name, NULL is returned.
__api bool iio_channel_is_enabled | ( | const struct iio_channel * | chn | ) |
Returns True if the channel is enabled.
chn | A pointer to an iio_channel structure |
__api __pure bool iio_channel_is_output | ( | const struct iio_channel * | chn | ) |
Return True if the given channel is an output channel.
chn | A pointer to an iio_channel structure |
__api __pure bool iio_channel_is_scan_element | ( | const struct iio_channel * | chn | ) |
Return True if the given channel is a scan element.
chn | A pointer to an iio_channel structure |
NOTE: a channel that is a scan element is a channel that can generate samples (for an input channel) or receive samples (for an output channel) after being enabled.
__api size_t iio_channel_read | ( | const struct iio_channel * | chn, |
struct iio_buffer * | buffer, | ||
void * | dst, | ||
size_t | len | ||
) |
Demultiplex and convert the samples of a given channel
chn | A pointer to an iio_channel structure |
buffer | A pointer to an iio_buffer structure |
dst | A pointer to the memory area where the converted data will be stored |
len | The available length of the memory area, in bytes |
__api size_t iio_channel_read_raw | ( | const struct iio_channel * | chn, |
struct iio_buffer * | buffer, | ||
void * | dst, | ||
size_t | len | ||
) |
Demultiplex the samples of a given channel
chn | A pointer to an iio_channel structure |
buffer | A pointer to an iio_buffer structure |
dst | A pointer to the memory area where the demultiplexed data will be stored |
len | The available length of the memory area, in bytes |
__api void iio_channel_set_data | ( | struct iio_channel * | chn, |
void * | data | ||
) |
Associate a pointer to an iio_channel structure.
chn | A pointer to an iio_channel structure |
data | The pointer to be associated |
__api size_t iio_channel_write | ( | const struct iio_channel * | chn, |
struct iio_buffer * | buffer, | ||
const void * | src, | ||
size_t | len | ||
) |
Convert and multiplex the samples of a given channel
chn | A pointer to an iio_channel structure |
buffer | A pointer to an iio_buffer structure |
src | A pointer to the memory area where the sequential data will be read from |
len | The length of the memory area, in bytes |
__api size_t iio_channel_write_raw | ( | const struct iio_channel * | chn, |
struct iio_buffer * | buffer, | ||
const void * | src, | ||
size_t | len | ||
) |
Multiplex the samples of a given channel
chn | A pointer to an iio_channel structure |
buffer | A pointer to an iio_buffer structure |
src | A pointer to the memory area where the sequential data will be read from |
len | The length of the memory area, in bytes |