1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
pub use crate::rp::rp_acq_trig_src_t as Source;
pub use crate::rp::rp_acq_trig_state_t as State;
pub use crate::rp::rp_channel_trigger_t as Channel;
pub fn set_source(source: Source) -> crate::Result<()>
{
handle_unsafe!(
crate::rp::rp_AcqSetTriggerSrc(source)
)
}
pub fn source() -> crate::Result<Source>
{
let mut source = Source::RP_TRIG_SRC_DISABLED;
match handle_unsafe!(
crate::rp::rp_AcqGetTriggerSrc(&mut source)
) {
Ok(_) => Ok(source),
Err(err) => Err(err),
}
}
pub fn state() -> crate::Result<State>
{
let mut state = State::RP_TRIG_STATE_TRIGGERED;
match handle_unsafe!(
crate::rp::rp_AcqGetTriggerState(&mut state)
) {
Ok(_) => Ok(state),
Err(err) => Err(err),
}
}
pub fn set_delay(decimated_data_num: i32) -> crate::Result<()>
{
handle_unsafe!(
crate::rp::rp_AcqSetTriggerDelay(decimated_data_num)
)
}
pub fn delay() -> crate::Result<i32>
{
let mut decimated_data_num = 0;
match handle_unsafe!(
crate::rp::rp_AcqGetTriggerDelay(&mut decimated_data_num)
) {
Ok(_) => Ok(decimated_data_num),
Err(err) => Err(err),
}
}
pub fn set_delay_ns(time_ns: i64) -> crate::Result<()>
{
handle_unsafe!(
crate::rp::rp_AcqSetTriggerDelayNs(time_ns)
)
}
pub fn delay_ns() -> crate::Result<i64>
{
let mut time_ns = 0;
match handle_unsafe!(
crate::rp::rp_AcqGetTriggerDelayNs(&mut time_ns)
) {
Ok(_) => Ok(time_ns),
Err(err) => Err(err),
}
}
pub fn pre_counter() -> crate::Result<u32>
{
let mut value = 0;
match handle_unsafe!(
crate::rp::rp_AcqGetPreTriggerCounter(&mut value)
) {
Ok(_) => Ok(value),
Err(err) => Err(err),
}
}
pub fn set_level(channel: Channel, volatage: f32) -> crate::Result<()>
{
handle_unsafe!(
crate::rp::rp_AcqSetTriggerLevel(channel, volatage)
)
}
pub fn level(channel: Channel) -> crate::Result<f32>
{
let mut volatage = 0.0;
match handle_unsafe!(
crate::rp::rp_AcqGetTriggerLevel(channel, &mut volatage)
) {
Ok(_) => Ok(volatage),
Err(err) => Err(err),
}
}
pub fn set_hysteresis(volatage: f32) -> crate::Result<()>
{
handle_unsafe!(
crate::rp::rp_AcqSetTriggerHyst(volatage)
)
}
pub fn hysteresis() -> crate::Result<f32>
{
let mut volatage = 0.0;
match handle_unsafe!(
crate::rp::rp_AcqGetTriggerHyst(&mut volatage)
) {
Ok(_) => Ok(volatage),
Err(err) => Err(err),
}
}