Channel Functions
-
const struct iio_device *iio_channel_get_device(const struct iio_channel *chn)
Retrieve a pointer to the iio_device structure.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
A pointer to an iio_device structure
-
const char *iio_channel_get_id(const struct iio_channel *chn)
Retrieve the channel ID (e.g. )
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
A pointer to a static NULL-terminated string
-
const char *iio_channel_get_name(const struct iio_channel *chn)
Retrieve the channel name (e.g. )
NOTE: if the channel has no name, NULL is returned.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
A pointer to a static NULL-terminated string
-
const char *iio_channel_get_label(const struct iio_channel *chn)
Retrieve the channel label (e.g. )
NOTE: if the channel has no label, NULL is returned.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
A pointer to a static NULL-terminated string
-
bool iio_channel_is_output(const struct iio_channel *chn)
Return True if the given channel is an output channel.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
True if the channel is an output channel, False otherwise
-
bool iio_channel_is_scan_element(const struct iio_channel *chn)
Return True if the given channel is a scan element.
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.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
True if the channel is a scan element, False otherwise
-
unsigned int iio_channel_get_attrs_count(const struct iio_channel *chn)
Enumerate the channel-specific attributes of the given channel.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
The number of channel-specific attributes found
-
const struct iio_attr *iio_channel_get_attr(const struct iio_channel *chn, unsigned int index)
Get the channel-specific attribute present at the given index.
- Parameters:
chn – A pointer to an iio_channel structure
index – The index corresponding to the attribute
- Returns:
On success, a pointer to an iio_attr structure
- Returns:
If the index is invalid, NULL is returned
-
const struct iio_attr *iio_channel_find_attr(const struct iio_channel *chn, const char *name)
Try to find a channel-specific attribute by its name.
- Parameters:
chn – A pointer to an iio_channel structure
name – A NULL-terminated string corresponding to the name of the attribute
- Returns:
On success, a pointer to an iio_attr structure
- Returns:
If the name does not correspond to any known attribute of the given channel, NULL is returned
-
unsigned int iio_channel_get_event_attrs_count(const struct iio_channel *chn)
Enumerate the event attributes of the given channel.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
The number of event attributes found
-
const struct iio_attr *iio_channel_get_event_attr(const struct iio_channel *chn, unsigned int index)
Get the event attribute present at the given index.
- Parameters:
chn – A pointer to an iio_channel structure
index – The index corresponding to the event attribute
- Returns:
On success, a pointer to an iio_attr structure
- Returns:
If the index is invalid, NULL is returned
-
const struct iio_attr *iio_channel_find_event_attr(const struct iio_channel *chn, const char *name)
Try to find a channel event attribute by its name.
- Parameters:
chn – A pointer to an iio_channel structure
name – A NULL-terminated string corresponding to the name of the event attribute
- Returns:
On success, a pointer to an iio_attr structure
- Returns:
If the name does not correspond to any known event attribute of the given channel, NULL is returned
-
void iio_channel_enable(const struct iio_channel *chn, struct iio_channels_mask *mask)
Enable the given channel.
- Parameters:
chn – A pointer to an iio_channel structure
mask – The channels mask to manipulate
-
void iio_channel_disable(const struct iio_channel *chn, struct iio_channels_mask *mask)
Disable the given channel.
- Parameters:
chn – A pointer to an iio_channel structure
mask – The channels mask to manipulate
-
bool iio_channel_is_enabled(const struct iio_channel *chn, const struct iio_channels_mask *mask)
Returns True if the channel is enabled.
- Parameters:
chn – A pointer to an iio_channel structure
mask – A pointer to an iio_channels_mask structure
- Returns:
True if the channel is enabled, False otherwise
-
size_t iio_channel_read(const struct iio_channel *chn, const struct iio_block *block, void *dst, size_t len, bool raw)
Demultiplex and convert the samples of a given channel.
- Parameters:
chn – A pointer to an iio_channel structure
block – A pointer to an iio_block 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
raw – True to read samples in the hardware format, false to read converted samples.
- Returns:
The size of the converted data, in bytes
-
size_t iio_channel_write(const struct iio_channel *chn, struct iio_block *block, const void *src, size_t len, bool raw)
Convert and multiplex the samples of a given channel.
- Parameters:
chn – A pointer to an iio_channel structure
block – A pointer to an iio_block 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
raw – True if the samples are already in hardware format, false if they need to be converted.
- Returns:
The number of bytes actually converted and multiplexed
-
void iio_channel_set_data(struct iio_channel *chn, void *data)
Associate a pointer to an iio_channel structure.
- Parameters:
chn – A pointer to an iio_channel structure
data – The pointer to be associated
-
void *iio_channel_get_data(const struct iio_channel *chn)
Retrieve a previously associated pointer of an iio_channel structure.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
The pointer previously associated if present, or NULL
-
enum iio_chan_type iio_channel_get_type(const struct iio_channel *chn)
Get the type of the given channel.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
The type of the channel NOTE: Before calling this function, iio_device_is_hwmon() should be called to verify that the passed channel object does not belong to a HWMON device.
-
enum iio_modifier iio_channel_get_modifier(const struct iio_channel *chn)
Get the modifier type of the given channel.
- Parameters:
chn – A pointer to an iio_channel structure
- Returns:
The modifier type of the channel