C# bindings for libiio  0.24
C# bindings for libIIO
iio.Channel Class Reference

iio.Channel class: Contains the representation of an input or output channel. More...

Public Types

enum class  ChannelModifier {
  IIO_NO_MOD , IIO_MOD_X , IIO_MOD_Y , IIO_MOD_Z ,
  IIO_MOD_X_AND_Y , IIO_MOD_X_AND_Z , IIO_MOD_Y_AND_Z , IIO_MOD_X_AND_Y_AND_Z ,
  IIO_MOD_X_OR_Y , IIO_MOD_X_OR_Z , IIO_MOD_Y_OR_Z , IIO_MOD_X_OR_Y_OR_Z ,
  IIO_MOD_LIGHT_BOTH , IIO_MOD_LIGHT_IR , IIO_MOD_ROOT_SUM_SQUARED_X_Y , IIO_MOD_SUM_SQUARED_X_Y_Z ,
  IIO_MOD_LIGHT_CLEAR , IIO_MOD_LIGHT_RED , IIO_MOD_LIGHT_GREEN , IIO_MOD_LIGHT_BLUE ,
  IIO_MOD_QUATERNION , IIO_MOD_TEMP_AMBIENT , IIO_MOD_TEMP_OBJECT , IIO_MOD_NORTH_MAGN ,
  IIO_MOD_NORTH_TRUE , IIO_MOD_NORTH_MAGN_TILT_COMP , IIO_MOD_NORTH_TRUE_TILT_COMP , IIO_MOD_RUNNING ,
  IIO_MOD_JOGGING , IIO_MOD_WALKING , IIO_MOD_STILL , IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z ,
  IIO_MOD_I , IIO_MOD_Q , IIO_MOD_CO2 , IIO_MOD_VOC ,
  IIO_MOD_LIGHT_UV , IIO_MOD_LIGHT_DUV , IIO_MOD_PM1 , IIO_MOD_PM2P5 ,
  IIO_MOD_PM4 , IIO_MOD_PM10 , IIO_MOD_ETHANOL , IIO_MOD_H2 ,
  IIO_MOD_O2
}
 iio.Channel.ChannelModifier class: Contains the available channel modifiers. More...
 
enum class  ChannelType {
  IIO_VOLTAGE , IIO_CURRENT , IIO_POWER , IIO_ACCEL ,
  IIO_ANGL_VEL , IIO_MAGN , IIO_LIGHT , IIO_INTENSITY ,
  IIO_PROXIMITY , IIO_TEMP , IIO_INCLI , IIO_ROT ,
  IIO_ANGL , IIO_TIMESTAMP , IIO_CAPACITANCE , IIO_ALTVOLTAGE ,
  IIO_CCT , IIO_PRESSURE , IIO_HUMIDITYRELATIVE , IIO_ACTIVITY ,
  IIO_STEPS , IIO_ENERGY , IIO_DISTANCE , IIO_VELOCITY ,
  IIO_CONCENTRATION , IIO_RESISTANCE , IIO_PH , IIO_UVINDEX ,
  IIO_ELECTRICALCONDUCTIVITY , IIO_COUNT , IIO_INDEX , IIO_GRAVITY ,
  IIO_POSITIONRELATIVE , IIO_PHASE , IIO_MASSCONCENTRATION , IIO_CHAN_TYPE_UNKNOWN = Int32.MaxValue
}
 iio.Channel.ChannelType class: Contains the available channel types. More...
 

Public Member Functions

void enable ()
 Enable the current channel, so that it can be used for I/O operations. More...
 
void disable ()
 Disable the current channel. More...
 
bool is_enabled ()
 Returns whether or not the channel has been enabled. More...
 
byte[] read (IOBuffer buffer, bool raw=false)
 Extract the samples corresponding to this channel from the given iio.IOBuffer object. More...
 
uint write (IOBuffer buffer, byte[] array, bool raw=false)
 Write the specified array of samples corresponding to this channel into the given iio.IOBuffer object. More...
 
long get_index ()
 Get the index of this channel. More...
 
Attr find_attribute (string attribute)
 Finds the attribute of the current channel with the given name. More...
 
Device get_device ()
 Finds the device of the current channel. More...
 
