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

An interface for writing analog output, like for addressing a whole subdevice in comedi. More...

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

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

Public Types

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

Public Member Functions

 AnalogOutInterface ()
 Create a not nameserved AnalogOutInterface instance. More...
 
 AnalogOutInterface (const std::string &name)
 Create a nameserved AnalogOutInterface. More...
 
virtual ~AnalogOutInterface ()
 
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 rawWrite (unsigned int chan, int value)=0
 Write a raw value to channel chan. More...
 
virtual int rawRead (unsigned int chan, int &value)=0
 Read the current raw value from channel chan. More...
 
virtual unsigned int rawRange () const =0
 Returns the absolute raw range (e.g. More...
 
virtual int write (unsigned int chan, double value)=0
 Write a MU value to channel chan. More...
 
virtual int read (unsigned int chan, double &value)=0
 Read the current MU value from channel chan. 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< AnalogOutInterface * > nameserver
 The NameServer for this interface. More...
 

Detailed Description

An interface for writing analog output, like for addressing a whole subdevice in comedi.

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

Definition at line 68 of file AnalogOutInterface.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 77 of file AnalogOutInterface.hpp.

Constructor & Destructor Documentation

RTT::dev::AnalogOutInterface::AnalogOutInterface ( )
inline

Create a not nameserved AnalogOutInterface instance.

Definition at line 86 of file AnalogOutInterface.hpp.

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

Create a nameserved AnalogOutInterface.

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

Definition at line 93 of file AnalogOutInterface.hpp.

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

Definition at line 97 of file AnalogOutInterface.hpp.

Member Function Documentation

virtual void RTT::dev::AnalogOutInterface::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::AnalogOutInterface::binaryHighest ( ) const
inline

Returns the binary highest value.

Deprecated:
Do not use.

Should return rawRange() in all implementations.

Definition at line 185 of file AnalogOutInterface.hpp.

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

Returns the binary lowest value.

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

Definition at line 179 of file AnalogOutInterface.hpp.

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

Returns the binary range (e.g.

12bits DA -> 4096)

Deprecated:
by rawRange()

Definition at line 173 of file AnalogOutInterface.hpp.

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

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

virtual double RTT::dev::AnalogOutInterface::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::AnalogOutInterface::nbOfChannels ( ) const
pure virtual

Returns the total number of channels.

virtual void RTT::dev::AnalogOutInterface::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::AnalogOutInterface::rawRange ( ) const
pure virtual

Returns the absolute raw range (e.g.

12bits DA -> 4096)

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

Read the current raw value from channel chan.

virtual int RTT::dev::AnalogOutInterface::rawWrite ( unsigned int  chan,
int  value 
)
pure virtual

Write a raw value to channel chan.

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

Read the current MU value from channel chan.

virtual double RTT::dev::AnalogOutInterface::resolution ( unsigned int  chan) const
pure virtual

Resolution is expressed in bits / MU.

virtual int RTT::dev::AnalogOutInterface::write ( unsigned int  chan,
double  value 
)
pure virtual

Write a MU value to channel chan.

Returns
0 on success.

Member Data Documentation

NameServer< AnalogOutInterface * > AnalogOutInterface::nameserver
static

The NameServer for this interface.

See also
NameServer

Definition at line 191 of file AnalogOutInterface.hpp.


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