C# bindings for libiio 0.26
C# bindings for libIIO
Loading...
Searching...
No Matches
iio.Channel Class Reference

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

Public Types

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

Public Member Functions

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

Public Attributes

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

Properties

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

Detailed Description

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

Examples
ExampleProgram.cs.

Member Function Documentation

◆ 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

◆ 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.
Examples
ExampleProgram.cs.
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

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

Examples
ExampleProgram.cs.

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


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