AuboCaps
0.5.0
Main Page
Namespaces
Classes
Files
File List
File Members
include
aubo_caps
domain
io
io.h
Go to the documentation of this file.
1
#ifndef AUBO_SCOPE_IO_H
2
#define AUBO_SCOPE_IO_H
3
4
#include <string>
5
#include <
aubo_caps/class_forward.h
>
6
7
namespace
arcs
{
8
namespace
aubo_scope {
9
ARCS_CLASS_FORWARD
(Io);
10
11
/**
12
*
13
* This is the base interface representing all types of I/Os available in
14
* AuboScope.
15
*/
16
class
ARCS_ABI_EXPORT
Io
17
{
18
public
:
19
enum
IoType
:
int
20
{
21
DIGITAL
,
22
ANALOG
,
23
INTEGER
,
24
BOOLEAN
,
25
DOUBLE
26
};
27
enum
InterfaceType
:
int
28
{
29
STANDARD
,
30
TOOL
,
31
CONFIGURABLE
,
32
SAFETYIO
,
33
LINKIO
,
34
MODBUS
,
35
GENERAL_PURPOSE
,
36
};
37
38
public
:
39
Io
(
Io
&f);
40
Io
(
Io
&&f);
41
virtual
~
Io
();
42
43
/**
44
*
45
* @return the user defined name of the IO in the currently selected
46
* installation.
47
*/
48
std::string getDisplayName()
const
;
49
50
/**
51
*
52
* @return the robot default name of the I/O.
53
*/
54
std::string getDefaultName()
const
;
55
56
/**
57
*
58
* @return get current reading of the I/O as a string.
59
*/
60
std::string getValueStr()
const
;
61
62
/**
63
*
64
* @return the I/O type.
65
*/
66
IoType
getType()
const
;
67
68
/**
69
*
70
* @return the interface type this I/O belongs to.
71
*/
72
InterfaceType
getInterfaceType()
const
;
73
74
/**
75
*
76
* @return <code>true</code> if I/O supports reading of values and
77
* <code>false</code> otherwise.
78
*/
79
bool
isInput()
const
;
80
81
/**
82
* Some I/Os, such as MODBUS I/Os and analog Tool inputs, are in some
83
* situations not present in AuboScope or available for use. This method can
84
* be used to determine if the I/O is available. <br>
85
*
86
* For more details about the specific situations where certain types of
87
* I/Os can be unresolved, see the relevant interfaces extending this base
88
* interface, e.g. {@link ModbusIO#isResolvable()}.
89
*
90
* @return <code>true</code>, if I/O can be resolved.
91
* <code>false</code> otherwise.
92
*/
93
bool
isResolvable()
const
;
94
95
protected
:
96
Io
();
97
98
private
:
99
friend
class
DataSwitch;
100
void
*d_{
nullptr
};
101
};
102
103
}
// namespace aubo_scope
104
}
// namespace arcs
105
106
#endif // AUBO_SCOPE_IO_H
arcs::aubo_scope::Io::ANALOG
Definition:
io.h:22
arcs::aubo_scope::Io::IoType
IoType
Definition:
io.h:19
arcs::aubo_scope::Io::TOOL
Definition:
io.h:30
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs::aubo_scope::Io::STANDARD
Definition:
io.h:29
arcs::aubo_scope::Io::LINKIO
Definition:
io.h:33
arcs::aubo_scope::Io
This is the base interface representing all types of I/Os available in AuboScope. ...
Definition:
io.h:16
arcs::aubo_scope::Io::DIGITAL
Definition:
io.h:21
arcs::aubo_scope::Io::InterfaceType
InterfaceType
Definition:
io.h:27
class_forward.h
arcs::aubo_scope::Io::CONFIGURABLE
Definition:
io.h:31
arcs::aubo_scope::Io::INTEGER
Definition:
io.h:23
arcs::aubo_scope::Io::BOOLEAN
Definition:
io.h:24
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition:
class_forward.h:16
arcs::aubo_scope::Io::SAFETYIO
Definition:
io.h:32
arcs::aubo_scope::Io::MODBUS
Definition:
io.h:34
arcs::aubo_scope::Io::GENERAL_PURPOSE
Definition:
io.h:35
arcs
Definition:
contribution_provider.h:7
Generated by
1.8.11