PDF
简体中文
简体中文
English
AuboStudio SDK
0.6.3
digital_io.h
浏览该文件的文档.
1
#ifndef AUBO_SCOPE_DIGITAL_IO_H
2
#define AUBO_SCOPE_DIGITAL_IO_H
3
4
#include <
aubo_caps/domain/io/io.h
>
5
6
namespace
arcs
{
7
namespace
aubo_scope
{
8
ARCS_CLASS_FORWARD
(
DigitalIo
);
9
10
/**
11
* \chinese
12
* 数字 IO 接口
13
* 此接口提供对数字 I/O 的支持。
14
* \endchinese
15
* \english
16
* DigitalIo
17
* This interface provides support for digital I/Os.
18
* \endenglish
19
*/
20
class
ARCS_ABI_EXPORT
DigitalIo
:
public
Io
21
{
22
public
:
23
DigitalIo
(
DigitalIo
&f);
24
DigitalIo
(
DigitalIo
&&f);
25
~DigitalIo
();
26
27
/**
28
* \chinese
29
* 设置数字I/O输出信号。注意该I/O必须是输出类型。
30
* @param high 要设置的数字值。
31
* @return 如果数字信号设置成功返回<code>true</code>,否则返回<code>false</code>。
32
* \endchinese
33
* \english
34
* Set digital I/O output signal. Note that the I/O must be an output I/O.
35
*
36
* @param high the digital value to be set.
37
* @return <code>true</code> if the digital signal was set,
38
* <code>false</code> if the signal was not set, e.g. because the controller
39
* was not running.
40
* \endenglish
41
*/
42
bool
setValue
(
bool
high);
43
44
/**
45
* \chinese
46
* 获取I/O的最后一次读数
47
* @return I/O的最后一次读数。
48
* \endchinese
49
* \english
50
* Returns the last reading of the I/O.
51
* @return Returns the last reading of the I/O.
52
* \endenglish
53
*/
54
bool
getValue
();
55
56
private
:
57
friend
class
DataSwitch
;
58
DigitalIo
();
59
void
*
d_
{
nullptr
};
60
};
61
62
struct
DigitalIoFilter
63
{
64
DigitalIoFilter
(
Io::InterfaceType
interface,
bool
is_input)
65
:
interface_
(interface),
is_input_
(is_input)
66
{
67
}
68
bool
operator()
(IoPtr io)
69
{
70
return
std::dynamic_pointer_cast<DigitalIo>(io) !=
nullptr
&&
71
io->getInterfaceType() ==
interface_
&&
72
io->isInput() ==
is_input_
;
73
}
74
75
private
:
76
Io::InterfaceType
interface_
;
77
bool
is_input_
;
78
};
79
80
struct
InputIoFilter
81
{
82
bool
operator()
(IoPtr io) {
return
io && io->isInput(); }
83
};
84
85
struct
OutputIoFilter
86
{
87
bool
operator()
(IoPtr io) {
return
io && !io->isInput(); }
88
};
89
90
}
// namespace aubo_scope
91
}
// namespace arcs
92
93
#endif
// AUBO_SCOPE_DIGITAL_IO_H
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
定义
class_forward.h:16
ARCS_CLASS_FORWARD
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
定义
class_forward.h:68
arcs::aubo_scope::DigitalIo
数字 IO 接口 此接口提供对数字 I/O 的支持。
定义
digital_io.h:21
arcs::aubo_scope::DigitalIo::DigitalIo
DigitalIo(DigitalIo &&f)
arcs::aubo_scope::DigitalIo::DigitalIo
DigitalIo()
arcs::aubo_scope::DigitalIo::DataSwitch
friend class DataSwitch
定义
digital_io.h:57
arcs::aubo_scope::DigitalIo::getValue
bool getValue()
获取I/O的最后一次读数
arcs::aubo_scope::DigitalIo::setValue
bool setValue(bool high)
设置数字I/O输出信号。注意该I/O必须是输出类型。
arcs::aubo_scope::DigitalIo::DigitalIo
DigitalIo(DigitalIo &f)
arcs::aubo_scope::DigitalIo::~DigitalIo
~DigitalIo()
arcs::aubo_scope::DigitalIo::d_
void * d_
定义
digital_io.h:59
arcs::aubo_scope::Io::Io
Io(Io &f)
arcs::aubo_scope::Io::InterfaceType
InterfaceType
定义
io.h:34
io.h
arcs::aubo_scope
定义
contribution_provider.h:8
arcs
定义
contribution_provider.h:7
arcs::aubo_scope::DigitalIoFilter::operator()
bool operator()(IoPtr io)
定义
digital_io.h:68
arcs::aubo_scope::DigitalIoFilter::DigitalIoFilter
DigitalIoFilter(Io::InterfaceType interface, bool is_input)
定义
digital_io.h:64
arcs::aubo_scope::DigitalIoFilter::interface_
Io::InterfaceType interface_
定义
digital_io.h:76
arcs::aubo_scope::DigitalIoFilter::is_input_
bool is_input_
定义
digital_io.h:77
arcs::aubo_scope::InputIoFilter
定义
digital_io.h:81
arcs::aubo_scope::InputIoFilter::operator()
bool operator()(IoPtr io)
定义
digital_io.h:82
arcs::aubo_scope::OutputIoFilter
定义
digital_io.h:86
arcs::aubo_scope::OutputIoFilter::operator()
bool operator()(IoPtr io)
定义
digital_io.h:87
include
aubo_caps
domain
io
digital_io.h
制作者
1.16.1