void convert (IntPtr dst, IntPtr src)
 Converts the data from the hardware format to the format of the arhitecture on which libiio is running. More...
 
void convert_inverse (IntPtr dst, IntPtr src)
 Converts the data from the arhitecture on which libiio is running to the hardware format. More...
 

Public Attributes

readonly string name
 The name of this channel. More...
 
readonly string id
 An identifier of this channel. More...
 
readonly bool output
 Contains true if the channel is an output channel, false otherwise. More...
 
readonly bool scan_element
 Contains true if the channel is a scan element, false otherwise. More...
 
readonly List< Attrattrs
 A list of all the attributes that this channel has. More...
 

Properties

ChannelModifier modifier [get]
 The modifier of this channel. More...
 
ChannelType type [get]
 The type of this channel. More...
 
DataFormat format [get]
 Represents the format of a data sample. More...
 

Detailed Description

iio.Channel class: Contains the representation of an input or output channel.

Member Enumeration Documentation

◆ ChannelModifier

iio.Channel.ChannelModifier class: Contains the available channel modifiers.

◆ ChannelType

iio.Channel.ChannelType class: Contains the available channel types.

Member Function Documentation

◆ convert()

void iio.Channel.convert ( IntPtr  dst,
IntPtr  src 
)
inline

Converts the data from the hardware format to the format of the arhitecture on which libiio is running.

◆ convert_inverse()

void iio.Channel.convert_inverse ( IntPtr  dst,
IntPtr  src 
)
inline

Converts the data from the arhitecture on which libiio is running to the hardware format.

◆ disable()

void iio.Channel.disable ( )
inline

Disable the current channel.

◆ enable()

void iio.Channel.enable ( )
inline

Enable the current channel, so that it can be used for I/O operations.

◆ find_attribute()

Attr iio.Channel.find_attribute ( string  attribute)
inline

Finds the attribute of the current channel with the given name.

Returns
iio.Channel.ChannelAttr
Exceptions
System.ExceptionThere is no attribute with the given name.

◆ get_device()

Device iio.Channel.get_device ( )
inline

Finds the device of the current channel.

Returns
iio.Device

◆ get_index()

long iio.Channel.get_index ( )
inline

Get the index of this channel.

◆ is_enabled()

bool iio.Channel.is_enabled ( )
inline

Returns whether or not the channel has been enabled.

Here is the caller graph for this function:

◆ read()

byte [] iio.Channel.read ( IOBuffer  buffer,
bool  raw = false 
)
inline

Extract the samples corresponding to this channel from the given iio.IOBuffer object.

Parameters
bufferA valid instance of the iio.IOBuffer class.
rawIf set to true, the samples are not converted from their hardware format to their host format.
Returns
A byte array containing the extracted samples.
Exceptions
System.ExceptionThe samples could not be read.
Here is the call graph for this function:

◆ write()

uint iio.Channel.write ( IOBuffer  buffer,
byte[]  array,
bool  raw = false 
)
inline

Write the specified array of samples corresponding to this channel into the given iio.IOBuffer object.

Parameters
bufferA valid instance of the iio.IOBuffer class.
arrayA byte array containing the samples to write.
rawIf set to true, the samples are not converted from their host format to their native format.
Returns
The number of bytes written.
Exceptions
System.ExceptionThe samples could not be written.
Here is the call graph for this function:

Member Data Documentation

◆ attrs

readonly List<Attr> iio.Channel.attrs

A list of all the attributes that this channel has.

◆ id

readonly string iio.Channel.id

An identifier of this channel.

It is possible that two channels have the same ID, if one is an input channel and the other is an output channel.

◆ name

readonly string iio.Channel.name

The name of this channel.

◆ output

readonly bool iio.Channel.output

Contains true if the channel is an output channel, false otherwise.

◆ scan_element

readonly bool iio.Channel.scan_element

Contains true if the channel is a scan element, false otherwise.

If a channel is a scan element, then it is possible to enable it and use it for I/O operations.

Property Documentation

◆ format

DataFormat iio.Channel.format
get

Represents the format of a data sample.

◆ modifier

ChannelModifier iio.Channel.modifier
get

The modifier of this channel.

◆ type

ChannelType iio.Channel.type
get

The type of this channel.


The documentation for this class was generated from the following file: