Orocos Real-Time Toolkit  2.8.3
Public Types | Public Member Functions | Static Public Attributes | List of all members
RTT::dev::AnalogInInterface Class Referenceabstract

An interface for reading analog input, like for addressing a whole subdevice in comedi. More...

#include <rtt/extras/dev/AnalogInInterface.hpp>

Inheritance diagram for RTT::dev::AnalogInInterface:
RTT::dev::NameServerRegistrator< AnalogInInterface * >

Public Types

enum  AnalogReference { Ground = 0, Common, Differential, Other }
 This enum can be used to configure the arefSet() function. More...
 

Public Member Functions

 AnalogInInterface ()
 Create a not nameserved AnalogInInterface instance. More...
 
 AnalogInInterface (const std::string &name)
 Create a nameserved AnalogInInterface. More...
 
virtual ~AnalogInInterface ()
 
virtual void rangeSet (unsigned int chan, unsigned int range)=0
 Set the range of a particular channel. More...
 
virtual void arefSet (unsigned int chan, unsigned int aref)=0
 Set the analog reference of a particular channel. More...
 
virtual int rawRead (unsigned int chan, int &value)=0
 Read a raw value from channel chan. More...
 
virtual int read (unsigned int chan, double &value)=0
 Read the real value from channel chan. More...
 
virtual unsigned int rawRange () const =0
 Returns the absolute maximal range (e.g. More...
 
virtual double lowest (unsigned int chan) const =0
 Returns the current lowest measurable input expressed in MU's for a given channel. More...
 
virtual double highest (unsigned int chan) const =0
 Returns the highest measurable input expressed in MU's for a given channel. More...
 
virtual double resolution (unsigned int chan) const =0
 Resolution is expressed in bits / MU. More...
 
virtual unsigned int nbOfChannels () const =0
 Returns the total number of channels. More...
 
unsigned int binaryRange () const
 Returns the binary range (e.g. More...
 
int binaryLowest () const
 Returns the binary lowest value. More...
 
int binaryHighest () const
 Returns the binary highest value. More...
 

Static Public Attributes

static NameServer< AnalogInInterface * > nameserver
 The NameServer for this interface. More...
 

Detailed Description

An interface for reading analog input, like for addressing a whole subdevice in comedi.

Unit (MU) : Unit of what is actually read on the analog channel (e.g. Volt)

Definition at line 68 of file AnalogInInterface.hpp.

Member Enumeration Documentation

This enum can be used to configure the arefSet() function.

See also
http://www.comedi.org
Enumerator
Ground 
Common 

Reference to ground.

Differential 

Common reference.

Other 

Differential reference.

Undefined

Definition at line 76 of file AnalogInInterface.hpp.

Constructor & Destructor Documentation

RTT::dev::AnalogInInterface::AnalogInInterface ( )
inline

Create a not nameserved AnalogInInterface instance.

Definition at line 85 of file AnalogInInterface.hpp.

RTT::dev::AnalogInInterface::AnalogInInterface ( const std::string &  name)
inline

Create a nameserved AnalogInInterface.

When name is not "" and unique, it can be retrieved using the AnalogOutInterface::nameserver.

Definition at line 92 of file AnalogInInterface.hpp.

virtual RTT::dev::AnalogInInterface::~AnalogInInterface ( )
inlinevirtual

Definition at line 96 of file AnalogInInterface.hpp.

Member Function Documentation

virtual void RTT::dev::AnalogInInterface::arefSet ( unsigned int  chan,
unsigned int  aref 
)
pure virtual

Set the analog reference of a particular channel.

We took (for now) the comedi API for this, where every aref (eg. Analog reference set to ground (aka AREF_GROUND) corresponds to an unsigned int.

See also
AnalogReference
int RTT::dev::AnalogInInterface::binaryHighest ( ) const
inline

Returns the binary highest value.

Deprecated:
Do not use.

Should return rawRange() in all implementations.

Definition at line 174 of file AnalogInInterface.hpp.

int RTT::dev::AnalogInInterface::binaryLowest ( ) const
inline

Returns the binary lowest value.

Deprecated:
Do not use. Should return zero in all implementations.

Definition at line 168 of file AnalogInInterface.hpp.

unsigned int RTT::dev::AnalogInInterface::binaryRange ( ) const
inline

Returns the binary range (e.g.

12bits AD -> 4096)

Deprecated:
by rawRange()

Definition at line 162 of file AnalogInInterface.hpp.

virtual double RTT::dev::AnalogInInterface::highest ( unsigned int  chan) const
pure virtual

Returns the highest measurable input expressed in MU's for a given channel.

virtual double RTT::dev::AnalogInInterface::lowest ( unsigned int  chan) const
pure virtual

Returns the current lowest measurable input expressed in MU's for a given channel.

virtual unsigned int RTT::dev::AnalogInInterface::nbOfChannels ( ) const
pure virtual

Returns the total number of channels.

virtual void RTT::dev::AnalogInInterface::rangeSet ( unsigned int  chan,
unsigned int  range 
)
pure virtual

Set the range of a particular channel.

We took (for now) the comedi API for this, where every range (eg. -5/+5 V) corresponds to an unsigned int. You should provide a mapping from that int to a particular range in your driver documentation

virtual unsigned int RTT::dev::AnalogInInterface::rawRange ( ) const
pure virtual

Returns the absolute maximal range (e.g.

12bits AD -> 4096).

virtual int RTT::dev::AnalogInInterface::rawRead ( unsigned int  chan,
int &  value 
)
pure virtual

Read a raw value from channel chan.

Returns
0 on sucess.
virtual int RTT::dev::AnalogInInterface::read ( unsigned int  chan,
double &  value 
)
pure virtual

Read the real value from channel chan.

Returns
0 on sucess.
virtual double RTT::dev::AnalogInInterface::resolution ( unsigned int  chan) const
pure virtual

Resolution is expressed in bits / MU.

Member Data Documentation

NameServer< AnalogInInterface * > AnalogInInterface::nameserver
static

The NameServer for this interface.

See also
NameServer

Definition at line 180 of file AnalogInInterface.hpp.


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