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

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

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

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

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


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.

Returns the binary highest value.

Deprecated:
Do not use.

Should return rawRange() in all implementations.

Definition at line 185 of file AnalogOutInterface.hpp.

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 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::rawWrite ( unsigned int  chan,
int  value 
) [pure virtual]

Write a raw value to channel chan.

Returns:
0 on success.
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

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: