Orocos Real-Time Toolkit  2.5.0
Public Types | Public Member Functions | Static Public Attributes
RTT::dev::AnalogInInterface Class Reference

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 * >

List of all members.

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

Static Public Attributes

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

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:
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 ( 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.


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

Returns the binary highest value.

Deprecated:
Do not use.

Should return rawRange() in all implementations.

Definition at line 174 of file AnalogInInterface.hpp.

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

Member Data Documentation

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: