Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
extras
dev
AnalogInInterface.hpp
Go to the documentation of this file.
1
// $Id: AnalogInInterface.hpp,v 1.10 2003/08/20 08:16:55 kgadeyne Exp $
2
/***************************************************************************
3
tag: Peter Soetens Thu Oct 10 16:16:56 CEST 2002 AnalogInInterface.hpp
4
5
AnalogInInterface.hpp - description
6
-------------------
7
begin : Thu October 10 2002
8
copyright : (C) 2002 Peter Soetens
9
email : peter.soetens@mech.kuleuven.ac.be
10
11
***************************************************************************
12
* This library is free software; you can redistribute it and/or *
13
* modify it under the terms of the GNU General Public *
14
* License as published by the Free Software Foundation; *
15
* version 2 of the License. *
16
* *
17
* As a special exception, you may use this file as part of a free *
18
* software library without restriction. Specifically, if other files *
19
* instantiate templates or use macros or inline functions from this *
20
* file, or you compile this file and link it with other files to *
21
* produce an executable, this file does not by itself cause the *
22
* resulting executable to be covered by the GNU General Public *
23
* License. This exception does not however invalidate any other *
24
* reasons why the executable file might be covered by the GNU General *
25
* Public License. *
26
* *
27
* This library is distributed in the hope that it will be useful, *
28
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
29
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
30
* Lesser General Public License for more details. *
31
* *
32
* You should have received a copy of the GNU General Public *
33
* License along with this library; if not, write to the Free Software *
34
* Foundation, Inc., 59 Temple Place, *
35
* Suite 330, Boston, MA 02111-1307 USA *
36
* *
37
***************************************************************************/
38
/* Klaas Gadeyne, Mon August 11 2003
39
- Added "channel" param to lowest(), highest(), resolution() calls (these
40
are mostly configurable on a per channel basis. If not, there's
41
no problem
42
- In comedi, this is also done for their "binary"-counterpoles. I
43
don't know if this is necessary
44
45
Klaas Gadeyne, Wed August 20 2003
46
- Added rangeSet() and arefSet() methods, that allready existed in
47
the comedi implementations of these interfaces
48
*/
49
50
#ifndef ANALOGININTERFACE_HPP
51
#define ANALOGININTERFACE_HPP
52
53
#include "
NameServer.hpp
"
54
#include "
NameServerRegistrator.hpp
"
55
#include "../../rtt-config.h"
56
57
namespace
RTT
58
{
namespace
dev {
59
68
class
RTT_API
AnalogInInterface
69
:
private
NameServerRegistrator
<AnalogInInterface*>
70
{
71
public
:
76
enum
AnalogReference
{ Ground = 0,
77
Common
,
78
Differential
,
79
Other
80
};
81
85
AnalogInInterface
( )
86
{}
87
92
AnalogInInterface
(
const
std::string& name )
93
:
NameServerRegistrator
<
AnalogInInterface
*>( nameserver, name, this )
94
{}
95
96
virtual
~AnalogInInterface
()
97
{}
98
106
virtual
void
rangeSet(
unsigned
int
chan,
107
unsigned
int
range) = 0;
108
116
virtual
void
arefSet(
unsigned
int
chan,
117
unsigned
int
aref) = 0;
118
123
virtual
int
rawRead(
unsigned
int
chan,
int
& value ) = 0;
124
129
virtual
int
read(
unsigned
int
chan,
double
& value ) = 0;
130
134
virtual
unsigned
int
rawRange()
const
= 0;
135
140
virtual
double
lowest(
unsigned
int
chan)
const
= 0;
141
146
virtual
double
highest(
unsigned
int
chan)
const
= 0;
147
151
virtual
double
resolution(
unsigned
int
chan)
const
= 0;
152
156
virtual
unsigned
int
nbOfChannels()
const
= 0;
157
162
unsigned
int
binaryRange
()
const
{
return
rawRange(); }
163
168
int
binaryLowest
()
const
{
return
0; }
169
174
int
binaryHighest
()
const
{
return
rawRange(); }
175
180
static
NameServer<AnalogInInterface*>
nameserver
;
181
182
private
:
183
184
};
185
}}
186
187
#endif
RTT::dev::AnalogInInterface::binaryRange
unsigned int binaryRange() const
Definition:
AnalogInInterface.hpp:162
RTT::dev::AnalogInInterface
Definition:
AnalogInInterface.hpp:68
RTT::dev::AnalogInInterface::binaryLowest
int binaryLowest() const
Definition:
AnalogInInterface.hpp:168
RTT::dev::NameServer< AnalogInInterface * >
NameServer.hpp
RTT::dev::NameServerRegistrator
Utility class to register a given object with a nameserver, and deregister upon destruction.
Definition:
NameServerRegistrator.hpp:56
RTT::dev::AnalogInInterface::binaryHighest
int binaryHighest() const
Definition:
AnalogInInterface.hpp:174
RTT::dev::AnalogInInterface::~AnalogInInterface
virtual ~AnalogInInterface()
Definition:
AnalogInInterface.hpp:96
RTT::dev::AnalogInInterface::Differential
Definition:
AnalogInInterface.hpp:78
NameServerRegistrator.hpp
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
RTT::dev::AnalogInInterface::Common
Definition:
AnalogInInterface.hpp:77
RTT::dev::AnalogInInterface::AnalogInInterface
AnalogInInterface()
Definition:
AnalogInInterface.hpp:85
RTT::dev::AnalogInInterface::AnalogInInterface
AnalogInInterface(const std::string &name)
Definition:
AnalogInInterface.hpp:92
RTT::dev::AnalogInInterface::nameserver
static NameServer< AnalogInInterface * > nameserver
Definition:
AnalogInInterface.hpp:180
RTT::dev::AnalogInInterface::AnalogReference
AnalogReference
Definition:
AnalogInInterface.hpp:76
rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:19