PDF
AUBO SDK  0.26.0
io_control.h
浏览该文件的文档.
1/** @file io_control.h
2 * @brief IO控制接口
3 */
4#ifndef AUBO_SDK_IO_CONTROL_INTERFACE_H
5#define AUBO_SDK_IO_CONTROL_INTERFACE_H
6
7#include <vector>
8#include <thread>
9#include <string>
10
11#include <aubo/global_config.h>
12#include <aubo/type_def.h>
13
14namespace arcs {
15namespace common_interface {
16
17/**
18 * \chinese
19 * @defgroup IoControl IoControl (IO输入输出控制)
20 * @ingroup RobotInterface
21 * \endchinese
22 *
23 * \english
24 * @defgroup IoControl IO Input/Output Control
25 * @ingroup RobotInterface
26 * \endenglish
27 *
28 * \chinese
29 * IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取
30 *
31 * 1. 获取各种IO的数量 \n
32 * 2. 配置IO的输入输出功能 \n
33 * 3. 可配置IO的配置 \n
34 * 4. 模拟IO的输入输出范围设置、读取
35 *
36 * 标准数字输入输出:控制柜IO面板上的标准IO \n
37 * 工具端数字输入输出:通过工具末端航插暴露的数字IO \n
38 * 可配置输入输出:可以配置为安全IO或者普通数字IO \n
39 * \endchinese
40 * \english
41 * The IoControl class provides a series of interfaces for configuring and
42 * reading the robot's standard digital and analog IO, as well as setting output
43 * states.
44 *
45 * 1. Get the number of various IOs \n
46 * 2. Configure IO input/output functions \n
47 * 3. Configuration of configurable IOs \n
48 * 4. Set and read the input/output range of analog IOs
49 *
50 * Standard digital input/output: Standard IOs on the control cabinet IO panel
51 * \n Tool digital input/output: Digital IOs exposed via the tool-end connector
52 * \n Configurable input/output: Can be configured as safety IO or general
53 * digital IO \n \endenglish
54 */
55class ARCS_ABI_EXPORT IoControl
56{
57public:
59 virtual ~IoControl();
60
61 /**
62 * @ingroup IoControl
63 * \chinese
64 * 获取标准数字输入数量
65 *
66 * @return 标准数字输入数量
67 *
68 * @throws arcs::common_interface::AuboException
69 *
70 * @par Python函数原型
71 * getStandardDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
72 *
73 * @par Lua函数原型
74 * getStandardDigitalInputNum() -> number
75 *
76 * @par Lua示例
77 * num = getStandardDigitalInputNum()
78 *
79 * @par JSON-RPC请求示例
80 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputNum","params":[],"id":1}
81 *
82 * @par JSON-RPC响应示例
83 * {"id":1,"jsonrpc":"2.0","result":16}
84 *
85 * \endchinese
86 * \english
87 * Get the number of standard digital inputs.
88 *
89 * @return Number of standard digital inputs.
90 *
91 * @throws arcs::common_interface::AuboException
92 *
93 * @par Python function prototype
94 * getStandardDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
95 *
96 * @par Lua function prototype
97 * getStandardDigitalInputNum() -> number
98 *
99 * @par Lua example
100 * num = getStandardDigitalInputNum()
101 *
102 * @par JSON-RPC request example
103 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputNum","params":[],"id":1}
104 *
105 * @par JSON-RPC response example
106 * {"id":1,"jsonrpc":"2.0","result":16}
107 *
108 * \endenglish
109 */
111
112 /**
113 * @ingroup IoControl
114 * \chinese
115 * 获取工具端数字IO数量(包括数字输入和数字输出)
116 *
117 * @return 工具端数字IO数量(包括数字输入和数字输出)
118 *
119 * @throws arcs::common_interface::AuboException
120 *
121 * @par Python函数原型
122 * getToolDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
123 *
124 * @par Lua函数原型
125 * getToolDigitalInputNum() -> number
126 *
127 * @par Lua示例
128 * num = getStandardDigitalInputNum()
129 *
130 * @par JSON-RPC请求示例
131 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputNum","params":[],"id":1}
132 *
133 * @par JSON-RPC响应示例
134 * {"id":1,"jsonrpc":"2.0","result":4}
135 *
136 * \endchinese
137 * \english
138 * Get the number of tool digital IOs (including digital inputs and
139 * outputs).
140 *
141 * @return Number of tool digital IOs (including digital inputs and
142 * outputs).
143 *
144 * @throws arcs::common_interface::AuboException
145 *
146 * @par Python function prototype
147 * getToolDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
148 *
149 * @par Lua function prototype
150 * getToolDigitalInputNum() -> number
151 *
152 * @par Lua example
153 * num = getStandardDigitalInputNum()
154 *
155 * @par JSON-RPC request example
156 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputNum","params":[],"id":1}
157 *
158 * @par JSON-RPC response example
159 * {"id":1,"jsonrpc":"2.0","result":4}
160 *
161 * \endenglish
162 */
164
165 /**
166 * @ingroup IoControl
167 * \chinese
168 * 获取可配置数字输入数量
169 *
170 * @return 可配置数字输入数量
171 *
172 * @throws arcs::common_interface::AuboException
173 *
174 * @par Python函数原型
175 * getConfigurableDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
176 *
177 * @par Lua函数原型
178 * getConfigurableDigitalInputNum() -> number
179 *
180 * @par Lua示例
181 * num = getConfigurableDigitalInputNum()
182 *
183 * @par JSON-RPC请求示例
184 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputNum","params":[],"id":1}
185 *
186 * @par JSON-RPC响应示例
187 * {"id":1,"jsonrpc":"2.0","result":16}
188 *
189 * \endchinese
190 * \english
191 * Get the number of configurable digital inputs.
192 *
193 * @return Number of configurable digital inputs.
194 *
195 * @throws arcs::common_interface::AuboException
196 *
197 * @par Python function prototype
198 * getConfigurableDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
199 *
200 * @par Lua function prototype
201 * getConfigurableDigitalInputNum() -> number
202 *
203 * @par Lua example
204 * num = getConfigurableDigitalInputNum()
205 *
206 * @par JSON-RPC request example
207 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputNum","params":[],"id":1}
208 *
209 * @par JSON-RPC response example
210 * {"id":1,"jsonrpc":"2.0","result":16}
211 *
212 * \endenglish
213 */
215
216 /**
217 * @ingroup IoControl
218 * \chinese
219 * 获取标准数字输出数量
220 *
221 * @return 标准数字输出数量
222 *
223 * @throws arcs::common_interface::AuboException
224 *
225 * @par Python函数原型
226 * getStandardDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
227 *
228 * @par Lua函数原型
229 * getStandardDigitalOutputNum() -> number
230 *
231 * @par Lua示例
232 * num = getStandardDigitalOutputNum()
233 *
234 * @par JSON-RPC请求示例
235 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputNum","params":[],"id":1}
236 *
237 * @par JSON-RPC响应示例
238 * {"id":1,"jsonrpc":"2.0","result":8}
239 *
240 * \endchinese
241 * \english
242 * Get the number of standard digital outputs.
243 *
244 * @return Number of standard digital outputs.
245 *
246 * @throws arcs::common_interface::AuboException
247 *
248 * @par Python function prototype
249 * getStandardDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
250 *
251 * @par Lua function prototype
252 * getStandardDigitalOutputNum() -> number
253 *
254 * @par Lua example
255 * num = getStandardDigitalOutputNum()
256 *
257 * @par JSON-RPC request example
258 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputNum","params":[],"id":1}
259 *
260 * @par JSON-RPC response example
261 * {"id":1,"jsonrpc":"2.0","result":8}
262 *
263 * \endenglish
264 */
266
267 /**
268 * @ingroup IoControl
269 * \chinese
270 * 获取工具端数字IO数量(包括数字输入和数字输出)
271 *
272 * @return 工具端数字IO数量(包括数字输入和数字输出)
273 *
274 * @throws arcs::common_interface::AuboException
275 *
276 * @par Python函数原型
277 * getToolDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
278 *
279 * @par Lua函数原型
280 * getToolDigitalOutputNum() -> number
281 *
282 * @par Lua示例
283 * num = getToolDigitalOutputNum()
284 *
285 * @par JSON-RPC请求示例
286 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputNum","params":[],"id":1}
287 *
288 * @par JSON-RPC响应示例
289 * {"id":1,"jsonrpc":"2.0","result":4}
290 *
291 * \endchinese
292 * \english
293 * Get the number of tool digital IOs (including digital inputs and
294 * outputs).
295 *
296 * @return Number of tool digital IOs (including digital inputs and
297 * outputs).
298 *
299 * @throws arcs::common_interface::AuboException
300 *
301 * @par Python function prototype
302 * getToolDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
303 *
304 * @par Lua function prototype
305 * getToolDigitalOutputNum() -> number
306 *
307 * @par Lua example
308 * num = getToolDigitalOutputNum()
309 *
310 * @par JSON-RPC request example
311 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputNum","params":[],"id":1}
312 *
313 * @par JSON-RPC response example
314 * {"id":1,"jsonrpc":"2.0","result":4}
315 *
316 * \endenglish
317 */
319
320 /**
321 * @ingroup IoControl
322 * \chinese
323 * 设置指定的工具端数字IO为输入或输出
324 *
325 * 工具端数字IO比较特殊,IO可以配置为输入或者输出
326 *
327 * @param index: 表示IO口的管脚,管脚编号从0开始。
328 * 例如,0表示第一个管脚。
329 * @param input: 表示指定IO是否为输入。
330 * input 为true时,设置指定IO为输入,否则为输出
331 * @return 成功返回0;失败返回错误码
332 * AUBO_BUSY
333 * AUBO_BAD_STATE
334 * -AUBO_INVL_ARGUMENT
335 * -AUBO_BAD_STATE
336 *
337 * @throws arcs::common_interface::AuboException
338 *
339 * @par Python函数原型
340 * setToolIoInput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool) -> int
341 *
342 * @par Lua函数原型
343 * setToolIoInput(index: number, input: boolean) -> nil
344 *
345 * @par Lua示例
346 * setToolIoInput(0,true)
347 *
348 * @par JSON-RPC请求示例
349 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolIoInput","params":[0,true],"id":1}
350 *
351 * @par JSON-RPC响应示例
352 * {"id":1,"jsonrpc":"2.0","result":0}
353 *
354 * \endchinese
355 * \english
356 * Set the specified tool digital IO as input or output.
357 *
358 * Tool digital IOs are special and can be configured as input or output.
359 *
360 * @param index: Indicates the IO pin, starting from 0.
361 * For example, 0 means the first pin.
362 * @param input: Indicates whether the specified IO is input.
363 * If input is true, set the IO as input; otherwise, set as output.
364 * @return Returns 0 on success; error code on failure.
365 * AUBO_BUSY
366 * AUBO_BAD_STATE
367 * -AUBO_INVL_ARGUMENT
368 * -AUBO_BAD_STATE
369 *
370 * @throws arcs::common_interface::AuboException
371 *
372 * @par Python function prototype
373 * setToolIoInput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool) -> int
374 *
375 * @par Lua function prototype
376 * setToolIoInput(index: number, input: boolean) -> nil
377 *
378 * @par Lua example
379 * setToolIoInput(0,true)
380 *
381 * @par JSON-RPC request example
382 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolIoInput","params":[0,true],"id":1}
383 *
384 * @par JSON-RPC response example
385 * {"id":1,"jsonrpc":"2.0","result":0}
386 *
387 * \endenglish
388 */
389 int setToolIoInput(int index, bool input);
390
391 /**
392 * @ingroup IoControl
393 * \chinese
394 * 判断指定的工具端数字IO类型是否为输入
395 *
396 * @param index: 表示IO口的管脚,管脚编号从0开始。
397 * 例如,0表示第一个管脚。
398 * @return 当指定的IO为输入时返回 true, 否则为 false
399 *
400 * @throws arcs::common_interface::AuboException
401 *
402 * @par Python函数原型
403 * isToolIoInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
404 *
405 * @par Lua函数原型
406 * isToolIoInput(index: number) -> boolean
407 *
408 * @par Lua示例
409 * status = isToolIoInput(0)
410 *
411 * @par JSON-RPC请求示例
412 * {"jsonrpc":"2.0","method":"rob1.IoControl.isToolIoInput","params":[0],"id":1}
413 *
414 * @par JSON-RPC响应示例
415 * {"id":1,"jsonrpc":"2.0","result":true}
416 *
417 * \endchinese
418 * \english
419 * Determine whether the specified tool digital IO is configured as input.
420 *
421 * @param index: Indicates the IO pin, starting from 0.
422 * For example, 0 means the first pin.
423 * @return Returns true if the specified IO is input, otherwise false.
424 *
425 * @throws arcs::common_interface::AuboException
426 *
427 * @par Python function prototype
428 * isToolIoInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
429 *
430 * @par Lua function prototype
431 * isToolIoInput(index: number) -> boolean
432 *
433 * @par Lua example
434 * status = isToolIoInput(0)
435 *
436 * @par JSON-RPC request example
437 * {"jsonrpc":"2.0","method":"rob1.IoControl.isToolIoInput","params":[0],"id":1}
438 *
439 * @par JSON-RPC response example
440 * {"id":1,"jsonrpc":"2.0","result":true}
441 *
442 * \endenglish
443 */
444 bool isToolIoInput(int index);
445
446 /**
447 * @ingroup IoControl
448 * \chinese
449 * 获取可配置数字输出数量
450 *
451 * @return 可配置数字输出数量
452 *
453 * @throws arcs::common_interface::AuboException
454 *
455 * @par Python函数原型
456 * getConfigurableDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
457 *
458 * @par Lua函数原型
459 * getConfigurableDigitalOutputNum() -> number
460 *
461 * @par Lua示例
462 * num = getConfigurableDigitalOutputNum()
463 *
464 * @par JSON-RPC请求示例
465 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputNum","params":[],"id":1}
466 *
467 * @par JSON-RPC响应示例
468 * {"id":1,"jsonrpc":"2.0","result":16}
469 *
470 * \endchinese
471 * \english
472 * Get the number of configurable digital outputs.
473 *
474 * @return Number of configurable digital outputs.
475 *
476 * @throws arcs::common_interface::AuboException
477 *
478 * @par Python function prototype
479 * getConfigurableDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
480 *
481 * @par Lua function prototype
482 * getConfigurableDigitalOutputNum() -> number
483 *
484 * @par Lua example
485 * num = getConfigurableDigitalOutputNum()
486 *
487 * @par JSON-RPC request example
488 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputNum","params":[],"id":1}
489 *
490 * @par JSON-RPC response example
491 * {"id":1,"jsonrpc":"2.0","result":16}
492 *
493 * \endenglish
494 */
496
497 /**
498 * @ingroup IoControl
499 * \chinese
500 * 获取标准模拟输入数量
501 *
502 * @return 标准模拟输入数量
503 *
504 * @throws arcs::common_interface::AuboException
505 *
506 * @par Python函数原型
507 * getStandardAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
508 *
509 * @par Lua函数原型
510 * getStandardAnalogInputNum() -> number
511 *
512 * @par Lua示例
513 * num = getStandardAnalogInputNum()
514 *
515 * @par JSON-RPC请求示例
516 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputNum","params":[],"id":1}
517 *
518 * @par JSON-RPC响应示例
519 * {"id":1,"jsonrpc":"2.0","result":2}
520 *
521 * \endchinese
522 * \english
523 * Get the number of standard analog inputs.
524 *
525 * @return Number of standard analog inputs.
526 *
527 * @throws arcs::common_interface::AuboException
528 *
529 * @par Python function prototype
530 * getStandardAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
531 *
532 * @par Lua function prototype
533 * getStandardAnalogInputNum() -> number
534 *
535 * @par Lua example
536 * num = getStandardAnalogInputNum()
537 *
538 * @par JSON-RPC request example
539 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputNum","params":[],"id":1}
540 *
541 * @par JSON-RPC response example
542 * {"id":1,"jsonrpc":"2.0","result":2}
543 *
544 * \endenglish
545 */
547
548 /**
549 * @ingroup IoControl
550 * \chinese
551 * 获取工具端模拟输入数量
552 *
553 * @return 工具端模拟输入数量
554 *
555 * @throws arcs::common_interface::AuboException
556 *
557 * @par Python函数原型
558 * getToolAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
559 *
560 * @par Lua函数原型
561 * getToolAnalogInputNum() -> number
562 *
563 * @par Lua示例
564 * num = getToolAnalogInputNum()
565 *
566 * @par JSON-RPC请求示例
567 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputNum","params":[],"id":1}
568 *
569 * @par JSON-RPC响应示例
570 * {"id":1,"jsonrpc":"2.0","result":2}
571 *
572 * \endchinese
573 * \english
574 * Get the number of tool analog inputs.
575 *
576 * @return Number of tool analog inputs.
577 *
578 * @throws arcs::common_interface::AuboException
579 *
580 * @par Python function prototype
581 * getToolAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
582 *
583 * @par Lua function prototype
584 * getToolAnalogInputNum() -> number
585 *
586 * @par Lua example
587 * num = getToolAnalogInputNum()
588 *
589 * @par JSON-RPC request example
590 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputNum","params":[],"id":1}
591 *
592 * @par JSON-RPC response example
593 * {"id":1,"jsonrpc":"2.0","result":2}
594 *
595 * \endenglish
596 */
598
599 /**
600 * @ingroup IoControl
601 * \chinese
602 * 获取标准模拟输出数量
603 *
604 * @return 标准模拟输出数量
605 *
606 * @throws arcs::common_interface::AuboException
607 *
608 * @par Python函数原型
609 * getStandardAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
610 *
611 * @par Lua函数原型
612 * getStandardAnalogOutputNum() -> number
613 *
614 * @par Lua示例
615 * num = getStandardAnalogOutputNum()
616 *
617 * @par JSON-RPC请求示例
618 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputNum","params":[],"id":1}
619 *
620 * @par JSON-RPC响应示例
621 * {"id":1,"jsonrpc":"2.0","result":2}
622 *
623 * \endchinese
624 * \english
625 * Get the number of standard analog outputs.
626 *
627 * @return Number of standard analog outputs.
628 *
629 * @throws arcs::common_interface::AuboException
630 *
631 * @par Python function prototype
632 * getStandardAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
633 *
634 * @par Lua function prototype
635 * getStandardAnalogOutputNum() -> number
636 *
637 * @par Lua example
638 * num = getStandardAnalogOutputNum()
639 *
640 * @par JSON-RPC request example
641 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputNum","params":[],"id":1}
642 *
643 * @par JSON-RPC response example
644 * {"id":1,"jsonrpc":"2.0","result":2}
645 *
646 * \endenglish
647 */
649
650 /**
651 * @ingroup IoControl
652 * \chinese
653 * 获取工具端模拟输出数量
654 *
655 * @return 工具端模拟输出数量
656 *
657 * @throws arcs::common_interface::AuboException
658 *
659 * @par Python函数原型
660 * getToolAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
661 *
662 * @par Lua函数原型
663 * getToolAnalogOutputNum() -> number
664 *
665 * @par Lua示例
666 * num = getToolAnalogOutputNum()
667 *
668 * @par JSON-RPC请求示例
669 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputNum","params":[],"id":1}
670 *
671 * @par JSON-RPC响应示例
672 * {"id":1,"jsonrpc":"2.0","result":0}
673 *
674 * \endchinese
675 * \english
676 * Get the number of tool analog outputs.
677 *
678 * @return Number of tool analog outputs.
679 *
680 * @throws arcs::common_interface::AuboException
681 *
682 * @par Python function prototype
683 * getToolAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
684 *
685 * @par Lua function prototype
686 * getToolAnalogOutputNum() -> number
687 *
688 * @par Lua example
689 * num = getToolAnalogOutputNum()
690 *
691 * @par JSON-RPC request example
692 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputNum","params":[],"id":1}
693 *
694 * @par JSON-RPC response example
695 * {"id":1,"jsonrpc":"2.0","result":0}
696 *
697 * \endenglish
698 */
700
701 /**
702 * @ingroup IoControl
703 * \chinese
704 * 设置所有数字输入动作为无触发
705 *
706 * @note
707 * 当输入动作为无触发时,用户设置数字输入值为高电平,不会触发机器人发生动作
708 *
709 * @return 成功返回0;失败返回错误码
710 * AUBO_BUSY
711 * AUBO_BAD_STATE
712 * -AUBO_BAD_STATE
713 *
714 * @throws arcs::common_interface::AuboException
715 *
716 * @par Python函数原型
717 * setDigitalInputActionDefault(self: pyaubo_sdk.IoControl) -> int
718 *
719 * @par Lua函数原型
720 * setDigitalInputActionDefault() -> nil
721 *
722 * @par Lua示例
723 * setDigitalInputActionDefault()
724 *
725 * @par JSON-RPC请求示例
726 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalInputActionDefault","params":[],"id":1}
727 *
728 * @par JSON-RPC响应示例
729 * {"id":1,"jsonrpc":"2.0","result":0}
730 *
731 * \endchinese
732 * \english
733 * Set all digital input actions to no trigger.
734 *
735 * @note
736 * When the input action is set to no trigger, setting the digital input
737 * value to high will not trigger any robot action.
738 *
739 * @return Returns 0 on success; error code on failure.
740 * AUBO_BUSY
741 * AUBO_BAD_STATE
742 * -AUBO_BAD_STATE
743 *
744 * @throws arcs::common_interface::AuboException
745 *
746 * @par Python function prototype
747 * setDigitalInputActionDefault(self: pyaubo_sdk.IoControl) -> int
748 *
749 * @par Lua function prototype
750 * setDigitalInputActionDefault() -> nil
751 *
752 * @par Lua example
753 * setDigitalInputActionDefault()
754 *
755 * @par JSON-RPC request example
756 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalInputActionDefault","params":[],"id":1}
757 *
758 * @par JSON-RPC response example
759 * {"id":1,"jsonrpc":"2.0","result":0}
760 *
761 * \endenglish
762 */
764
765 /**
766 * @ingroup IoControl
767 * \chinese
768 * 设置标准数字输入触发动作
769 *
770 * @note
771 * 当给输入设置为无触发动作(StandardInputAction::Default)时,
772 * 用户设置数字输入值为高电平,不会触发机器人发生动作。\n
773 * 当给输入设置触发动作时,用户设置数字输入值为高电平,会触发机器人执行相应的动作。\n
774 * 例如,当设置DI0的触发动作为拖动示教(StandardInputAction::Handguide)时,
775 * 用户设置DI0为高电平,机器人会进入拖动示教。
776 * 设置DI0为低电平,机器人会退出拖动示教。
777 *
778 * @param index: 表示IO口的管脚,管脚编号从0开始。
779 * 例如,0表示第一个管脚。
780 * @param action: 触发动作
781 *
782 * @return 成功返回0;失败返回错误码
783 * AUBO_REQUEST_IGNORE
784 * AUBO_BUSY
785 * AUBO_BAD_STATE
786 * -AUBO_INVL_ARGUMENT
787 * -AUBO_BAD_STATE
788 *
789 * @throws arcs::common_interface::AuboException
790 *
791 * @par Python函数原型
792 * setStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
793 * arg1: arcs::common_interface::StandardInputAction) -> int
794 *
795 * @par Lua函数原型
796 * setStandardDigitalInputAction(index: number, action: number) -> nil
797 *
798 * @par Lua示例
799 * setStandardDigitalInputAction(0,1)
800 *
801 * @par JSON-RPC请求示例
802 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalInputAction","params":[0,"Handguide"],"id":1}
803 *
804 * @par JSON-RPC响应示例
805 * {"id":1,"jsonrpc":"2.0","result":0}
806 *
807 * \endchinese
808 * \english
809 * Set the trigger action for standard digital input.
810 *
811 * @note
812 * When the input is set to no trigger action
813 * (StandardInputAction::Default), setting the digital input value to high
814 * will not trigger any robot action.\n When a trigger action is set,
815 * setting the digital input value to high will trigger the corresponding
816 * robot action.\n For example, if DI0 is set to trigger Handguide
817 * (StandardInputAction::Handguide), setting DI0 to high will enable
818 * hand-guiding mode. Setting DI0 to low will exit hand-guiding mode.
819 *
820 * @param index: Indicates the IO pin, starting from 0.
821 * For example, 0 means the first pin.
822 * @param action: Trigger action
823 *
824 * @return Returns 0 on success; error code on failure.
825 * AUBO_REQUEST_IGNORE
826 * AUBO_BUSY
827 * AUBO_BAD_STATE
828 * -AUBO_INVL_ARGUMENT
829 * -AUBO_BAD_STATE
830 *
831 * @throws arcs::common_interface::AuboException
832 *
833 * @par Python function prototype
834 * setStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
835 * arg1: arcs::common_interface::StandardInputAction) -> int
836 *
837 * @par Lua function prototype
838 * setStandardDigitalInputAction(index: number, action: number) -> nil
839 *
840 * @par Lua example
841 * setStandardDigitalInputAction(0,1)
842 *
843 * @par JSON-RPC request example
844 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalInputAction","params":[0,"Handguide"],"id":1}
845 *
846 * @par JSON-RPC response example
847 * {"id":1,"jsonrpc":"2.0","result":0}
848 *
849 * \endenglish
850 */
852
853 /**
854 * @ingroup IoControl
855 * \chinese
856 * 设置工具数字输入触发动作
857 *
858 * @note
859 * 当给输入设置为无触发动作(StandardInputAction::Default)时,
860 * 用户设置工具数字输入值为高电平,不会触发机器人发生动作。\n
861 * 当给输入设置触发动作时,用户设置工具数字输入值为高电平,会触发机器人执行相应的动作。\n
862 * 例如,当设置TOOL_IO[0]的类型为输入而且触发动作为拖动示教(StandardInputAction::Handguide)时,
863 * 用户设置TOOL_IO[0]为高电平,机器人会进入拖动示教。
864 * 设置TOOL_IO[0]为低电平,机器人会退出拖动示教。
865 *
866 * @param index: 表示IO口的管脚,管脚编号从0开始。
867 * 例如,0表示第一个管脚。
868 * @param action: 触发动作
869 *
870 * @return 成功返回0;失败返回错误码
871 * AUBO_REQUEST_IGNORE
872 * AUBO_BUSY
873 * AUBO_BAD_STATE
874 * -AUBO_INVL_ARGUMENT
875 * -AUBO_BAD_STATE
876 *
877 * @throws arcs::common_interface::AuboException
878 *
879 * @par Python函数原型
880 * setToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int, arg1:
881 * arcs::common_interface::StandardInputAction) -> int
882 *
883 * @par Lua函数原型
884 * setToolDigitalInputAction(index: number, action: number) -> nil
885 *
886 * @par Lua示例
887 * setToolDigitalInputAction(0,1)
888 *
889 * @par JSON-RPC请求示例
890 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalInputAction","params":[0,"Handguide"],"id":1}
891 *
892 * @par JSON-RPC响应示例
893 * {"id":1,"jsonrpc":"2.0","result":0}
894 *
895 * \endchinese
896 * \english
897 * Set the trigger action for tool digital input.
898 *
899 * @note
900 * When the input is set to no trigger action
901 * (StandardInputAction::Default), setting the tool digital input value to
902 * high will not trigger any robot action.\n When a trigger action is set,
903 * setting the tool digital input value to high will trigger the
904 * corresponding robot action.\n For example, if TOOL_IO[0] is set as input
905 * and its trigger action is Handguide (StandardInputAction::Handguide),
906 * setting TOOL_IO[0] to high will enable hand-guiding mode.
907 * Setting TOOL_IO[0] to low will exit hand-guiding mode.
908 *
909 * @param index: Indicates the IO pin, starting from 0.
910 * For example, 0 means the first pin.
911 * @param action: Trigger action
912 *
913 * @return Returns 0 on success; error code on failure.
914 * AUBO_REQUEST_IGNORE
915 * AUBO_BUSY
916 * AUBO_BAD_STATE
917 * -AUBO_INVL_ARGUMENT
918 * -AUBO_BAD_STATE
919 *
920 * @throws arcs::common_interface::AuboException
921 *
922 * @par Python function prototype
923 * setToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int, arg1:
924 * arcs::common_interface::StandardInputAction) -> int
925 *
926 * @par Lua function prototype
927 * setToolDigitalInputAction(index: number, action: number) -> nil
928 *
929 * @par Lua example
930 * setToolDigitalInputAction(0,1)
931 *
932 * @par JSON-RPC request example
933 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalInputAction","params":[0,"Handguide"],"id":1}
934 *
935 * @par JSON-RPC response example
936 * {"id":1,"jsonrpc":"2.0","result":0}
937 *
938 * \endenglish
939 */
941
942 /**
943 * @ingroup IoControl
944 * \chinese
945 * 设置可配置数字输入触发动作
946 *
947 * @param index: 表示IO口的管脚,管脚编号从0开始。
948 * 例如,0表示第一个管脚。
949 * @param action: 触发动作
950 *
951 * @return 成功返回0;失败返回错误码
952 * AUBO_REQUEST_IGNORE
953 * AUBO_BUSY
954 * AUBO_BAD_STATE
955 * -AUBO_INVL_ARGUMENT
956 * -AUBO_BAD_STATE
957 *
958 * @throws arcs::common_interface::AuboException
959 *
960 * @note 需要将可配置输入的安全输入动作设置为
961 * SafetyInputAction::Unassigned时这个函数的配置才会生效
962 *
963 * @par Python函数原型
964 * setConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
965 * arg1: arcs::common_interface::StandardInputAction) -> int
966 *
967 * @par Lua函数原型
968 * setConfigurableDigitalInputAction(index: number, action: number) -> nil
969 *
970 * @par Lua示例
971 * setConfigurableDigitalInputAction(0,1)
972 *
973 * @par JSON-RPC请求示例
974 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalInputAction","params":[0,"Handguide"],"id":1}
975 *
976 * @par JSON-RPC响应示例
977 * {"id":1,"jsonrpc":"2.0","result":0}
978 *
979 * \endchinese
980 * \english
981 * Set the trigger action for configurable digital input.
982 *
983 * @param index: Indicates the IO pin, starting from 0.
984 * For example, 0 means the first pin.
985 * @param action: Trigger action
986 *
987 * @return Returns 0 on success; error code on failure.
988 * AUBO_REQUEST_IGNORE
989 * AUBO_BUSY
990 * AUBO_BAD_STATE
991 * -AUBO_INVL_ARGUMENT
992 * -AUBO_BAD_STATE
993 *
994 * @throws arcs::common_interface::AuboException
995 *
996 * @note This function takes effect only when the safety input action of the
997 * configurable input is set to SafetyInputAction::Unassigned.
998 *
999 * @par Python function prototype
1000 * setConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
1001 * arg1: arcs::common_interface::StandardInputAction) -> int
1002 *
1003 * @par Lua function prototype
1004 * setConfigurableDigitalInputAction(index: number, action: number) -> nil
1005 *
1006 * @par Lua example
1007 * setConfigurableDigitalInputAction(0,1)
1008 *
1009 * @par JSON-RPC request example
1010 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalInputAction","params":[0,"Handguide"],"id":1}
1011 *
1012 * @par JSON-RPC response example
1013 * {"id":1,"jsonrpc":"2.0","result":0}
1014 *
1015 * \endenglish
1016 */
1018 StandardInputAction action);
1019
1020 /**
1021 * @ingroup IoControl
1022 * \chinese
1023 * 获取标准数字输入触发动作
1024 *
1025 * @param index: 表示IO口的管脚,管脚编号从0开始。
1026 * 例如,0表示第一个管脚。
1027 * @return 标准数字输入触发动作
1028 *
1029 * @par Python函数原型
1030 * getStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
1031 * arcs::common_interface::StandardInputAction
1032 *
1033 * @par Lua函数原型
1034 * getStandardDigitalInputAction(index: number) -> number
1035 *
1036 * @par Lua示例
1037 * num = getStandardDigitalInputAction(0)
1038 *
1039 * @par JSON-RPC请求示例
1040 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputAction","params":[0],"id":1}
1041 *
1042 * @par JSON-RPC响应示例
1043 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1044 *
1045 * \endchinese
1046 * \english
1047 * Get the trigger action for standard digital input.
1048 *
1049 * @param index: Indicates the IO pin, starting from 0.
1050 * For example, 0 means the first pin.
1051 * @return Standard digital input trigger action
1052 *
1053 * @par Python function prototype
1054 * getStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
1055 * arcs::common_interface::StandardInputAction
1056 *
1057 * @par Lua function prototype
1058 * getStandardDigitalInputAction(index: number) -> number
1059 *
1060 * @par Lua example
1061 * num = getStandardDigitalInputAction(0)
1062 *
1063 * @par JSON-RPC request example
1064 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputAction","params":[0],"id":1}
1065 *
1066 * @par JSON-RPC response example
1067 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1068 *
1069 * \endenglish
1070 */
1072
1073 /**
1074 * @ingroup IoControl
1075 * \chinese
1076 * 获取工具端数字输入触发动作
1077 *
1078 * @param index: 表示IO口的管脚,管脚编号从0开始。
1079 * 例如,0表示第一个管脚。
1080 * @return 工具端数字输入触发动作
1081 *
1082 * @par Python函数原型
1083 * getToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
1084 * arcs::common_interface::StandardInputAction
1085 *
1086 * @par Lua函数原型
1087 * getToolDigitalInputAction(index: number) -> number
1088 *
1089 * @par Lua示例
1090 * getToolDigitalInputAction(0)
1091 *
1092 * @par JSON-RPC请求示例
1093 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputAction","params":[0],"id":1}
1094 *
1095 * @par JSON-RPC响应示例
1096 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1097 *
1098 * \endchinese
1099 * \english
1100 * Get the trigger action for tool digital input.
1101 *
1102 * @param index: Indicates the IO pin, starting from 0.
1103 * For example, 0 means the first pin.
1104 * @return Tool digital input trigger action
1105 *
1106 * @par Python function prototype
1107 * getToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
1108 * arcs::common_interface::StandardInputAction
1109 *
1110 * @par Lua function prototype
1111 * getToolDigitalInputAction(index: number) -> number
1112 *
1113 * @par Lua example
1114 * getToolDigitalInputAction(0)
1115 *
1116 * @par JSON-RPC request example
1117 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputAction","params":[0],"id":1}
1118 *
1119 * @par JSON-RPC response example
1120 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1121 *
1122 * \endenglish
1123 */
1125
1126 /**
1127 * @ingroup IoControl
1128 * \chinese
1129 * 获取可配置数字输入的输入触发动作
1130 *
1131 * @param index: 表示IO口的管脚,管脚编号从0开始。
1132 * 例如,0表示第一个管脚。
1133 * @return 返回输入触发动作
1134 *
1135 * @par Python函数原型
1136 * getConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int)
1137 * -> arcs::common_interface::StandardInputAction
1138 *
1139 * @par Lua函数原型
1140 * getConfigurableDigitalInputAction(index: number) -> number
1141 *
1142 * @par Lua示例
1143 * num = getConfigurableDigitalInputAction(0)
1144 *
1145 * @par JSON-RPC请求示例
1146 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputAction","params":[0],"id":1}
1147 *
1148 * @par JSON-RPC响应示例
1149 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1150 *
1151 * \endchinese
1152 * \english
1153 * Get the trigger action for configurable digital input.
1154 *
1155 * @param index: Indicates the IO pin, starting from 0.
1156 * For example, 0 means the first pin.
1157 * @return Returns the input trigger action.
1158 *
1159 * @par Python function prototype
1160 * getConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int)
1161 * -> arcs::common_interface::StandardInputAction
1162 *
1163 * @par Lua function prototype
1164 * getConfigurableDigitalInputAction(index: number) -> number
1165 *
1166 * @par Lua example
1167 * num = getConfigurableDigitalInputAction(0)
1168 *
1169 * @par JSON-RPC request example
1170 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputAction","params":[0],"id":1}
1171 *
1172 * @par JSON-RPC response example
1173 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1174 *
1175 * \endenglish
1176 */
1178
1179 /**
1180 * @ingroup IoControl
1181 * \chinese
1182 * 设置所有数字输出状态选择为无
1183 *
1184 * @note
1185 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1186 * 用户可以设置数字输出值。\n
1187 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
1188 * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1189 * 机器人进入拖动示教,DO0会自动变为高电平。
1190 * 机器人退出拖动示教,DO0会自动变为低电平。
1191 *
1192 * @return 成功返回0;失败返回错误码
1193 * AUBO_BUSY
1194 * AUBO_BAD_STATE
1195 * -AUBO_BAD_STATE
1196 *
1197 * @throws arcs::common_interface::AuboException
1198 *
1199 * @par Python函数原型
1200 * setDigitalOutputRunstateDefault(self: pyaubo_sdk.IoControl) -> int
1201 *
1202 * @par Lua函数原型
1203 * setDigitalOutputRunstateDefault() -> nil
1204 *
1205 * @par Lua示例
1206 * setDigitalOutputRunstateDefault()
1207 *
1208 * @par JSON-RPC请求示例
1209 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputRunstateDefault","params":[],"id":1}
1210 *
1211 * @par JSON-RPC响应示例
1212 * {"id":1,"jsonrpc":"2.0","result":0}
1213 *
1214 * \endchinese
1215 * \english
1216 * Set all digital output runstates to None.
1217 *
1218 * @note
1219 * When the output runstate is set to None (StandardOutputRunState::None),
1220 * users can set the digital output value.\n
1221 * When the output runstate is set, users cannot set the digital output
1222 * value, and the controller will set it automatically.\n For example, when
1223 * DO0's output runstate is set to indicate hand-guiding
1224 * (StandardOutputRunState::Handguiding), the robot enters hand-guiding mode
1225 * and DO0 will automatically become high. When the robot exits
1226 * hand-guiding, DO0 will automatically become low.
1227 *
1228 * @return Returns 0 on success; error code on failure.
1229 * AUBO_BUSY
1230 * AUBO_BAD_STATE
1231 * -AUBO_BAD_STATE
1232 *
1233 * @throws arcs::common_interface::AuboException
1234 *
1235 * @par Python function prototype
1236 * setDigitalOutputRunstateDefault(self: pyaubo_sdk.IoControl) -> int
1237 *
1238 * @par Lua function prototype
1239 * setDigitalOutputRunstateDefault() -> nil
1240 *
1241 * @par Lua example
1242 * setDigitalOutputRunstateDefault()
1243 *
1244 * @par JSON-RPC request example
1245 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputRunstateDefault","params":[],"id":1}
1246 *
1247 * @par JSON-RPC response example
1248 * {"id":1,"jsonrpc":"2.0","result":0}
1249 *
1250 * \endenglish
1251 */
1253
1254 /**
1255 * @ingroup IoControl
1256 * \chinese
1257 * 设置标准数字输出状态选择
1258 *
1259 * @note
1260 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1261 * 用户可以设置数字输出值。\n
1262 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
1263 * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1264 * 机器人进入拖动示教,DO0会自动变为高电平。
1265 * 机器人退出拖动示教,DO0会自动变为低电平。
1266 *
1267 * @param index: 表示IO口的管脚,管脚编号从0开始。
1268 * 例如,0表示第一个管脚。
1269 * @param runstate: 输出状态选择
1270 *
1271 * @return 成功返回0;失败返回错误码
1272 * AUBO_REQUEST_IGNORE
1273 * AUBO_BUSY
1274 * AUBO_BAD_STATE
1275 * -AUBO_INVL_ARGUMENT
1276 * -AUBO_BAD_STATE
1277 *
1278 * @throws arcs::common_interface::AuboException
1279 *
1280 * @par Python函数原型
1281 * setStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
1282 * arg1: arcs::common_interface::StandardOutputRunState) -> int
1283 *
1284 * @par Lua函数原型
1285 * setStandardDigitalOutputRunstate(index: number, runstate: number) -> nil
1286 *
1287 * @par Lua示例
1288 * setStandardDigitalOutputRunstate(0,1)
1289 *
1290 * @par JSON-RPC请求示例
1291 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputRunstate","params":[0,"PowerOn"],"id":1}
1292 *
1293 * @par JSON-RPC响应示例
1294 * {"id":1,"jsonrpc":"2.0","result":0}
1295 *
1296 * \endchinese
1297 * \english
1298 * Set the runstate for standard digital output.
1299 *
1300 * @note
1301 * When the output runstate is set to None (StandardOutputRunState::None),
1302 * users can set the digital output value.\n
1303 * When the output runstate is set, users cannot set the digital output
1304 * value, and the controller will set it automatically.\n For example, when
1305 * DO0's output runstate is set to indicate hand-guiding
1306 * (StandardOutputRunState::Handguiding), the robot enters hand-guiding mode
1307 * and DO0 will automatically become high. When the robot exits
1308 * hand-guiding, DO0 will automatically become low.
1309 *
1310 * @param index: Indicates the IO pin, starting from 0.
1311 * For example, 0 means the first pin.
1312 * @param runstate: Output runstate selection
1313 *
1314 * @return Returns 0 on success; error code on failure.
1315 * AUBO_REQUEST_IGNORE
1316 * AUBO_BUSY
1317 * AUBO_BAD_STATE
1318 * -AUBO_INVL_ARGUMENT
1319 * -AUBO_BAD_STATE
1320 *
1321 * @throws arcs::common_interface::AuboException
1322 *
1323 * @par Python function prototype
1324 * setStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
1325 * arg1: arcs::common_interface::StandardOutputRunState) -> int
1326 *
1327 * @par Lua function prototype
1328 * setStandardDigitalOutputRunstate(index: number, runstate: number) -> nil
1329 *
1330 * @par Lua example
1331 * setStandardDigitalOutputRunstate(0,1)
1332 *
1333 * @par JSON-RPC request example
1334 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputRunstate","params":[0,"PowerOn"],"id":1}
1335 *
1336 * @par JSON-RPC response example
1337 * {"id":1,"jsonrpc":"2.0","result":0}
1338 *
1339 * \endenglish
1340 */
1342 StandardOutputRunState runstate);
1343
1344 /**
1345 * @ingroup IoControl
1346 * \chinese
1347 * 设置工具端数字输出状态选择
1348 *
1349 * @note
1350 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1351 * 用户可以设置数字输出值。\n
1352 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
1353 * 例如,当设置TOOL_IO[0]类型为输出且输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1354 * 机器人进入拖动示教,TOOL_IO[0]会自动变为高电平。
1355 * 机器人退出拖动示教,TOOL_IO[0]会自动变为低电平。
1356 *
1357 * @param index: 表示IO口的管脚,管脚编号从0开始。
1358 * 例如,0表示第一个管脚。
1359 * @param runstate: 输出状态选择
1360 *
1361 * @return 成功返回0;失败返回错误码
1362 * AUBO_REQUEST_IGNORE
1363 * AUBO_BUSY
1364 * AUBO_BAD_STATE
1365 * -AUBO_INVL_ARGUMENT
1366 * -AUBO_BAD_STATE
1367 *
1368 * @throws arcs::common_interface::AuboException
1369 *
1370 * @par Python函数原型
1371 * setToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1372 * arcs::common_interface::StandardOutputRunState) -> int
1373 *
1374 * @par Lua函数原型
1375 * setToolDigitalOutputRunstate(index: number, runstate: number) -> nil
1376 *
1377 * @par Lua示例
1378 * setToolDigitalOutputRunstate(0,1)
1379 *
1380 * @par JSON-RPC请求示例
1381 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputRunstate","params":[0,"None"],"id":1}
1382 *
1383 * @par JSON-RPC响应示例
1384 * {"id":1,"jsonrpc":"2.0","result":0}
1385 *
1386 * \endchinese
1387 * \english
1388 * Set the runstate for tool digital output.
1389 *
1390 * @note
1391 * When the output runstate is set to None (StandardOutputRunState::None),
1392 * users can set the digital output value.\n
1393 * When the output runstate is set, users cannot set the digital output
1394 * value, and the controller will set it automatically.\n For example, when
1395 * TOOL_IO[0] is set as output and its runstate is set to indicate
1396 * hand-guiding (StandardOutputRunState::Handguiding), the robot enters
1397 * hand-guiding mode and TOOL_IO[0] will automatically become high. When the
1398 * robot exits hand-guiding, TOOL_IO[0] will automatically become low.
1399 *
1400 * @param index: Indicates the IO pin, starting from 0.
1401 * For example, 0 means the first pin.
1402 * @param runstate: Output runstate selection
1403 *
1404 * @return Returns 0 on success; error code on failure.
1405 * AUBO_REQUEST_IGNORE
1406 * AUBO_BUSY
1407 * AUBO_BAD_STATE
1408 * -AUBO_INVL_ARGUMENT
1409 * -AUBO_BAD_STATE
1410 *
1411 * @throws arcs::common_interface::AuboException
1412 *
1413 * @par Python function prototype
1414 * setToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1415 * arcs::common_interface::StandardOutputRunState) -> int
1416 *
1417 * @par Lua function prototype
1418 * setToolDigitalOutputRunstate(index: number, runstate: number) -> nil
1419 *
1420 * @par Lua example
1421 * setToolDigitalOutputRunstate(0,1)
1422 *
1423 * @par JSON-RPC request example
1424 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputRunstate","params":[0,"None"],"id":1}
1425 *
1426 * @par JSON-RPC response example
1427 * {"id":1,"jsonrpc":"2.0","result":0}
1428 *
1429 * \endenglish
1430 */
1432 StandardOutputRunState runstate);
1433
1434 /**
1435 * @ingroup IoControl
1436 * \chinese
1437 * 设置可配置数字输出状态选择
1438 *
1439 * @param index: 表示IO口的管脚,管脚编号从0开始。
1440 * 例如,0表示第一个管脚。
1441 * @param runstate: 输出状态选择
1442 *
1443 * @return 成功返回0;失败返回错误码
1444 * AUBO_REQUEST_IGNORE
1445 * AUBO_BUSY
1446 * AUBO_BAD_STATE
1447 * -AUBO_INVL_ARGUMENT
1448 * -AUBO_BAD_STATE
1449 *
1450 * @throws arcs::common_interface::AuboException
1451 *
1452 * @par Python函数原型
1453 * setConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1454 * int, arg1: arcs::common_interface::StandardOutputRunState) -> int
1455 *
1456 * @par Lua函数原型
1457 * setConfigurableDigitalOutputRunstate(index: number, runstate: number) ->
1458 * nil
1459 *
1460 * @par Lua示例
1461 * setConfigurableDigitalOutputRunstate(0,1)
1462 *
1463 * @par JSON-RPC请求示例
1464 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputRunstate","params":[0,"None"],"id":1}
1465 *
1466 * @par JSON-RPC响应示例
1467 * {"id":1,"jsonrpc":"2.0","result":0}
1468 *
1469 * \endchinese
1470 * \english
1471 * Set the runstate for configurable digital output.
1472 *
1473 * @param index: Indicates the IO pin, starting from 0.
1474 * For example, 0 means the first pin.
1475 * @param runstate: Output runstate selection
1476 *
1477 * @return Returns 0 on success; error code on failure.
1478 * AUBO_REQUEST_IGNORE
1479 * AUBO_BUSY
1480 * AUBO_BAD_STATE
1481 * -AUBO_INVL_ARGUMENT
1482 * -AUBO_BAD_STATE
1483 *
1484 * @throws arcs::common_interface::AuboException
1485 *
1486 * @par Python function prototype
1487 * setConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1488 * int, arg1: arcs::common_interface::StandardOutputRunState) -> int
1489 *
1490 * @par Lua function prototype
1491 * setConfigurableDigitalOutputRunstate(index: number, runstate: number) ->
1492 * nil
1493 *
1494 * @par Lua example
1495 * setConfigurableDigitalOutputRunstate(0,1)
1496 *
1497 * @par JSON-RPC request example
1498 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputRunstate","params":[0,"None"],"id":1}
1499 *
1500 * @par JSON-RPC response example
1501 * {"id":1,"jsonrpc":"2.0","result":0}
1502 *
1503 * \endenglish
1504 */
1506 StandardOutputRunState runstate);
1507
1508 /**
1509 * @ingroup IoControl
1510 * \chinese
1511 * 设置数字输出的状态选择,并支持基于路点/平面/障碍物的条件阈值判断。
1512 *
1513 * 详细说明:当需要根据机器人是否到达某个路点或与某个平面/障碍物的距离来触发数字输出时,
1514 * 可通过本接口指定条件对象及阈值。在条件满足时会将指定的数字输出设置为对应的运行状态。
1515 *
1516 * @param io_type
1517 * 数字输出类型(0=标准数字输出、1=工具数字输出、2=可配置数字输出),用整数表示
1518 * @param index 输出口的索引,管脚编号从0开始
1519 * @param runstate 输出动作状态
1520 * @param object_name 条件对象的名称
1521 * @param threshold
1522 * 判断阈值:对路点为角度阈值,单位为弧度(rad),对平面/障碍物为距离阈值,单位为米(m)
1523 *
1524 * @return 返回操作结果码:0 表示成功,非0 表示失败
1525 *
1526 * @par Python函数原型
1527 * setDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1528 * int, arg2: arcs::common_interface::StandardOutputRunState, arg3: str="",
1529 * arg4: float=0.0) -> int
1530 *
1531 * @par Lua函数原型
1532 * setDigitalOutputRunstate(io_type: number, index: number, runstate:
1533 * number, object_name: string="", threshold: number=0.0) -> nil
1534 *
1535 * @par JSON-RPC请求示例
1536 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputRunstate","params":[1,0,"WaypointArrived","P1",3],"id":1}
1537 *
1538 * @par JSON-RPC响应示例
1539 * {"id":1,"jsonrpc":"2.0","result":0}
1540 * \endchinese
1541 * \english
1542 * Set digital output runstate with optional condition checking based on
1543 * waypoint, plane or obstacle thresholds.
1544 *
1545 * Use this API to control a digital output when a specified condition is
1546 * met (for example, waypoint arrival or distance to a plane/obstacle).
1547 * Specify an object type, name and a threshold value to enable conditional
1548 * triggering. When the condition is satisfied, the given digital output
1549 * will be set to the requested runstate.
1550 *
1551 * @param io_type Numeric IO type (e.g. 0=standard, 1=tool, 2=configurable)
1552 * @param index IO pin index starting from 0
1553 * @param runstate The desired output action
1554 * @param object_name Unique identifier of the condition object (optional)
1555 * @param threshold Condition threshold: angle in radians for waypoints,
1556 * or distance in meters for planes/obstacles (optional)
1557 *
1558 * @return Returns 0 on success, non-zero error code on failure.
1559 * \endenglish
1560 */
1561 int setDigitalOutputRunstate(int io_type, int index,
1562 StandardOutputRunState runstate,
1563 const std::string &object_name,
1564 double threshold);
1565
1566 /**
1567 * @ingroup IoControl
1568 * \chinese
1569 * 获取标准数字输出状态选择
1570 *
1571 * @param index: 表示IO口的管脚,管脚编号从0开始。
1572 * 例如,0表示第一个管脚。
1573 * @return 输出状态选择
1574 *
1575 * @throws arcs::common_interface::AuboException
1576 *
1577 * @par Python函数原型
1578 * getStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int)
1579 * -> arcs::common_interface::StandardOutputRunState
1580 *
1581 * @par Lua函数原型
1582 * getStandardDigitalOutputRunstate(index: number) -> number
1583 *
1584 * @par Lua示例
1585 * num = getStandardDigitalOutputRunstate(0)
1586 *
1587 * @par JSON-RPC请求示例
1588 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputRunstate","params":[0],"id":1}
1589 *
1590 * @par JSON-RPC响应示例
1591 * {"id":1,"jsonrpc":"2.0","result":"None"}
1592 *
1593 * \endchinese
1594 * \english
1595 * Get the runstate for standard digital output.
1596 *
1597 * @param index: Indicates the IO pin, starting from 0.
1598 * For example, 0 means the first pin.
1599 * @return Output runstate selection
1600 *
1601 * @throws arcs::common_interface::AuboException
1602 *
1603 * @par Python function prototype
1604 * getStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int)
1605 * -> arcs::common_interface::StandardOutputRunState
1606 *
1607 * @par Lua function prototype
1608 * getStandardDigitalOutputRunstate(index: number) -> number
1609 *
1610 * @par Lua example
1611 * num = getStandardDigitalOutputRunstate(0)
1612 *
1613 * @par JSON-RPC request example
1614 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputRunstate","params":[0],"id":1}
1615 *
1616 * @par JSON-RPC response example
1617 * {"id":1,"jsonrpc":"2.0","result":"None"}
1618 *
1619 * \endenglish
1620 */
1622
1623 /**
1624 * @ingroup IoControl
1625 * \chinese
1626 * 获取工具端数字输出状态选择
1627 *
1628 * @param index: 表示IO口的管脚,管脚编号从0开始。
1629 * 例如,0表示第一个管脚。
1630 * @return 输出状态选择
1631 *
1632 * @throws arcs::common_interface::AuboException
1633 *
1634 * @par Python函数原型
1635 * getToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1636 * arcs::common_interface::StandardOutputRunState
1637 *
1638 * @par Lua函数原型
1639 * getToolDigitalOutputRunstate(index: number) -> number
1640 *
1641 * @par Lua示例
1642 * num = getToolDigitalOutputRunstate(0)
1643 *
1644 * @par JSON-RPC请求示例
1645 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputRunstate","params":[0],"id":1}
1646 *
1647 * @par JSON-RPC响应示例
1648 * {"id":1,"jsonrpc":"2.0","result":"None"}
1649 *
1650 * \endchinese
1651 * \english
1652 * Get the runstate for tool digital output.
1653 *
1654 * @param index: Indicates the IO pin, starting from 0.
1655 * For example, 0 means the first pin.
1656 * @return Output runstate selection
1657 *
1658 * @throws arcs::common_interface::AuboException
1659 *
1660 * @par Python function prototype
1661 * getToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1662 * arcs::common_interface::StandardOutputRunState
1663 *
1664 * @par Lua function prototype
1665 * getToolDigitalOutputRunstate(index: number) -> number
1666 *
1667 * @par Lua example
1668 * num = getToolDigitalOutputRunstate(0)
1669 *
1670 * @par JSON-RPC request example
1671 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputRunstate","params":[0],"id":1}
1672 *
1673 * @par JSON-RPC response example
1674 * {"id":1,"jsonrpc":"2.0","result":"None"}
1675 *
1676 * \endenglish
1677 */
1679
1680 /**
1681 * @ingroup IoControl
1682 * \chinese
1683 * 获取可配置数字输出状态选择
1684 *
1685 * @param index: 表示IO口的管脚,管脚编号从0开始。
1686 * 例如,0表示第一个管脚。
1687 * @return 输出状态选择
1688 *
1689 * @throws arcs::common_interface::AuboException
1690 *
1691 * @par Python函数原型
1692 * getConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1693 * int)
1694 * -> arcs::common_interface::StandardOutputRunState
1695 *
1696 * @par Lua函数原型
1697 * getConfigurableDigitalOutputRunstate(index: number) -> number
1698 *
1699 * @par Lua示例
1700 * num = getConfigurableDigitalOutputRunstate(0)
1701 *
1702 * @par JSON-RPC请求示例
1703 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputRunstate","params":[0],"id":1}
1704 *
1705 * @par JSON-RPC响应示例
1706 * {"id":1,"jsonrpc":"2.0","result":"None"}
1707 *
1708 * \endchinese
1709 * \english
1710 * Get the runstate for configurable digital output.
1711 *
1712 * @param index: Indicates the IO pin, starting from 0.
1713 * For example, 0 means the first pin.
1714 * @return Output runstate selection
1715 *
1716 * @throws arcs::common_interface::AuboException
1717 *
1718 * @par Python function prototype
1719 * getConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1720 * int)
1721 * -> arcs::common_interface::StandardOutputRunState
1722 *
1723 * @par Lua function prototype
1724 * getConfigurableDigitalOutputRunstate(index: number) -> number
1725 *
1726 * @par Lua example
1727 * num = getConfigurableDigitalOutputRunstate(0)
1728 *
1729 * @par JSON-RPC request example
1730 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputRunstate","params":[0],"id":1}
1731 *
1732 * @par JSON-RPC response example
1733 * {"id":1,"jsonrpc":"2.0","result":"None"}
1734 *
1735 * \endenglish
1736 */
1738
1739 /**
1740 * @ingroup IoControl
1741 * \chinese
1742 * 获取指定类型数字输出状态选择。
1743 *
1744 * 用于查询不同类型的数字输出(标准数字输出、工具端数字输出、可配置数字输出)的
1745 * 当前运行状态选择(例如 WaypointArrived 等),
1746 * 一般跟 setDigitalOutputRunstate 一起使用。
1747 *
1748 * @param io_type
1749 * 数字输出类型(0=标准数字输出、1=工具数字输出、2=可配置数字输出)
1750 * @param index 输出口的索引,管脚编号从0开始
1751 * @return 返回对应的 `StandardOutputRunState` 枚举值
1752 *
1753 * @throws arcs::common_interface::AuboException
1754 *
1755 * @par Python函数原型
1756 * getDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1757 * int) -> arcs::common_interface::StandardOutputRunState
1758 *
1759 * @par Lua函数原型
1760 * getDigitalOutputRunstate(io_type: number, index: number) -> number
1761 *
1762 * @par JSON-RPC请求示例
1763 * {"jsonrpc":"2.0","method":"rob1.IoControl.getDigitalOutputRunstate","params":[1,0],"id":1}
1764 *
1765 * @par JSON-RPC响应示例
1766 * {"id":1,"jsonrpc":"2.0","result":"None"}
1767 * \endchinese
1768 * \english
1769 * Get the current runstate of a digital output of the specified type.
1770 *
1771 * Use this API to query the runstate selection (for example None,
1772 * Handguiding, WaypointArrived) of different digital output types
1773 * (standard, tool, configurable).
1774 *
1775 * @param io_type Numeric IO type (0=standard, 1=tool, 2=configurable)
1776 * @param index IO pin index starting from 0
1777 * @return Returns the corresponding `StandardOutputRunState` enum value
1778 *
1779 * @throws arcs::common_interface::AuboException
1780 * \endenglish
1781 */
1783
1784 /**
1785 * @ingroup IoControl
1786 * \chinese
1787 * 新增一条 DIO Cross Connection 逻辑规则。
1788 *
1789 * 支持 digital/bool 类 DIO 信号和虚拟 DO 信号。规则添加成功后立即生效;
1790 * DI 只能作为 actor 被读取,不能作为 result 写入。actor_inverts 表示各
1791 * actor 读取原始 bool 值后是否取反参与运算,不改变 IO 的硬件方向。
1792 *
1793 * result_type 和 actor_types 使用同一套数字类型。作为 result 时表示输出侧,
1794 * 作为 actor 时表示输入侧或可读的虚拟 DO:
1795 * - 0:标准数字 IO,result 表示标准 DO,actor 表示标准 DI。
1796 * - 1:工具数字 IO,result 表示工具 DO,actor 表示工具 DI。
1797 * - 2:可配置数字 IO,result 表示可配置 DO,actor 表示可配置 DI。
1798 * - 3:虚拟 DO,不占用真实 DO 口,可作为级联中间结果;作为 result 时写入
1799 * 虚拟 DO,作为 actor 时读取虚拟 DO。
1800 *
1801 * operator_type 由控制器实现解释,建议统一为 0=FWD、1=NOT、2=AND、
1802 * 3=OR。FWD/NOT 必须恰好 1 个 actor,AND/OR 必须为 2-5 个 actor。
1803 * actor_types、actor_pins、actor_inverts 长度必须一致。
1804 *
1805 * 限制:
1806 * - Cross Connection 规则总数最大 300。
1807 * - 规则 id 最大 32 个字符,且不能重复。
1808 * - 虚拟 DO 级联深度最大 20。
1809 * - 不允许形成闭环依赖。
1810 * - 不允许多个规则写同一个 result,包括真实 DO 和虚拟 DO。
1811 * - 虚拟 DO actor 必须由前序规则生成,读取未定义虚拟 DO 应返回失败。
1812 * - 虚拟 DO pin/index 只要求非负,不占用真实 DO 口。
1813 * - 已被 Cross Connection 写入的真实 DO 不应再配置 runstate;后续手动
1814 * set/pulse 该 DO 时应拒绝并提示该 DO 已被对应 Cross Connection 占用。
1815 *
1816 * @param id 规则唯一 ID
1817 * @param operator_type 逻辑运算类型
1818 * @param result_type 结果信号类型,必须是可写输出类类型或虚拟 DO
1819 * @param result_pin 结果信号 pin/index;虚拟 DO 使用虚拟信号 index
1820 * @param actor_types actor 信号类型列表,可读取 DI 或虚拟 DO
1821 * @param actor_pins actor 信号 pin/index 列表;虚拟 DO 使用虚拟信号 index
1822 * @param actor_inverts actor 极性列表
1823 * @return 成功返回0;失败返回错误码
1824 *
1825 * @throws arcs::common_interface::AuboException
1826 *
1827 * @par Python函数原型
1828 * addCrossConnection(self: pyaubo_sdk.IoControl, arg0: str, arg1: int,
1829 * arg2: int, arg3: int, arg4: List[int], arg5: List[int],
1830 * arg6: List[bool]) -> int
1831 *
1832 * @par Lua函数原型
1833 * addCrossConnection(id: string, operator_type: number,
1834 * result_type: number, result_pin: number, actor_types: table,
1835 * actor_pins: table, actor_inverts: table) -> number
1836 *
1837 * @par Lua示例
1838 * addCrossConnection("start_permit", 2, 0, 0, {0, 0}, {3, 4},
1839 * {false, true})
1840 *
1841 * @par JSON-RPC请求示例
1842 * {"jsonrpc":"2.0","method":"rob1.IoControl.addCrossConnection","params":["start_permit",2,0,0,[0,0],[3,4],[false,true]],"id":1}
1843 *
1844 * @par JSON-RPC虚拟 DO 级联示例
1845 * 先生成中间信号 VirtualDO[0] = DI[0] AND NOT DI[1],再输出
1846 * DO[0] = VirtualDO[0] OR DI[2]:
1847 * {"jsonrpc":"2.0","method":"rob1.IoControl.clearCrossConnections","params":[],"id":10}
1848 * {"jsonrpc":"2.0","method":"rob1.IoControl.addCrossConnection","params":["v0_di0_and_not_di1",2,3,0,[0,0],[0,1],[false,true]],"id":11}
1849 * {"jsonrpc":"2.0","method":"rob1.IoControl.addCrossConnection","params":["v0_or_di2_to_do0",3,0,0,[3,0],[0,2],[false,false]],"id":12}
1850 *
1851 * @par JSON-RPC响应示例
1852 * {"id":1,"jsonrpc":"2.0","result":0}
1853 *
1854 * \endchinese
1855 * \english
1856 * Add a DIO Cross Connection logic rule.
1857 *
1858 * Supports digital/bool DIO signals and virtual DO signals. The rule takes
1859 * effect immediately after it is added successfully. DI signals may only be
1860 * read as actors and cannot be written as results. actor_inverts tells the
1861 * controller whether to invert each actor's raw bool value before
1862 * evaluating the rule; it does not change the hardware IO direction.
1863 *
1864 * result_type and actor_types use the same numeric type set. As a result,
1865 * the value denotes the output side; as an actor, it denotes the input side
1866 * or a readable virtual DO:
1867 * - 0: Standard digital IO. result means standard DO, actor means standard
1868 * DI.
1869 * - 1: Tool digital IO. result means tool DO, actor means tool DI.
1870 * - 2: Configurable digital IO. result means configurable DO, actor means
1871 * configurable DI.
1872 * - 3: Virtual DO. It does not occupy a real DO pin and can be used as an
1873 * intermediate result for cascaded rules. As a result it writes the
1874 * virtual DO; as an actor it reads the virtual DO.
1875 *
1876 * operator_type is interpreted by the controller implementation; the
1877 * recommended mapping is 0=FWD, 1=NOT, 2=AND, 3=OR. FWD/NOT require exactly
1878 * one actor, and AND/OR require 2 to 5 actors. actor_types, actor_pins, and
1879 * actor_inverts must have the same length.
1880 *
1881 * Limits:
1882 * - Up to 300 Cross Connection rules are allowed.
1883 * - A rule id can contain up to 32 characters and must be unique.
1884 * - Virtual DO cascade depth is limited to 20.
1885 * - Cyclic dependencies are not allowed.
1886 * - Multiple rules cannot write the same result, including real DO and
1887 * virtual DO results.
1888 * - A virtual DO actor must be produced by an earlier rule; reading an
1889 * undefined virtual DO should fail.
1890 * - A virtual DO pin/index only needs to be non-negative and does not
1891 * occupy a real DO pin.
1892 * - A real DO written by Cross Connection should not also have a runstate
1893 * configured. Later manual set/pulse calls to that DO should be rejected
1894 * with a message that names the owning Cross Connection.
1895 *
1896 * @param id Unique rule ID
1897 * @param operator_type Logic operator type
1898 * @param result_type Result signal type; must be writable output type or
1899 * virtual DO
1900 * @param result_pin Result signal pin/index; virtual DO uses virtual signal
1901 * index
1902 * @param actor_types Actor signal type list; may read DI or virtual DO
1903 * @param actor_pins Actor signal pin/index list; virtual DO uses virtual
1904 * signal index
1905 * @param actor_inverts Actor polarity list
1906 * @return Returns 0 on success, non-zero error code on failure.
1907 *
1908 * @throws arcs::common_interface::AuboException
1909 *
1910 * @par Python function prototype
1911 * addCrossConnection(self: pyaubo_sdk.IoControl, arg0: str, arg1: int,
1912 * arg2: int, arg3: int, arg4: List[int], arg5: List[int],
1913 * arg6: List[bool]) -> int
1914 *
1915 * @par Lua function prototype
1916 * addCrossConnection(id: string, operator_type: number,
1917 * result_type: number, result_pin: number, actor_types: table,
1918 * actor_pins: table, actor_inverts: table) -> number
1919 *
1920 * @par Lua example
1921 * addCrossConnection("start_permit", 2, 0, 0, {0, 0}, {3, 4},
1922 * {false, true})
1923 *
1924 * @par JSON-RPC request example
1925 * {"jsonrpc":"2.0","method":"rob1.IoControl.addCrossConnection","params":["start_permit",2,0,0,[0,0],[3,4],[false,true]],"id":1}
1926 *
1927 * @par JSON-RPC virtual DO cascade example
1928 * First generate the intermediate signal VirtualDO[0] = DI[0] AND NOT
1929 * DI[1], then drive DO[0] = VirtualDO[0] OR DI[2]:
1930 * {"jsonrpc":"2.0","method":"rob1.IoControl.clearCrossConnections","params":[],"id":10}
1931 * {"jsonrpc":"2.0","method":"rob1.IoControl.addCrossConnection","params":["v0_di0_and_not_di1",2,3,0,[0,0],[0,1],[false,true]],"id":11}
1932 * {"jsonrpc":"2.0","method":"rob1.IoControl.addCrossConnection","params":["v0_or_di2_to_do0",3,0,0,[3,0],[0,2],[false,false]],"id":12}
1933 *
1934 * @par JSON-RPC response example
1935 * {"id":1,"jsonrpc":"2.0","result":0}
1936 *
1937 * \endenglish
1938 */
1939 int addCrossConnection(const std::string &id, int operator_type,
1940 int result_type, int result_pin,
1941 const std::vector<int> &actor_types,
1942 const std::vector<int> &actor_pins,
1943 const std::vector<bool> &actor_inverts);
1944
1945 /**
1946 * @ingroup IoControl
1947 * \chinese
1948 * 删除一条 DIO Cross Connection 逻辑规则。
1949 *
1950 * @param id 规则唯一 ID
1951 * @return 成功返回0;失败返回错误码
1952 *
1953 * @throws arcs::common_interface::AuboException
1954 *
1955 * @par Python函数原型
1956 * deleteCrossConnection(self: pyaubo_sdk.IoControl, arg0: str) -> int
1957 *
1958 * @par Lua函数原型
1959 * deleteCrossConnection(id: string) -> number
1960 *
1961 * @par JSON-RPC请求示例
1962 * {"jsonrpc":"2.0","method":"rob1.IoControl.deleteCrossConnection","params":["start_permit"],"id":1}
1963 *
1964 * @par JSON-RPC响应示例
1965 * {"id":1,"jsonrpc":"2.0","result":0}
1966 *
1967 * \endchinese
1968 * \english
1969 * Delete a DIO Cross Connection logic rule.
1970 *
1971 * @param id Unique rule ID
1972 * @return Returns 0 on success, non-zero error code on failure.
1973 *
1974 * @throws arcs::common_interface::AuboException
1975 *
1976 * @par Python function prototype
1977 * deleteCrossConnection(self: pyaubo_sdk.IoControl, arg0: str) -> int
1978 *
1979 * @par Lua function prototype
1980 * deleteCrossConnection(id: string) -> number
1981 *
1982 * @par JSON-RPC request example
1983 * {"jsonrpc":"2.0","method":"rob1.IoControl.deleteCrossConnection","params":["start_permit"],"id":1}
1984 *
1985 * @par JSON-RPC response example
1986 * {"id":1,"jsonrpc":"2.0","result":0}
1987 *
1988 * \endenglish
1989 */
1990 int deleteCrossConnection(const std::string &id);
1991
1992 /**
1993 * @ingroup IoControl
1994 * \chinese
1995 * 清空所有 DIO Cross Connection 逻辑规则。
1996 *
1997 * 该接口只清空规则,不清空或重置真实数字输出值。
1998 *
1999 * @return 成功返回0;失败返回错误码
2000 *
2001 * @throws arcs::common_interface::AuboException
2002 *
2003 * @par Python函数原型
2004 * clearCrossConnections(self: pyaubo_sdk.IoControl) -> int
2005 *
2006 * @par Lua函数原型
2007 * clearCrossConnections() -> number
2008 *
2009 * @par JSON-RPC请求示例
2010 * {"jsonrpc":"2.0","method":"rob1.IoControl.clearCrossConnections","params":[],"id":1}
2011 *
2012 * @par JSON-RPC响应示例
2013 * {"id":1,"jsonrpc":"2.0","result":0}
2014 *
2015 * \endchinese
2016 * \english
2017 * Clear all DIO Cross Connection logic rules.
2018 *
2019 * This only clears rules. It does not clear or reset real digital output
2020 * values.
2021 *
2022 * @return Returns 0 on success, non-zero error code on failure.
2023 *
2024 * @throws arcs::common_interface::AuboException
2025 *
2026 * @par Python function prototype
2027 * clearCrossConnections(self: pyaubo_sdk.IoControl) -> int
2028 *
2029 * @par Lua function prototype
2030 * clearCrossConnections() -> number
2031 *
2032 * @par JSON-RPC request example
2033 * {"jsonrpc":"2.0","method":"rob1.IoControl.clearCrossConnections","params":[],"id":1}
2034 *
2035 * @par JSON-RPC response example
2036 * {"id":1,"jsonrpc":"2.0","result":0}
2037 *
2038 * \endenglish
2039 */
2041
2042 /**
2043 * @ingroup IoControl
2044 * \chinese
2045 * 设置标准模拟输出状态选择
2046 *
2047 * @note
2048 * 当给输出状态设置为无(StandardOutputRunState::None)时,
2049 * 用户可以设置模拟输出值。\n
2050 * 当给输出设置状态时,用户不可设置模拟输出值,控制器会自动设置模拟输出值。\n
2051 * 例如,当设置AO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
2052 * 机器人进入拖动示教,AO0的值会自动变为最大值。
2053 * 机器人退出拖动示教,AO0的值会自动变为0。
2054 *
2055 * @param index: 表示IO口的管脚,管脚编号从0开始。
2056 * 例如,0表示第一个管脚。
2057 * @param runstate: 输出状态选择
2058 * @return 成功返回0;失败返回错误码
2059 * AUBO_REQUEST_IGNORE
2060 * AUBO_BUSY
2061 * AUBO_BAD_STATE
2062 * -AUBO_INVL_ARGUMENT
2063 * -AUBO_BAD_STATE
2064 *
2065 * @throws arcs::common_interface::AuboException
2066 *
2067 * @par Python函数原型
2068 * setStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
2069 * arg1: arcs::common_interface::StandardOutputRunState) -> int
2070 *
2071 * @par Lua函数原型
2072 * setStandardAnalogOutputRunstate(index: number, runstate: number) -> nil
2073 *
2074 * @par Lua示例
2075 * setStandardAnalogOutputRunstate(0,6)
2076 *
2077 * @par JSON-RPC请求示例
2078 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputRunstate","params":[0,"None"],"id":1}
2079 *
2080 * @par JSON-RPC响应示例
2081 * {"id":1,"jsonrpc":"2.0","result":0}
2082 *
2083 * \endchinese
2084 * \english
2085 * Set the runstate for standard analog output.
2086 *
2087 * @note
2088 * When the output runstate is set to None (StandardOutputRunState::None),
2089 * users can set the analog output value.\n
2090 * When the output runstate is set, users cannot set the analog output
2091 * value, and the controller will set it automatically.\n For example, when
2092 * AO0's output runstate is set to indicate hand-guiding
2093 * (StandardOutputRunState::Handguiding), the robot enters hand-guiding mode
2094 * and AO0 will automatically become the maximum value. When the robot exits
2095 * hand-guiding, AO0 will automatically become 0.
2096 *
2097 * @param index: Indicates the IO pin, starting from 0.
2098 * For example, 0 means the first pin.
2099 * @param runstate: Output runstate selection
2100 * @return Returns 0 on success; error code on failure.
2101 * AUBO_REQUEST_IGNORE
2102 * AUBO_BUSY
2103 * AUBO_BAD_STATE
2104 * -AUBO_INVL_ARGUMENT
2105 * -AUBO_BAD_STATE
2106 *
2107 * @throws arcs::common_interface::AuboException
2108 *
2109 * @par Python function prototype
2110 * setStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
2111 * arg1: arcs::common_interface::StandardOutputRunState) -> int
2112 *
2113 * @par Lua function prototype
2114 * setStandardAnalogOutputRunstate(index: number, runstate: number) -> nil
2115 *
2116 * @par Lua example
2117 * setStandardAnalogOutputRunstate(0,6)
2118 *
2119 * @par JSON-RPC request example
2120 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputRunstate","params":[0,"None"],"id":1}
2121 *
2122 * @par JSON-RPC response example
2123 * {"id":1,"jsonrpc":"2.0","result":0}
2124 *
2125 * \endenglish
2126 */
2128 StandardOutputRunState runstate);
2129
2130 /**
2131 * @ingroup IoControl
2132 * \chinese
2133 * 设置工具端模拟输出状态选择
2134 *
2135 * @param index: 表示IO口的管脚,管脚编号从0开始。
2136 * 例如,0表示第一个管脚。
2137 * @param runstate: 输出状态选择
2138 * @return 成功返回0;失败返回错误码
2139 * AUBO_REQUEST_IGNORE
2140 * AUBO_BUSY
2141 * AUBO_BAD_STATE
2142 * -AUBO_INVL_ARGUMENT
2143 * -AUBO_BAD_STATE
2144 *
2145 * @throws arcs::common_interface::AuboException
2146 *
2147 * @par Python函数原型
2148 * setToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2149 * arcs::common_interface::StandardOutputRunState) -> int
2150 *
2151 * @par Lua函数原型
2152 * setToolAnalogOutputRunstate(index: number, runstate: number) -> nil
2153 *
2154 * @par Lua示例
2155 * setToolAnalogOutputRunstate(0,1)
2156 *
2157 * @par JSON-RPC请求示例
2158 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutputRunstate","params":[0,"None"],"id":1}
2159 *
2160 * @par JSON-RPC响应示例
2161 * {"id":1,"jsonrpc":"2.0","result":0}
2162 *
2163 * \endchinese
2164 * \english
2165 * Set the runstate for tool analog output.
2166 *
2167 * @param index: Indicates the IO pin, starting from 0.
2168 * For example, 0 means the first pin.
2169 * @param runstate: Output runstate selection
2170 * @return Returns 0 on success; error code on failure.
2171 * AUBO_REQUEST_IGNORE
2172 * AUBO_BUSY
2173 * AUBO_BAD_STATE
2174 * -AUBO_INVL_ARGUMENT
2175 * -AUBO_BAD_STATE
2176 *
2177 * @throws arcs::common_interface::AuboException
2178 *
2179 * @par Python function prototype
2180 * setToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2181 * arcs::common_interface::StandardOutputRunState) -> int
2182 *
2183 * @par Lua function prototype
2184 * setToolAnalogOutputRunstate(index: number, runstate: number) -> nil
2185 *
2186 * @par Lua example
2187 * setToolAnalogOutputRunstate(0,1)
2188 *
2189 * @par JSON-RPC request example
2190 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutputRunstate","params":[0,"None"],"id":1}
2191 *
2192 * @par JSON-RPC response example
2193 * {"id":1,"jsonrpc":"2.0","result":0}
2194 *
2195 * \endenglish
2196 */
2198
2199 /**
2200 * @ingroup IoControl
2201 * \chinese
2202 * 获取标准模拟输出状态选择
2203 *
2204 * @param index: 表示IO口的管脚,管脚编号从0开始。
2205 * 例如,0表示第一个管脚。
2206 * @return 标准模拟输出状态选择
2207 *
2208 * @throws arcs::common_interface::AuboException
2209 *
2210 * @par Python函数原型
2211 * getStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
2212 * arcs::common_interface::StandardOutputRunState
2213 *
2214 * @par Lua函数原型
2215 * getStandardAnalogOutputRunstate(index: number) -> number
2216 *
2217 * @par Lua示例
2218 * num = getStandardAnalogOutputRunstate(0)
2219 *
2220 * @par JSON-RPC请求示例
2221 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputRunstate","params":[0],"id":1}
2222 *
2223 * @par JSON-RPC响应示例
2224 * {"id":1,"jsonrpc":"2.0","result":"None"}
2225 *
2226 * \endchinese
2227 * \english
2228 * Get the runstate for standard analog output.
2229 *
2230 * @param index: Indicates the IO pin, starting from 0.
2231 * For example, 0 means the first pin.
2232 * @return Standard analog output runstate selection
2233 *
2234 * @throws arcs::common_interface::AuboException
2235 *
2236 * @par Python function prototype
2237 * getStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
2238 * arcs::common_interface::StandardOutputRunState
2239 *
2240 * @par Lua function prototype
2241 * getStandardAnalogOutputRunstate(index: number) -> number
2242 *
2243 * @par Lua example
2244 * num = getStandardAnalogOutputRunstate(0)
2245 *
2246 * @par JSON-RPC request example
2247 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputRunstate","params":[0],"id":1}
2248 *
2249 * @par JSON-RPC response example
2250 * {"id":1,"jsonrpc":"2.0","result":"None"}
2251 *
2252 * \endenglish
2253 */
2255
2256 /**
2257 * @ingroup IoControl
2258 * \chinese
2259 * 获取工具端模拟输出状态选择
2260 *
2261 * @param index: 表示IO口的管脚,管脚编号从0开始。
2262 * 例如,0表示第一个管脚。
2263 * @return 工具端模拟输出状态选择
2264 *
2265 * @throws arcs::common_interface::AuboException
2266 *
2267 * @par Python函数原型
2268 * getToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
2269 * arcs::common_interface::StandardOutputRunState
2270 *
2271 * @par Lua函数原型
2272 * getToolAnalogOutputRunstate(index: number) -> number
2273 *
2274 * @par Lua示例
2275 * num = getToolAnalogOutputRunstate(0)
2276 *
2277 * @par JSON-RPC请求示例
2278 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputRunstate","params":[0],"id":1}
2279 *
2280 * @par JSON-RPC响应示例
2281 * {"id":1,"jsonrpc":"2.0","result":"None"}
2282 *
2283 * \endchinese
2284 * \english
2285 * Get the runstate for tool analog output.
2286 *
2287 * @param index: Indicates the IO pin, starting from 0.
2288 * For example, 0 means the first pin.
2289 * @return Tool analog output runstate selection
2290 *
2291 * @throws arcs::common_interface::AuboException
2292 *
2293 * @par Python function prototype
2294 * getToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
2295 * arcs::common_interface::StandardOutputRunState
2296 *
2297 * @par Lua function prototype
2298 * getToolAnalogOutputRunstate(index: number) -> number
2299 *
2300 * @par Lua example
2301 * num = getToolAnalogOutputRunstate(0)
2302 *
2303 * @par JSON-RPC request example
2304 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputRunstate","params":[0],"id":1}
2305 *
2306 * @par JSON-RPC response example
2307 * {"id":1,"jsonrpc":"2.0","result":"None"}
2308 *
2309 * \endenglish
2310 */
2312
2313 /**
2314 * @ingroup IoControl
2315 * \chinese
2316 * 设置所有数字输出急停后状态为默认(不做改变)
2317 *
2318 * @return 成功返回0;失败返回错误码
2319 * AUBO_BUSY
2320 * AUBO_BAD_STATE
2321 * -AUBO_BAD_STATE
2322 *
2323 * @throws arcs::common_interface::AuboException
2324 *
2325 * @par Python函数原型
2326 * setDigitalOutputAfterEStopDefault(self: pyaubo_sdk.IoControl) -> int
2327 *
2328 * @par Lua函数原型
2329 * setDigitalOutputAfterEStopDefault() -> nil
2330 *
2331 * @par Lua示例
2332 * setDigitalOutputAfterEStopDefault()
2333 *
2334 * @par JSON-RPC请求示例
2335 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputAfterEStopDefault","params":[],"id":1}
2336 *
2337 * @par JSON-RPC响应示例
2338 * {"id":1,"jsonrpc":"2.0","result":0}
2339 *
2340 * \endchinese
2341 * \english
2342 * Set all digital output states after emergency stop to default(no change)
2343 *
2344 * @return Returns 0 on success; error code on failure.
2345 * AUBO_BUSY
2346 * AUBO_BAD_STATE
2347 * -AUBO_BAD_STATE
2348 *
2349 * @throws arcs::common_interface::AuboException
2350 *
2351 * @par Python function prototype
2352 * setDigitalOutputAfterEStopDefault(self: pyaubo_sdk.IoControl) -> int
2353 *
2354 * @par Lua function prototype
2355 * setDigitalOutputAfterEStopDefault() -> nil
2356 *
2357 * @par Lua example
2358 * setDigitalOutputAfterEStopDefault()
2359 *
2360 * @par JSON-RPC request example
2361 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputAfterEStopDefault","params":[],"id":1}
2362 *
2363 * @par JSON-RPC response example
2364 * {"id":1,"jsonrpc":"2.0","result":0}
2365 *
2366 * \endenglish
2367 */
2369
2370 /**
2371 * @ingroup IoControl
2372 * \chinese
2373 * 设置所有模拟输出急停后状态为默认(不做改变)
2374 *
2375 * @return 成功返回0;失败返回错误码
2376 * AUBO_BUSY
2377 * AUBO_BAD_STATE
2378 * -AUBO_BAD_STATE
2379 *
2380 * @throws arcs::common_interface::AuboException
2381 *
2382 * @par Python函数原型
2383 * setAnalogOutputAfterEStopDefault(self: pyaubo_sdk.IoControl) -> int
2384 *
2385 * @par Lua函数原型
2386 * setAnalogOutputAfterEStopDefault() -> nil
2387 *
2388 * @par Lua示例
2389 * setAnalogOutputAfterEStopDefault()
2390 *
2391 * @par JSON-RPC请求示例
2392 * {"jsonrpc":"2.0","method":"rob1.IoControl.setAnalogOutputAfterEStopDefault","params":[],"id":1}
2393 *
2394 * @par JSON-RPC响应示例
2395 * {"id":1,"jsonrpc":"2.0","result":0}
2396 *
2397 * \endchinese
2398 * \english
2399 * Set all analog output states after emergency stop to default(no change)
2400 *
2401 * @return Returns 0 on success; error code on failure.
2402 * AUBO_BUSY
2403 * AUBO_BAD_STATE
2404 * -AUBO_BAD_STATE
2405 *
2406 * @throws arcs::common_interface::AuboException
2407 *
2408 * @par Python function prototype
2409 * setAnalogOutputAfterEStopDefault(self: pyaubo_sdk.IoControl) -> int
2410 *
2411 * @par Lua function prototype
2412 * setAnalogOutputAfterEStopDefault() -> nil
2413 *
2414 * @par Lua example
2415 * setAnalogOutputAfterEStopDefault()
2416 *
2417 * @par JSON-RPC request example
2418 * {"jsonrpc":"2.0","method":"rob1.IoControl.setAnalogOutputAfterEStopDefault","params":[],"id":1}
2419 *
2420 * @par JSON-RPC response example
2421 * {"id":1,"jsonrpc":"2.0","result":0}
2422 *
2423 * \endenglish
2424 */
2426
2427 /**
2428 * @ingroup IoControl
2429 * \chinese
2430 * 设置标准数字输出急停后的输出值
2431 *
2432 * @param index: 表示IO口的管脚,
2433 * @param value: 输出值
2434 * @return 成功返回0;失败返回错误码
2435 * AUBO_REQUEST_IGNORE
2436 * AUBO_BUSY
2437 * AUBO_BAD_STATE
2438 * -AUBO_INVL_ARGUMENT
2439 * -AUBO_BAD_STATE
2440 *
2441 * @throws arcs::common_interface::AuboException
2442 *
2443 * @par Python函数原型
2444 * setStandardDigitalOutputAfterEStop(self: pyaubo_sdk.IoControl, arg0: int,
2445 * arg1: bool) -> int
2446 *
2447 * @par Lua函数原型
2448 * setStandardDigitalOutputAfterEStop(index: number, value: boolean) -> nil
2449 *
2450 * @par Lua示例
2451 * setStandardDigitalOutputAfterEStop(0,true)
2452 *
2453 * @par JSON-RPC请求示例
2454 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputAfterEStop","params":[0,true],"id":1}
2455 *
2456 * @par JSON-RPC响应示例
2457 * {"id":1,"jsonrpc":"2.0","result":0}
2458 *
2459 * \endchinese
2460 * \english
2461 * Set the value of a standard digital output after emergency stop
2462 *
2463 * @param index: Indicates the IO pin.
2464 * @param value: Output value.
2465 * @return Returns 0 on success; error code on failure.
2466 * AUBO_REQUEST_IGNORE
2467 * AUBO_BUSY
2468 * AUBO_BAD_STATE
2469 * -AUBO_INVL_ARGUMENT
2470 * -AUBO_BAD_STATE
2471 *
2472 * @throws arcs::common_interface::AuboException
2473 *
2474 * @par Python function prototype
2475 * setStandardDigitalOutputAfterEStop(self: pyaubo_sdk.IoControl, arg0: int,
2476 * arg1: bool) -> int
2477 *
2478 * @par Lua function prototype
2479 * setStandardDigitalOutputAfterEStop(index: number, value: boolean) -> nil
2480 *
2481 * @par Lua example
2482 * setStandardDigitalOutputAfterEStop(0,true)
2483 *
2484 * @par JSON-RPC request example
2485 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputAfterEStop","params":[0,true],"id":1}
2486 *
2487 * @par JSON-RPC response example
2488 * {"id":1,"jsonrpc":"2.0","result":0}
2489 *
2490 * \endenglish
2491 */
2492 int setStandardDigitalOutputAfterEStop(int index, bool value);
2493
2494 /**
2495 * @ingroup IoControl
2496 * \chinese
2497 * 设置可配置数字输出急停后的输出值
2498 *
2499 * @param index: 表示IO口的管脚,
2500 * @param value: 输出值
2501 * @return 成功返回0;失败返回错误码
2502 * AUBO_REQUEST_IGNORE
2503 * AUBO_BUSY
2504 * AUBO_BAD_STATE
2505 * -AUBO_INVL_ARGUMENT
2506 * -AUBO_BAD_STATE
2507 *
2508 * @throws arcs::common_interface::AuboException
2509 *
2510 * @par Python函数原型
2511 * setConfigurableDigitalOutputAfterEStop(self: pyaubo_sdk.IoControl, arg0:
2512 * int, arg1: bool) -> int
2513 *
2514 * @par Lua函数原型
2515 * setConfigurableDigitalOutputAfterEStop(index: number, value: boolean) ->
2516 * nil
2517 *
2518 * @par Lua示例
2519 * setConfigurableDigitalOutputAfterEStop(0,true)
2520 *
2521 * @par JSON-RPC请求示例
2522 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputAfterEStop","params":[0,true],"id":1}
2523 *
2524 * @par JSON-RPC响应示例
2525 * {"id":1,"jsonrpc":"2.0","result":0}
2526 *
2527 * \endchinese
2528 * \english
2529 * Set the value of a configurable digital output after emergency stop
2530 *
2531 * @param index: Indicates the IO pin.
2532 * @param value: Output value.
2533 * @return Returns 0 on success; error code on failure.
2534 * AUBO_REQUEST_IGNORE
2535 * AUBO_BUSY
2536 * AUBO_BAD_STATE
2537 * -AUBO_INVL_ARGUMENT
2538 * -AUBO_BAD_STATE
2539 *
2540 * @throws arcs::common_interface::AuboException
2541 *
2542 * @par Python function prototype
2543 * setConfigurableDigitalOutputAfterEStop(self: pyaubo_sdk.IoControl, arg0:
2544 * int, arg1: bool) -> int
2545 *
2546 * @par Lua function prototype
2547 * setConfigurableDigitalOutputAfterEStop(index: number, value: boolean) ->
2548 * nil
2549 *
2550 * @par Lua example
2551 * setConfigurableDigitalOutputAfterEStop(0,true)
2552 *
2553 * @par JSON-RPC request example
2554 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputAfterEStop","params":[0,true],"id":1}
2555 *
2556 * @par JSON-RPC response example
2557 * {"id":1,"jsonrpc":"2.0","result":0}
2558 *
2559 * \endenglish
2560 */
2561 int setConfigurableDigitalOutputAfterEStop(int index, bool value);
2562
2563 /**
2564 * @ingroup IoControl
2565 * \chinese
2566 * 设置标准模拟输出急停后的输出值
2567 *
2568 * @param index: 表示IO口的管脚,管脚编号从0开始。
2569 * 例如,0表示第一个管脚。
2570 * @param value: 模拟输出值
2571 *
2572 * @return 成功返回0;失败返回错误码
2573 * AUBO_REQUEST_IGNORE
2574 * AUBO_BUSY
2575 * AUBO_BAD_STATE
2576 * -AUBO_INVL_ARGUMENT
2577 * -AUBO_BAD_STATE
2578 *
2579 * @throws arcs::common_interface::AuboException
2580 *
2581 * @par Python函数原型
2582 * setStandardAnalogOutputAfterEStop(self: pyaubo_sdk.IoControl, arg0: int,
2583 * arg1: float) -> int
2584 *
2585 * @par Lua函数原型
2586 * setStandardAnalogOutputAfterEStop(index: number, value: number) -> nil
2587 *
2588 * @par Lua示例
2589 * setStandardAnalogOutputAfterEStop(0,5.4)
2590 *
2591 * \endchinese
2592 * \english
2593 * Set the value of standard analog output after emergency stop
2594 *
2595 * @param index: Indicates the IO pin, starting from 0.
2596 * For example, 0 means the first pin.
2597 * @param value: Output value.
2598 *
2599 * @return Returns 0 on success; error code on failure.
2600 * AUBO_REQUEST_IGNORE
2601 * AUBO_BUSY
2602 * AUBO_BAD_STATE
2603 * -AUBO_INVL_ARGUMENT
2604 * -AUBO_BAD_STATE
2605 *
2606 * @throws arcs::common_interface::AuboException
2607 *
2608 * @par Python function prototype
2609 * setStandardAnalogOutputAfterEStop(self: pyaubo_sdk.IoControl, arg0: int,
2610 * arg1: float) -> int
2611 *
2612 * @par Lua function prototype
2613 * setStandardAnalogOutputAfterEStop(index: number, value: number) -> nil
2614 *
2615 * @par Lua example
2616 * setStandardAnalogOutputAfterEStop(0,5.4)
2617 *
2618 * \endenglish
2619 */
2620 int setStandardAnalogOutputAfterEStop(int index, double value);
2621
2622 /**
2623 * @ingroup IoControl
2624 * \chinese
2625 * 设置标准模拟输入的范围
2626 *
2627 * @param index: 表示IO口的管脚,管脚编号从0开始。
2628 * 例如,0表示第一个管脚。
2629 * @param domain: 输入的范围
2630 *
2631 * @return 成功返回0;失败返回错误码
2632 * AUBO_REQUEST_IGNORE
2633 * AUBO_BUSY
2634 * AUBO_BAD_STATE
2635 * -AUBO_INVL_ARGUMENT
2636 * -AUBO_BAD_STATE
2637 *
2638 * @throws arcs::common_interface::AuboException
2639 *
2640 * @par Python函数原型
2641 * setStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2642 * int) -> int
2643 *
2644 * @par Lua函数原型
2645 * setStandardAnalogInputDomain(index: number, domain: number) -> nil
2646 *
2647 * @par Lua示例
2648 * setStandardAnalogInputDomain(0,1)
2649 *
2650 * @par JSON-RPC请求示例
2651 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogInputDomain","params":[0,8],"id":1}
2652 *
2653 * @par JSON-RPC响应示例
2654 * {"id":1,"jsonrpc":"2.0","result":0}
2655 *
2656 * \endchinese
2657 * \english
2658 * Set the range of standard analog input.
2659 *
2660 * @param index: Indicates the IO pin, starting from 0.
2661 * For example, 0 means the first pin.
2662 * @param domain: Input range
2663 *
2664 * @return Returns 0 on success; error code on failure.
2665 * AUBO_REQUEST_IGNORE
2666 * AUBO_BUSY
2667 * AUBO_BAD_STATE
2668 * -AUBO_INVL_ARGUMENT
2669 * -AUBO_BAD_STATE
2670 *
2671 * @throws arcs::common_interface::AuboException
2672 *
2673 * @par Python function prototype
2674 * setStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2675 * int) -> int
2676 *
2677 * @par Lua function prototype
2678 * setStandardAnalogInputDomain(index: number, domain: number) -> nil
2679 *
2680 * @par Lua example
2681 * setStandardAnalogInputDomain(0,1)
2682 *
2683 * @par JSON-RPC request example
2684 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogInputDomain","params":[0,8],"id":1}
2685 *
2686 * @par JSON-RPC response example
2687 * {"id":1,"jsonrpc":"2.0","result":0}
2688 *
2689 * \endenglish
2690 */
2691 int setStandardAnalogInputDomain(int index, int domain);
2692
2693 /**
2694 * @ingroup IoControl
2695 * \chinese
2696 * 设置工具端模拟输入的范围
2697 *
2698 * @param index: 表示IO口的管脚,管脚编号从0开始。
2699 * 例如,0表示第一个管脚。
2700 * @param domain: 输入的范围
2701 * @return 成功返回0;失败返回错误码
2702 * AUBO_REQUEST_IGNORE
2703 * AUBO_BUSY
2704 * AUBO_BAD_STATE
2705 * -AUBO_INVL_ARGUMENT
2706 * -AUBO_BAD_STATE
2707 *
2708 * @throws arcs::common_interface::AuboException
2709 *
2710 * @par Python函数原型
2711 * setToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2712 * int) -> int
2713 *
2714 * @par Lua函数原型
2715 * setToolAnalogInputDomain(index: number, domain: number) -> nil
2716 *
2717 * @par Lua示例
2718 * setToolAnalogInputDomain(0,1)
2719 *
2720 * @par JSON-RPC请求示例
2721 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogInputDomain","params":[0,8],"id":1}
2722 *
2723 * @par JSON-RPC响应示例
2724 * {"id":1,"jsonrpc":"2.0","result":0}
2725 *
2726 * \endchinese
2727 * \english
2728 * Set the range of tool analog input.
2729 *
2730 * @param index: Indicates the IO pin, starting from 0.
2731 * For example, 0 means the first pin.
2732 * @param domain: Input range
2733 * @return Returns 0 on success; error code on failure.
2734 * AUBO_REQUEST_IGNORE
2735 * AUBO_BUSY
2736 * AUBO_BAD_STATE
2737 * -AUBO_INVL_ARGUMENT
2738 * -AUBO_BAD_STATE
2739 *
2740 * @throws arcs::common_interface::AuboException
2741 *
2742 * @par Python function prototype
2743 * setToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2744 * int) -> int
2745 *
2746 * @par Lua function prototype
2747 * setToolAnalogInputDomain(index: number, domain: number) -> nil
2748 *
2749 * @par Lua example
2750 * setToolAnalogInputDomain(0,1)
2751 *
2752 * @par JSON-RPC request example
2753 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogInputDomain","params":[0,8],"id":1}
2754 *
2755 * @par JSON-RPC response example
2756 * {"id":1,"jsonrpc":"2.0","result":0}
2757 *
2758 * \endenglish
2759 */
2760 int setToolAnalogInputDomain(int index, int domain);
2761
2762 /**
2763 * @ingroup IoControl
2764 * \chinese
2765 * 获取标准模式输入范围
2766 *
2767 * @param index: 表示IO口的管脚,管脚编号从0开始。
2768 * 例如,0表示第一个管脚。
2769 * @return 标准模式输入范围
2770 *
2771 * @throws arcs::common_interface::AuboException
2772 *
2773 * @par Python函数原型
2774 * getStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
2775 * int
2776 *
2777 * @par Lua函数原型
2778 * getStandardAnalogInputDomain(index: number) -> number
2779 *
2780 * @par Lua示例
2781 * num = getStandardAnalogInputDomain(0)
2782 *
2783 * @par JSON-RPC请求示例
2784 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputDomain","params":[0],"id":1}
2785 *
2786 * @par JSON-RPC响应示例
2787 * {"id":1,"jsonrpc":"2.0","result":0}
2788 *
2789 * \endchinese
2790 * \english
2791 * Get the domain of standard analog input.
2792 *
2793 * @param index: Indicates the IO pin, starting from 0.
2794 * For example, 0 means the first pin.
2795 * @return Standard analog input domain
2796 *
2797 * @throws arcs::common_interface::AuboException
2798 *
2799 * @par Python function prototype
2800 * getStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
2801 * int
2802 *
2803 * @par Lua function prototype
2804 * getStandardAnalogInputDomain(index: number) -> number
2805 *
2806 * @par Lua example
2807 * num = getStandardAnalogInputDomain(0)
2808 *
2809 * @par JSON-RPC request example
2810 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputDomain","params":[0],"id":1}
2811 *
2812 * @par JSON-RPC response example
2813 * {"id":1,"jsonrpc":"2.0","result":0}
2814 *
2815 * \endenglish
2816 */
2818
2819 /**
2820 * @ingroup IoControl
2821 * \chinese
2822 * 获取工具端模式输入范围
2823 *
2824 * @param index: 表示IO口的管脚,管脚编号从0开始。
2825 * 例如,0表示第一个管脚。
2826 * @return 工具端模式输入范围
2827 *
2828 * @throws arcs::common_interface::AuboException
2829 *
2830 * @par Python函数原型
2831 * getToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2832 *
2833 * @par Lua函数原型
2834 * getToolAnalogInputDomain(index: number) -> number
2835 *
2836 * @par Lua示例
2837 * num = getToolAnalogInputDomain(0)
2838 *
2839 * @par JSON-RPC请求示例
2840 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputDomain","params":[0],"id":1}
2841 *
2842 * @par JSON-RPC响应示例
2843 * {"id":1,"jsonrpc":"2.0","result":10}
2844 *
2845 * \endchinese
2846 * \english
2847 * Get the domain of tool analog input.
2848 *
2849 * @param index: Indicates the IO pin, starting from 0.
2850 * For example, 0 means the first pin.
2851 * @return Tool analog input domain
2852 *
2853 * @throws arcs::common_interface::AuboException
2854 *
2855 * @par Python function prototype
2856 * getToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2857 *
2858 * @par Lua function prototype
2859 * getToolAnalogInputDomain(index: number) -> number
2860 *
2861 * @par Lua example
2862 * num = getToolAnalogInputDomain(0)
2863 *
2864 * @par JSON-RPC request example
2865 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputDomain","params":[0],"id":1}
2866 *
2867 * @par JSON-RPC response example
2868 * {"id":1,"jsonrpc":"2.0","result":10}
2869 *
2870 * \endenglish
2871 */
2873
2874 /**
2875 * @ingroup IoControl
2876 * \chinese
2877 * 设置标准模拟输出的范围
2878 *
2879 * @param index: 表示IO口的管脚,管脚编号从0开始。
2880 * 例如,0表示第一个管脚。
2881 * @param domain: 输出的范围
2882 *
2883 * @return 成功返回0;失败返回错误码
2884 * AUBO_REQUEST_IGNORE
2885 * AUBO_BUSY
2886 * AUBO_BAD_STATE
2887 * -AUBO_INVL_ARGUMENT
2888 * -AUBO_BAD_STATE
2889 *
2890 * @throws arcs::common_interface::AuboException
2891 *
2892 * @par Python函数原型
2893 * setStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int,
2894 * arg1: int) -> int
2895 *
2896 * @par Lua函数原型
2897 * setStandardAnalogOutputDomain(index: number, domain: number) -> nil
2898 *
2899 * @par Lua示例
2900 * setStandardAnalogOutputDomain(0,1)
2901 *
2902 * @par JSON-RPC请求示例
2903 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputDomain","params":[0,8],"id":1}
2904 *
2905 * @par JSON-RPC响应示例
2906 * {"id":1,"jsonrpc":"2.0","result":0}
2907 *
2908 * \endchinese
2909 * \english
2910 * Set the range of standard analog output.
2911 *
2912 * @param index: Indicates the IO pin, starting from 0.
2913 * For example, 0 means the first pin.
2914 * @param domain: Output range
2915 *
2916 * @return Returns 0 on success; error code on failure.
2917 * AUBO_REQUEST_IGNORE
2918 * AUBO_BUSY
2919 * AUBO_BAD_STATE
2920 * -AUBO_INVL_ARGUMENT
2921 * -AUBO_BAD_STATE
2922 *
2923 * @throws arcs::common_interface::AuboException
2924 *
2925 * @par Python function prototype
2926 * setStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int,
2927 * arg1: int) -> int
2928 *
2929 * @par Lua function prototype
2930 * setStandardAnalogOutputDomain(index: number, domain: number) -> nil
2931 *
2932 * @par Lua example
2933 * setStandardAnalogOutputDomain(0,1)
2934 *
2935 * @par JSON-RPC request example
2936 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputDomain","params":[0,8],"id":1}
2937 *
2938 * @par JSON-RPC response example
2939 * {"id":1,"jsonrpc":"2.0","result":0}
2940 *
2941 * \endenglish
2942 */
2943 int setStandardAnalogOutputDomain(int index, int domain);
2944
2945 /**
2946 * @ingroup IoControl
2947 * \chinese
2948 * 设置工具端模拟输出范围
2949 *
2950 * @param index: 表示IO口的管脚,管脚编号从0开始。
2951 * 例如,0表示第一个管脚。
2952 * @param domain: 输出的范围
2953 *
2954 * @return 成功返回0;失败返回错误码
2955 * AUBO_REQUEST_IGNORE
2956 * AUBO_BUSY
2957 * AUBO_BAD_STATE
2958 * -AUBO_INVL_ARGUMENT
2959 * -AUBO_BAD_STATE
2960 *
2961 * @throws arcs::common_interface::AuboException
2962 *
2963 * @par Python函数原型
2964 * setToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2965 * int) -> int
2966 *
2967 * @par Lua函数原型
2968 * setToolAnalogOutputDomain(index: number, domain: number) -> nil
2969 *
2970 * @par Lua示例
2971 * setToolAnalogOutputDomain(0,1)
2972 *
2973 * \endchinese
2974 * \english
2975 * Set the range of tool analog output.
2976 *
2977 * @param index: Indicates the IO pin, starting from 0.
2978 * For example, 0 means the first pin.
2979 * @param domain: Output range
2980 *
2981 * @return Returns 0 on success; error code on failure.
2982 * AUBO_REQUEST_IGNORE
2983 * AUBO_BUSY
2984 * AUBO_BAD_STATE
2985 * -AUBO_INVL_ARGUMENT
2986 * -AUBO_BAD_STATE
2987 *
2988 * @throws arcs::common_interface::AuboException
2989 *
2990 * @par Python function prototype
2991 * setToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2992 * int) -> int
2993 *
2994 * @par Lua function prototype
2995 * setToolAnalogOutputDomain(index: number, domain: number) -> nil
2996 *
2997 * @par Lua example
2998 * setToolAnalogOutputDomain(0,1)
2999 *
3000 * \endenglish
3001 */
3002 int setToolAnalogOutputDomain(int index, int domain);
3003
3004 /**
3005 * @ingroup IoControl
3006 * \chinese
3007 * 获取标准模拟输出范围
3008 *
3009 * @param index: 表示IO口的管脚,管脚编号从0开始。
3010 * 例如,0表示第一个管脚。
3011 * @return 标准模拟输出范围
3012 *
3013 * @throws arcs::common_interface::AuboException
3014 *
3015 * @par Python函数原型
3016 * getStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
3017 * int
3018 *
3019 * @par Lua函数原型
3020 * getStandardAnalogOutputDomain(index: number) -> number
3021 *
3022 * @par Lua示例
3023 * num = getStandardAnalogOutputDomain(0)
3024 *
3025 * @par JSON-RPC请求示例
3026 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputDomain","params":[0],"id":1}
3027 *
3028 * @par JSON-RPC响应示例
3029 * {"id":1,"jsonrpc":"2.0","result":0}
3030 *
3031 * \endchinese
3032 * \english
3033 * Get the domain of standard analog output.
3034 *
3035 * @param index: Indicates the IO pin, starting from 0.
3036 * For example, 0 means the first pin.
3037 * @return Standard analog output domain
3038 *
3039 * @throws arcs::common_interface::AuboException
3040 *
3041 * @par Python function prototype
3042 * getStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
3043 * int
3044 *
3045 * @par Lua function prototype
3046 * getStandardAnalogOutputDomain(index: number) -> number
3047 *
3048 * @par Lua example
3049 * num = getStandardAnalogOutputDomain(0)
3050 *
3051 * @par JSON-RPC request example
3052 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputDomain","params":[0],"id":1}
3053 *
3054 * @par JSON-RPC response example
3055 * {"id":1,"jsonrpc":"2.0","result":0}
3056 *
3057 * \endenglish
3058 */
3060
3061 /**
3062 * @ingroup IoControl
3063 * \chinese
3064 * 获取工具端模拟输出范围
3065 *
3066 * @param index: 表示IO口的管脚,管脚编号从0开始。
3067 * 例如,0表示第一个管脚。
3068 * @return 工具端模拟输出范围
3069 *
3070 * @throws arcs::common_interface::AuboException
3071 *
3072 * @par Python函数原型
3073 * getToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
3074 *
3075 * @par Lua函数原型
3076 * getToolAnalogOutputDomain(index: number) -> number
3077 *
3078 * @par Lua示例
3079 * num = getToolAnalogOutputDomain(0)
3080 *
3081 * @par JSON-RPC请求示例
3082 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputDomain","params":[0],"id":1}
3083 *
3084 * @par JSON-RPC响应示例
3085 * {"id":1,"jsonrpc":"2.0","result":0}
3086 *
3087 * \endchinese
3088 * \english
3089 * Get the domain of tool analog output.
3090 *
3091 * @param index: Indicates the IO pin, starting from 0.
3092 * For example, 0 means the first pin.
3093 * @return Tool analog output domain
3094 *
3095 * @throws arcs::common_interface::AuboException
3096 *
3097 * @par Python function prototype
3098 * getToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
3099 *
3100 * @par Lua function prototype
3101 * getToolAnalogOutputDomain(index: number) -> number
3102 *
3103 * @par Lua example
3104 * num = getToolAnalogOutputDomain(0)
3105 *
3106 * @par JSON-RPC request example
3107 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputDomain","params":[0],"id":1}
3108 *
3109 * @par JSON-RPC response example
3110 * {"id":1,"jsonrpc":"2.0","result":0}
3111 *
3112 * \endenglish
3113 */
3115
3116 /**
3117 * @ingroup IoControl
3118 * \chinese
3119 * 设置工具端电源电压值(单位V)
3120 *
3121 * @param domain: 工具端电源电压值,可选三个档位,分别为0、12和24。\n
3122 * 0表示0V, 12表示12V, 24表示24V。
3123 *
3124 * @return 成功返回0; 失败返回错误码
3125 * AUBO_REQUEST_IGNORE
3126 * AUBO_BUSY
3127 * AUBO_BAD_STATE
3128 * -AUBO_INVL_ARGUMENT
3129 * -AUBO_BAD_STATE
3130 *
3131 * @throws arcs::common_interface::AuboException
3132 *
3133 * @par Python函数原型
3134 * setToolVoltageOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
3135 *
3136 * @par Lua函数原型
3137 * setToolVoltageOutputDomain(domain: number) -> nil
3138 *
3139 * @par Lua示例
3140 * setToolVoltageOutputDomain(24)
3141 *
3142 * @par JSON-RPC请求示例
3143 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolVoltageOutputDomain","params":[24],"id":1}
3144 *
3145 * @par JSON-RPC响应示例
3146 * {"id":1,"jsonrpc":"2.0","result":0}
3147 *
3148 * \endchinese
3149 * \english
3150 * Set the tool voltage output value (unit: V)
3151 *
3152 * @param domain: Tool voltage output value, can be 0, 12, or 24.\n
3153 * 0 means 0V, 12 means 12V, 24 means 24V.
3154 *
3155 * @return Returns 0 on success; error code on failure.
3156 * AUBO_REQUEST_IGNORE
3157 * AUBO_BUSY
3158 * AUBO_BAD_STATE
3159 * -AUBO_INVL_ARGUMENT
3160 * -AUBO_BAD_STATE
3161 *
3162 * @throws arcs::common_interface::AuboException
3163 *
3164 * @par Python function prototype
3165 * setToolVoltageOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
3166 *
3167 * @par Lua function prototype
3168 * setToolVoltageOutputDomain(domain: number) -> nil
3169 *
3170 * @par Lua example
3171 * setToolVoltageOutputDomain(24)
3172 *
3173 * @par JSON-RPC request example
3174 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolVoltageOutputDomain","params":[24],"id":1}
3175 *
3176 * @par JSON-RPC response example
3177 * {"id":1,"jsonrpc":"2.0","result":0}
3178 *
3179 * \endenglish
3180 */
3182
3183 /**
3184 * @ingroup IoControl
3185 * \chinese
3186 * 获取工具端电源电压值(单位V)
3187 *
3188 * @return 工具端电源电压值(单位V)
3189 *
3190 * @throws arcs::common_interface::AuboException
3191 *
3192 * @par Python函数原型
3193 * getToolVoltageOutputDomain(self: pyaubo_sdk.IoControl) -> int
3194 *
3195 * @par Lua函数原型
3196 * getToolVoltageOutputDomain() -> number
3197 *
3198 * @par Lua示例
3199 * num = getToolVoltageOutputDomain()
3200 *
3201 * @par JSON-RPC请求示例
3202 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolVoltageOutputDomain","params":[],"id":1}
3203 *
3204 * @par JSON-RPC响应示例
3205 * {"id":1,"jsonrpc":"2.0","result":0}
3206 *
3207 * \endchinese
3208 * \english
3209 * Get the tool voltage output value (unit: V)
3210 *
3211 * @return Tool voltage output value (unit: V)
3212 *
3213 * @throws arcs::common_interface::AuboException
3214 *
3215 * @par Python function prototype
3216 * getToolVoltageOutputDomain(self: pyaubo_sdk.IoControl) -> int
3217 *
3218 * @par Lua function prototype
3219 * getToolVoltageOutputDomain() -> number
3220 *
3221 * @par Lua example
3222 * num = getToolVoltageOutputDomain()
3223 *
3224 * @par JSON-RPC request example
3225 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolVoltageOutputDomain","params":[],"id":1}
3226 *
3227 * @par JSON-RPC response example
3228 * {"id":1,"jsonrpc":"2.0","result":0}
3229 *
3230 * \endenglish
3231 */
3233
3234 /**
3235 * @ingroup IoControl
3236 * \chinese
3237 * 设置标准数字输出值
3238 *
3239 * @param index: 表示IO口的管脚,
3240 * @param value: 输出值
3241 * @return 成功返回0;失败返回错误码
3242 * AUBO_REQUEST_IGNORE
3243 * AUBO_BUSY
3244 * AUBO_BAD_STATE
3245 * -AUBO_INVL_ARGUMENT
3246 * -AUBO_BAD_STATE
3247 *
3248 * @throws arcs::common_interface::AuboException
3249 *
3250 * @par Python函数原型
3251 * setStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3252 * bool) -> int
3253 *
3254 * @par Lua函数原型
3255 * setStandardDigitalOutput(index: number, value: boolean) -> nil
3256 *
3257 * @par Lua示例
3258 * setStandardDigitalOutput(0,true)
3259 *
3260 * @par JSON-RPC请求示例
3261 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutput","params":[0,true],"id":1}
3262 *
3263 * @par JSON-RPC响应示例
3264 * {"id":1,"jsonrpc":"2.0","result":0}
3265 *
3266 * \endchinese
3267 * \english
3268 * Set the value of a standard digital output.
3269 *
3270 * @param index: Indicates the IO pin.
3271 * @param value: Output value.
3272 * @return Returns 0 on success; error code on failure.
3273 * AUBO_REQUEST_IGNORE
3274 * AUBO_BUSY
3275 * AUBO_BAD_STATE
3276 * -AUBO_INVL_ARGUMENT
3277 * -AUBO_BAD_STATE
3278 *
3279 * @throws arcs::common_interface::AuboException
3280 *
3281 * @par Python function prototype
3282 * setStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3283 * bool) -> int
3284 *
3285 * @par Lua function prototype
3286 * setStandardDigitalOutput(index: number, value: boolean) -> nil
3287 *
3288 * @par Lua example
3289 * setStandardDigitalOutput(0,true)
3290 *
3291 * @par JSON-RPC request example
3292 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutput","params":[0,true],"id":1}
3293 *
3294 * @par JSON-RPC response example
3295 * {"id":1,"jsonrpc":"2.0","result":0}
3296 *
3297 * \endenglish
3298 */
3299 int setStandardDigitalOutput(int index, bool value);
3300
3301 /**
3302 * @ingroup IoControl
3303 * \chinese
3304 * 注册组数字输出
3305 *
3306 * 注册一个按名称访问的数字输出组。
3307 * `indexes[0]` 对应 bit0,`indexes[1]` 对应 bit1,以此类推。
3308 *
3309 * @param name: 组名称。
3310 * @param io_type: IO类型,0表示Standard,1表示Tool,2表示Configurable。
3311 * @param indexes: 组成员对应的数字输出索引列表。
3312 *
3313 * @return 成功返回0;失败返回错误码
3314 *
3315 * @throws arcs::common_interface::AuboException
3316 *
3317 * @par Python函数原型
3318 * addGroupOutput(self: pyaubo_sdk.IoControl, arg0: str, arg1: int, arg2:
3319 * List[int]) -> int
3320 *
3321 * @par Lua函数原型
3322 * addGroupOutput(name: string, io_type: number, indexes: table) -> nil
3323 *
3324 * @par Lua示例
3325 * addGroupOutput("go_state", 0, {4,5,6,7})
3326 *
3327 * @par JSON-RPC请求示例
3328 * {"jsonrpc":"2.0","method":"rob1.IoControl.addGroupOutput","params":["go_state",0,[4,5,6,7]],"id":1}
3329 *
3330 * @par JSON-RPC响应示例
3331 * {"id":1,"jsonrpc":"2.0","result":0}
3332 *
3333 * \endchinese
3334 * \english
3335 * Register a grouped digital output.
3336 *
3337 * Registers a named digital output group. `indexes[0]` maps to bit0,
3338 * `indexes[1]` maps to bit1, and so on.
3339 *
3340 * @param name: Group name.
3341 * @param io_type: IO type. 0 means Standard, 1 means Tool, and 2 means
3342 * Configurable.
3343 * @param indexes: Index list of digital outputs in the group.
3344 *
3345 * @return Returns 0 on success; error code on failure.
3346 *
3347 * @throws arcs::common_interface::AuboException
3348 *
3349 * @par Python function prototype
3350 * addGroupOutput(self: pyaubo_sdk.IoControl, arg0: str, arg1: int, arg2:
3351 * List[int]) -> int
3352 *
3353 * @par Lua function prototype
3354 * addGroupOutput(name: string, io_type: number, indexes: table) -> nil
3355 *
3356 * @par Lua example
3357 * addGroupOutput("go_state", 0, {4,5,6,7})
3358 *
3359 * @par JSON-RPC request example
3360 * {"jsonrpc":"2.0","method":"rob1.IoControl.addGroupOutput","params":["go_state",0,[4,5,6,7]],"id":1}
3361 *
3362 * @par JSON-RPC response example
3363 * {"id":1,"jsonrpc":"2.0","result":0}
3364 *
3365 * \endenglish
3366 */
3367 int addGroupOutput(const std::string &name, int io_type,
3368 const std::vector<int> &indexes);
3369
3370 /**
3371 * @ingroup IoControl
3372 * \chinese
3373 * 删除组数字输出
3374 *
3375 * @param name: 组名称。
3376 *
3377 * @return 成功返回0;失败返回错误码
3378 *
3379 * @throws arcs::common_interface::AuboException
3380 *
3381 * @par Python函数原型
3382 * deleteGroupOutput(self: pyaubo_sdk.IoControl, arg0: str) -> int
3383 *
3384 * @par Lua函数原型
3385 * deleteGroupOutput(name: string) -> nil
3386 *
3387 * @par JSON-RPC请求示例
3388 * {"jsonrpc":"2.0","method":"rob1.IoControl.deleteGroupOutput","params":["go_state"],"id":1}
3389 *
3390 * @par JSON-RPC响应示例
3391 * {"id":1,"jsonrpc":"2.0","result":0}
3392 *
3393 * \endchinese
3394 * \english
3395 * Delete a grouped digital output.
3396 *
3397 * @param name: Group name.
3398 *
3399 * @return Returns 0 on success; error code on failure.
3400 *
3401 * @throws arcs::common_interface::AuboException
3402 *
3403 * @par Python function prototype
3404 * deleteGroupOutput(self: pyaubo_sdk.IoControl, arg0: str) -> int
3405 *
3406 * @par Lua function prototype
3407 * deleteGroupOutput(name: string) -> nil
3408 *
3409 * @par JSON-RPC request example
3410 * {"jsonrpc":"2.0","method":"rob1.IoControl.deleteGroupOutput","params":["go_state"],"id":1}
3411 *
3412 * @par JSON-RPC response example
3413 * {"id":1,"jsonrpc":"2.0","result":0}
3414 *
3415 * \endenglish
3416 */
3417 int deleteGroupOutput(const std::string &name);
3418
3419 /**
3420 * @ingroup IoControl
3421 * \chinese
3422 * 设置组数字输出值
3423 *
3424 * 按名称查找组数字输出后,将 `value` 按位拆分写入对应组成员。
3425 *
3426 * @param name: 组名称。
3427 * @param value: 需要写入组数字输出的整数值。
3428 *
3429 * @return 成功返回0;失败返回错误码
3430 * AUBO_REQUEST_IGNORE
3431 * AUBO_BUSY
3432 * AUBO_BAD_STATE
3433 * -AUBO_INVL_ARGUMENT
3434 * -AUBO_BAD_STATE
3435 *
3436 * @throws arcs::common_interface::AuboException
3437 *
3438 * @par Python函数原型
3439 * setGroupOutput(self: pyaubo_sdk.IoControl, arg0: str, arg1: int) -> int
3440 *
3441 * @par Lua函数原型
3442 * setGroupOutput(name: string, value: number) -> nil
3443 *
3444 * @par Lua示例
3445 * setGroupOutput("go_state", 13)
3446 *
3447 * @par JSON-RPC请求示例
3448 * {"jsonrpc":"2.0","method":"rob1.IoControl.setGroupOutput","params":["go_state",13],"id":1}
3449 *
3450 * @par JSON-RPC响应示例
3451 * {"id":1,"jsonrpc":"2.0","result":0}
3452 *
3453 * \endchinese
3454 * \english
3455 * Set the grouped digital output value.
3456 *
3457 * Looks up the named grouped digital output and writes `value` to the
3458 * group's members bit by bit.
3459 *
3460 * @param name: Group name.
3461 * @param value: Integer value to write to the grouped digital output.
3462 *
3463 * @return Returns 0 on success; error code on failure.
3464 * AUBO_REQUEST_IGNORE
3465 * AUBO_BUSY
3466 * AUBO_BAD_STATE
3467 * -AUBO_INVL_ARGUMENT
3468 * -AUBO_BAD_STATE
3469 *
3470 * @throws arcs::common_interface::AuboException
3471 *
3472 * @par Python function prototype
3473 * setGroupOutput(self: pyaubo_sdk.IoControl, arg0: str, arg1: int) -> int
3474 *
3475 * @par Lua function prototype
3476 * setGroupOutput(name: string, value: number) -> nil
3477 *
3478 * @par Lua example
3479 * setGroupOutput("go_state", 13)
3480 *
3481 * @par JSON-RPC request example
3482 * {"jsonrpc":"2.0","method":"rob1.IoControl.setGroupOutput","params":["go_state",13],"id":1}
3483 *
3484 * @par JSON-RPC response example
3485 * {"id":1,"jsonrpc":"2.0","result":0}
3486 *
3487 * \endenglish
3488 */
3489 int setGroupOutput(const std::string &name, uint32_t value);
3490
3491 /**
3492 * @ingroup IoControl
3493 * \chinese
3494 * 设置数字输出脉冲
3495 *
3496 * @param index
3497 * @param value
3498 * @param duration
3499 *
3500 * @return 成功返回0;失败返回错误码
3501 * AUBO_REQUEST_IGNORE
3502 * AUBO_BUSY
3503 * AUBO_BAD_STATE
3504 * -AUBO_INVL_ARGUMENT
3505 * -AUBO_BAD_STATE
3506 *
3507 * @throws arcs::common_interface::AuboException
3508 *
3509 * @par Python函数原型
3510 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3511 * arg1: bool, arg2: float) -> int
3512 *
3513 * @par Lua函数原型
3514 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
3515 * number) -> nil
3516 *
3517 * @par Lua示例
3518 * setStandardDigitalOutputPulse(0,true,2.5)
3519 *
3520 * @par JSON-RPC请求示例
3521 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
3522 *
3523 * @par JSON-RPC响应示例
3524 * {"id":1,"jsonrpc":"2.0","result":0}
3525 *
3526 * \endchinese
3527 * \english
3528 * Set digital output pulse.
3529 *
3530 * @param index
3531 * @param value
3532 * @param duration
3533 *
3534 * @return Returns 0 on success; error code on failure.
3535 * AUBO_REQUEST_IGNORE
3536 * AUBO_BUSY
3537 * AUBO_BAD_STATE
3538 * -AUBO_INVL_ARGUMENT
3539 * -AUBO_BAD_STATE
3540 *
3541 * @throws arcs::common_interface::AuboException
3542 *
3543 * @par Python function prototype
3544 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3545 * arg1: bool, arg2: float) -> int
3546 *
3547 * @par Lua function prototype
3548 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
3549 * number) -> nil
3550 *
3551 * @par Lua example
3552 * setStandardDigitalOutputPulse(0,true,2.5)
3553 *
3554 * @par JSON-RPC request example
3555 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
3556 *
3557 * @par JSON-RPC response example
3558 * {"id":1,"jsonrpc":"2.0","result":0}
3559 *
3560 * \endenglish
3561 */
3562 int setStandardDigitalOutputPulse(int index, bool value, double duration);
3563
3564 /**
3565 * @ingroup IoControl
3566 * \chinese
3567 * 设置工具端数字输出值
3568 *
3569 * @param index: 表示IO口的管脚,管脚编号从0开始。
3570 * 例如,0表示第一个管脚。
3571 * @param value: 数字输出值
3572 *
3573 * @return 成功返回0;失败返回错误码
3574 * AUBO_REQUEST_IGNORE
3575 * AUBO_BUSY
3576 * AUBO_BAD_STATE
3577 * -AUBO_INVL_ARGUMENT
3578 * -AUBO_BAD_STATE
3579 *
3580 * @throws arcs::common_interface::AuboException
3581 *
3582 * @par Python函数原型
3583 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
3584 * -> int
3585 *
3586 * @par Lua函数原型
3587 * setToolDigitalOutput(index: number, value: boolean) -> nil
3588 *
3589 * @par Lua示例
3590 * setToolDigitalOutput(0,true)
3591 *
3592 * @par JSON-RPC请求示例
3593 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
3594 *
3595 * @par JSON-RPC响应示例
3596 * {"id":1,"jsonrpc":"2.0","result":0}
3597 *
3598 * \endchinese
3599 * \english
3600 * Set the value of tool digital output.
3601 *
3602 * @param index: Indicates the IO pin, starting from 0.
3603 * For example, 0 means the first pin.
3604 * @param value: Output value.
3605 *
3606 * @return Returns 0 on success; error code on failure.
3607 * AUBO_REQUEST_IGNORE
3608 * AUBO_BUSY
3609 * AUBO_BAD_STATE
3610 * -AUBO_INVL_ARGUMENT
3611 * -AUBO_BAD_STATE
3612 *
3613 * @throws arcs::common_interface::AuboException
3614 *
3615 * @par Python function prototype
3616 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
3617 * -> int
3618 *
3619 * @par Lua function prototype
3620 * setToolDigitalOutput(index: number, value: boolean) -> nil
3621 *
3622 * @par Lua example
3623 * setToolDigitalOutput(0,true)
3624 *
3625 * @par JSON-RPC request example
3626 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
3627 *
3628 * @par JSON-RPC response example
3629 * {"id":1,"jsonrpc":"2.0","result":0}
3630 *
3631 * \endenglish
3632 */
3633 int setToolDigitalOutput(int index, bool value);
3634
3635 /**
3636 * @ingroup IoControl
3637 * \chinese
3638 * 设置工具端数字输出脉冲
3639 *
3640 * @param index
3641 * @param value
3642 * @param duration
3643 *
3644 * @return 成功返回0;失败返回错误码
3645 * AUBO_REQUEST_IGNORE
3646 * AUBO_BUSY
3647 * AUBO_BAD_STATE
3648 * -AUBO_INVL_ARGUMENT
3649 * -AUBO_BAD_STATE
3650 *
3651 * @throws arcs::common_interface::AuboException
3652 *
3653 * @par Python函数原型
3654 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3655 * bool, arg2: float) -> int
3656 *
3657 * @par Lua函数原型
3658 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
3659 * number) -> nil
3660 *
3661 * @par Lua示例
3662 * setToolDigitalOutputPulse(0,true,2)
3663 *
3664 * @par JSON-RPC请求示例
3665 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
3666 *
3667 * @par JSON-RPC响应示例
3668 * {"id":1,"jsonrpc":"2.0","result":0}
3669 *
3670 * \endchinese
3671 * \english
3672 * Set tool digital output pulse.
3673 *
3674 * @param index
3675 * @param value
3676 * @param duration
3677 *
3678 * @return Returns 0 on success; error code on failure.
3679 * AUBO_REQUEST_IGNORE
3680 * AUBO_BUSY
3681 * AUBO_BAD_STATE
3682 * -AUBO_INVL_ARGUMENT
3683 * -AUBO_BAD_STATE
3684 *
3685 * @throws arcs::common_interface::AuboException
3686 *
3687 * @par Python function prototype
3688 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3689 * bool, arg2: float) -> int
3690 *
3691 * @par Lua function prototype
3692 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
3693 * number) -> nil
3694 *
3695 * @par Lua example
3696 * setToolDigitalOutputPulse(0,true,2)
3697 *
3698 * @par JSON-RPC request example
3699 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
3700 *
3701 * @par JSON-RPC response example
3702 * {"id":1,"jsonrpc":"2.0","result":0}
3703 *
3704 * \endenglish
3705 */
3706 int setToolDigitalOutputPulse(int index, bool value, double duration);
3707
3708 /**
3709 * @ingroup IoControl
3710 * \chinese
3711 * 设置可配置数字输出值
3712 *
3713 * @param index: 表示IO口的管脚,管脚编号从0开始。
3714 * 例如,0表示第一个管脚。
3715 * @param value: 数字输出值
3716 *
3717 * @return 成功返回0;失败返回错误码
3718 * AUBO_REQUEST_IGNORE
3719 * AUBO_BUSY
3720 * AUBO_BAD_STATE
3721 * -AUBO_INVL_ARGUMENT
3722 * -AUBO_BAD_STATE
3723 *
3724 * @throws arcs::common_interface::AuboException
3725 *
3726 * @par Python函数原型
3727 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3728 * bool) -> int
3729 *
3730 * @par Lua函数原型
3731 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
3732 *
3733 * @par Lua示例
3734 * setConfigurableDigitalOutput(0,true)
3735 *
3736 * @par JSON-RPC请求示例
3737 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
3738 *
3739 * @par JSON-RPC响应示例
3740 * {"id":1,"jsonrpc":"2.0","result":0}
3741 *
3742 * \endchinese
3743 * \english
3744 * Set the value of configurable digital output.
3745 *
3746 * @param index: Indicates the IO pin, starting from 0.
3747 * For example, 0 means the first pin.
3748 * @param value: Output value.
3749 *
3750 * @return Returns 0 on success; error code on failure.
3751 * AUBO_REQUEST_IGNORE
3752 * AUBO_BUSY
3753 * AUBO_BAD_STATE
3754 * -AUBO_INVL_ARGUMENT
3755 * -AUBO_BAD_STATE
3756 *
3757 * @throws arcs::common_interface::AuboException
3758 *
3759 * @par Python function prototype
3760 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3761 * bool) -> int
3762 *
3763 * @par Lua function prototype
3764 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
3765 *
3766 * @par Lua example
3767 * setConfigurableDigitalOutput(0,true)
3768 *
3769 * @par JSON-RPC request example
3770 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
3771 *
3772 * @par JSON-RPC response example
3773 * {"id":1,"jsonrpc":"2.0","result":0}
3774 *
3775 * \endenglish
3776 */
3777 int setConfigurableDigitalOutput(int index, bool value);
3778
3779 /**
3780 * @ingroup IoControl
3781 * \chinese
3782 * 设置可配置数字输出脉冲
3783 *
3784 * @param index
3785 * @param value
3786 * @param duration
3787 *
3788 * @return 成功返回0;失败返回错误码
3789 * AUBO_REQUEST_IGNORE
3790 * AUBO_BUSY
3791 * AUBO_BAD_STATE
3792 * -AUBO_INVL_ARGUMENT
3793 * -AUBO_BAD_STATE
3794 *
3795 * @throws arcs::common_interface::AuboException
3796 *
3797 * @par Python函数原型
3798 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3799 * arg1: bool, arg2: float) -> int
3800 *
3801 * @par Lua函数原型
3802 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
3803 * duration: number) -> nil
3804 *
3805 * @par Lua示例
3806 * setConfigurableDigitalOutputPulse(0,true,2.3)
3807 *
3808 * @par JSON-RPC请求示例
3809 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
3810 *
3811 * @par JSON-RPC响应示例
3812 * {"id":1,"jsonrpc":"2.0","result":0}
3813 *
3814 * \endchinese
3815 * \english
3816 * Set configurable digital output pulse.
3817 *
3818 * @param index
3819 * @param value
3820 * @param duration
3821 *
3822 * @return Returns 0 on success; error code on failure.
3823 * AUBO_REQUEST_IGNORE
3824 * AUBO_BUSY
3825 * AUBO_BAD_STATE
3826 * -AUBO_INVL_ARGUMENT
3827 * -AUBO_BAD_STATE
3828 *
3829 * @throws arcs::common_interface::AuboException
3830 *
3831 * @par Python function prototype
3832 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3833 * arg1: bool, arg2: float) -> int
3834 *
3835 * @par Lua function prototype
3836 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
3837 * duration: number) -> nil
3838 *
3839 * @par Lua example
3840 * setConfigurableDigitalOutputPulse(0,true,2.3)
3841 *
3842 * @par JSON-RPC request example
3843 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
3844 *
3845 * @par JSON-RPC response example
3846 * {"id":1,"jsonrpc":"2.0","result":0}
3847 *
3848 * \endenglish
3849 */
3850 int setConfigurableDigitalOutputPulse(int index, bool value,
3851 double duration);
3852
3853 /**
3854 * @ingroup IoControl
3855 * \chinese
3856 * 设置标准模拟输出值
3857 *
3858 * @param index: 表示IO口的管脚,管脚编号从0开始。
3859 * 例如,0表示第一个管脚。
3860 * @param value: 模拟输出值
3861 *
3862 * @return 成功返回0;失败返回错误码
3863 * AUBO_REQUEST_IGNORE
3864 * AUBO_BUSY
3865 * AUBO_BAD_STATE
3866 * -AUBO_INVL_ARGUMENT
3867 * -AUBO_BAD_STATE
3868 *
3869 * @throws arcs::common_interface::AuboException
3870 *
3871 * @par Python函数原型
3872 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3873 * float) -> int
3874 *
3875 * @par Lua函数原型
3876 * setStandardAnalogOutput(index: number, value: number) -> nil
3877 *
3878 * @par Lua示例
3879 * setStandardAnalogOutput(0,5.4)
3880 *
3881 * \endchinese
3882 * \english
3883 * Set the value of standard analog output.
3884 *
3885 * @param index: Indicates the IO pin, starting from 0.
3886 * For example, 0 means the first pin.
3887 * @param value: Output value.
3888 *
3889 * @return Returns 0 on success; error code on failure.
3890 * AUBO_REQUEST_IGNORE
3891 * AUBO_BUSY
3892 * AUBO_BAD_STATE
3893 * -AUBO_INVL_ARGUMENT
3894 * -AUBO_BAD_STATE
3895 *
3896 * @throws arcs::common_interface::AuboException
3897 *
3898 * @par Python function prototype
3899 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3900 * float) -> int
3901 *
3902 * @par Lua function prototype
3903 * setStandardAnalogOutput(index: number, value: number) -> nil
3904 *
3905 * @par Lua example
3906 * setStandardAnalogOutput(0,5.4)
3907 *
3908 * \endenglish
3909 */
3910 int setStandardAnalogOutput(int index, double value);
3911
3912 /**
3913 * @ingroup IoControl
3914 * \chinese
3915 * 设置工具端模拟输出值
3916 *
3917 * @param index: 表示IO口的管脚,管脚编号从0开始。
3918 * 例如,0表示第一个管脚。
3919 * @param value: 模拟输出
3920 *
3921 * @return 成功返回0;失败返回错误码
3922 * AUBO_REQUEST_IGNORE
3923 * AUBO_BUSY
3924 * AUBO_BAD_STATE
3925 * -AUBO_INVL_ARGUMENT
3926 * -AUBO_BAD_STATE
3927 *
3928 * @throws arcs::common_interface::AuboException
3929 *
3930 * @par Python函数原型
3931 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
3932 * -> int
3933 *
3934 * @par Lua函数原型
3935 * setToolAnalogOutput(index: number, value: number) -> nil
3936 *
3937 * @par Lua示例
3938 * setToolAnalogOutput(0,1.2)
3939 *
3940 * @par JSON-RPC请求示例
3941 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
3942 *
3943 * @par JSON-RPC响应示例
3944 * {"id":1,"jsonrpc":"2.0","result":13}
3945 *
3946 * \endchinese
3947 * \english
3948 * Set the value of tool analog output.
3949 *
3950 * @param index: Indicates the IO pin, starting from 0.
3951 * For example, 0 means the first pin.
3952 * @param value: Output value.
3953 *
3954 * @return Returns 0 on success; error code on failure.
3955 * AUBO_REQUEST_IGNORE
3956 * AUBO_BUSY
3957 * AUBO_BAD_STATE
3958 * -AUBO_INVL_ARGUMENT
3959 * -AUBO_BAD_STATE
3960 *
3961 * @throws arcs::common_interface::AuboException
3962 *
3963 * @par Python function prototype
3964 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
3965 * -> int
3966 *
3967 * @par Lua function prototype
3968 * setToolAnalogOutput(index: number, value: number) -> nil
3969 *
3970 * @par Lua example
3971 * setToolAnalogOutput(0,1.2)
3972 *
3973 * @par JSON-RPC request example
3974 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
3975 *
3976 * @par JSON-RPC response example
3977 * {"id":1,"jsonrpc":"2.0","result":13}
3978 *
3979 * \endenglish
3980 */
3981 int setToolAnalogOutput(int index, double value);
3982
3983 /**
3984 * @ingroup IoControl
3985 * \chinese
3986 * 获取标准数字输入值
3987 *
3988 * @param index: 表示IO口的管脚,管脚编号从0开始。
3989 * 例如,0表示第一个管脚。
3990 *
3991 * @return 高电平返回true; 低电平返回false
3992 *
3993 * @throws arcs::common_interface::AuboException
3994 *
3995 * @par Python函数原型
3996 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3997 *
3998 * @par Lua函数原型
3999 * getStandardDigitalInput(index: number) -> boolean
4000 *
4001 * @par Lua示例
4002 * status = getStandardDigitalInput(0)
4003 *
4004 * @par JSON-RPC请求示例
4005 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
4006 *
4007 * @par JSON-RPC响应示例
4008 * {"id":1,"jsonrpc":"2.0","result":false}
4009 *
4010 * \endchinese
4011 * \english
4012 * Get the value of a standard digital input.
4013 *
4014 * @param index: Indicates the IO pin, starting from 0.
4015 * For example, 0 means the first pin.
4016 *
4017 * @return Returns true for high level; false for low level.
4018 *
4019 * @throws arcs::common_interface::AuboException
4020 *
4021 * @par Python function prototype
4022 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4023 *
4024 * @par Lua function prototype
4025 * getStandardDigitalInput(index: number) -> boolean
4026 *
4027 * @par Lua example
4028 * status = getStandardDigitalInput(0)
4029 *
4030 * @par JSON-RPC request example
4031 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
4032 *
4033 * @par JSON-RPC response example
4034 * {"id":1,"jsonrpc":"2.0","result":false}
4035 *
4036 * \endenglish
4037 */
4039
4040 /**
4041 * @ingroup IoControl
4042 * \chinese
4043 * 获取所有的标准数字输入值
4044 *
4045 * @return 所有的标准数字输入值 \n
4046 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4047 * 后16位就是所有的标准数字输入状态值,
4048 * 最后一位表示DI00的输入状态值,倒数第二位表示DI01的输入状态值,以此类推。\n
4049 * 1表示高电平状态,0表示低电平状态
4050 *
4051 * @throws arcs::common_interface::AuboException
4052 *
4053 * @par Python函数原型
4054 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
4055 *
4056 * @par Lua函数原型
4057 * getStandardDigitalInputs() -> number
4058 *
4059 * @par Lua示例
4060 * num = getStandardDigitalInputs()
4061 *
4062 * @par JSON-RPC请求示例
4063 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
4064 *
4065 * @par JSON-RPC响应示例
4066 * {"id":1,"jsonrpc":"2.0","result":0}
4067 *
4068 * \endchinese
4069 * \english
4070 * Get all standard digital input values.
4071 *
4072 * @return All standard digital input values.\n
4073 * For example, if the return value is 2863267846, its binary representation
4074 * is 10101010101010100000000000000110. The lower 16 bits represent the
4075 * status of all standard digital inputs, the least significant bit
4076 * indicates the input status of DI00, the second least significant bit
4077 * indicates DI01, and so on.\n 1 means high level, 0 means low level.
4078 *
4079 * @throws arcs::common_interface::AuboException
4080 *
4081 * @par Python function prototype
4082 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
4083 *
4084 * @par Lua function prototype
4085 * getStandardDigitalInputs() -> number
4086 *
4087 * @par Lua example
4088 * num = getStandardDigitalInputs()
4089 *
4090 * @par JSON-RPC request example
4091 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
4092 *
4093 * @par JSON-RPC response example
4094 * {"id":1,"jsonrpc":"2.0","result":0}
4095 *
4096 * \endenglish
4097 */
4099
4100 /**
4101 * @ingroup IoControl
4102 * \chinese
4103 * 注册组数字输入
4104 *
4105 * 注册一个按名称访问的数字输入组。
4106 * `indexes[0]` 对应 bit0,`indexes[1]` 对应 bit1,以此类推。
4107 *
4108 * @param name: 组名称。
4109 * @param io_type: IO类型,0表示Standard,1表示Tool,2表示Configurable。
4110 * @param indexes: 组成员对应的数字输入索引列表。
4111 *
4112 * @return 成功返回0;失败返回错误码
4113 *
4114 * @throws arcs::common_interface::AuboException
4115 *
4116 * @par Python函数原型
4117 * addGroupInput(self: pyaubo_sdk.IoControl, arg0: str, arg1: int, arg2:
4118 * List[int]) -> int
4119 *
4120 * @par Lua函数原型
4121 * addGroupInput(name: string, io_type: number, indexes: table) -> nil
4122 *
4123 * @par Lua示例
4124 * addGroupInput("gi_state", 0, {0,1,2,3})
4125 *
4126 * @par JSON-RPC请求示例
4127 * {"jsonrpc":"2.0","method":"rob1.IoControl.addGroupInput","params":["gi_state",0,[0,1,2,3]],"id":1}
4128 *
4129 * @par JSON-RPC响应示例
4130 * {"id":1,"jsonrpc":"2.0","result":0}
4131 *
4132 * \endchinese
4133 * \english
4134 * Register a grouped digital input.
4135 *
4136 * Registers a named digital input group. `indexes[0]` maps to bit0,
4137 * `indexes[1]` maps to bit1, and so on.
4138 *
4139 * @param name: Group name.
4140 * @param io_type: IO type. 0 means Standard, 1 means Tool, and 2 means
4141 * Configurable.
4142 * @param indexes: Index list of digital inputs in the group.
4143 *
4144 * @return Returns 0 on success; error code on failure.
4145 *
4146 * @throws arcs::common_interface::AuboException
4147 *
4148 * @par Python function prototype
4149 * addGroupInput(self: pyaubo_sdk.IoControl, arg0: str, arg1: int, arg2:
4150 * List[int]) -> int
4151 *
4152 * @par Lua function prototype
4153 * addGroupInput(name: string, io_type: number, indexes: table) -> nil
4154 *
4155 * @par Lua example
4156 * addGroupInput("gi_state", 0, {0,1,2,3})
4157 *
4158 * @par JSON-RPC request example
4159 * {"jsonrpc":"2.0","method":"rob1.IoControl.addGroupInput","params":["gi_state",0,[0,1,2,3]],"id":1}
4160 *
4161 * @par JSON-RPC response example
4162 * {"id":1,"jsonrpc":"2.0","result":0}
4163 *
4164 * \endenglish
4165 */
4166 int addGroupInput(const std::string &name, int io_type,
4167 const std::vector<int> &indexes);
4168
4169 /**
4170 * @ingroup IoControl
4171 * \chinese
4172 * 删除组数字输入
4173 *
4174 * @param name: 组名称。
4175 *
4176 * @return 成功返回0;失败返回错误码
4177 *
4178 * @throws arcs::common_interface::AuboException
4179 *
4180 * @par Python函数原型
4181 * deleteGroupInput(self: pyaubo_sdk.IoControl, arg0: str) -> int
4182 *
4183 * @par Lua函数原型
4184 * deleteGroupInput(name: string) -> nil
4185 *
4186 * @par JSON-RPC请求示例
4187 * {"jsonrpc":"2.0","method":"rob1.IoControl.deleteGroupInput","params":["gi_state"],"id":1}
4188 *
4189 * @par JSON-RPC响应示例
4190 * {"id":1,"jsonrpc":"2.0","result":0}
4191 *
4192 * \endchinese
4193 * \english
4194 * Delete a grouped digital input.
4195 *
4196 * @param name: Group name.
4197 *
4198 * @return Returns 0 on success; error code on failure.
4199 *
4200 * @throws arcs::common_interface::AuboException
4201 *
4202 * @par Python function prototype
4203 * deleteGroupInput(self: pyaubo_sdk.IoControl, arg0: str) -> int
4204 *
4205 * @par Lua function prototype
4206 * deleteGroupInput(name: string) -> nil
4207 *
4208 * @par JSON-RPC request example
4209 * {"jsonrpc":"2.0","method":"rob1.IoControl.deleteGroupInput","params":["gi_state"],"id":1}
4210 *
4211 * @par JSON-RPC response example
4212 * {"id":1,"jsonrpc":"2.0","result":0}
4213 *
4214 * \endenglish
4215 */
4216 int deleteGroupInput(const std::string &name);
4217
4218 /**
4219 * @ingroup IoControl
4220 * \chinese
4221 * 获取组数字输入值
4222 *
4223 * 按名称查找组数字输入后,读取对应组成员并按位拼装返回整数值。
4224 *
4225 * @param name: 组名称。
4226 *
4227 * @return 返回组数字输入的组合值。
4228 *
4229 * @throws arcs::common_interface::AuboException
4230 *
4231 * @par Python函数原型
4232 * getGroupInput(self: pyaubo_sdk.IoControl, arg0: str) -> int
4233 *
4234 * @par Lua函数原型
4235 * getGroupInput(name: string) -> number
4236 *
4237 * @par Lua示例
4238 * value = getGroupInput("gi_state")
4239 *
4240 * @par JSON-RPC请求示例
4241 * {"jsonrpc":"2.0","method":"rob1.IoControl.getGroupInput","params":["gi_state"],"id":1}
4242 *
4243 * @par JSON-RPC响应示例
4244 * {"id":1,"jsonrpc":"2.0","result":13}
4245 *
4246 * \endchinese
4247 * \english
4248 * Get the grouped digital input value.
4249 *
4250 * Looks up the named grouped digital input, reads the group's members, and
4251 * combines them into an integer value.
4252 *
4253 * @param name: Group name.
4254 *
4255 * @return Returns the combined grouped digital input value.
4256 *
4257 * @throws arcs::common_interface::AuboException
4258 *
4259 * @par Python function prototype
4260 * getGroupInput(self: pyaubo_sdk.IoControl, arg0: str) -> int
4261 *
4262 * @par Lua function prototype
4263 * getGroupInput(name: string) -> number
4264 *
4265 * @par Lua example
4266 * value = getGroupInput("gi_state")
4267 *
4268 * @par JSON-RPC request example
4269 * {"jsonrpc":"2.0","method":"rob1.IoControl.getGroupInput","params":["gi_state"],"id":1}
4270 *
4271 * @par JSON-RPC response example
4272 * {"id":1,"jsonrpc":"2.0","result":13}
4273 *
4274 * \endenglish
4275 */
4276 uint32_t getGroupInput(const std::string &name);
4277
4278 /**
4279 * @ingroup IoControl
4280 * \chinese
4281 * 获取工具端数字输入值
4282 *
4283 * @param index: 表示IO口的管脚,管脚编号从0开始。
4284 * 例如,0表示第一个管脚。
4285 *
4286 * @return 高电平返回true; 低电平返回false
4287 *
4288 * @throws arcs::common_interface::AuboException
4289 *
4290 * @par Python函数原型
4291 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4292 *
4293 * @par Lua函数原型
4294 * getToolDigitalInput(index: number) -> boolean
4295 *
4296 * @par Lua示例
4297 * status = getToolDigitalInput(0)
4298 *
4299 * @par JSON-RPC请求示例
4300 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
4301 *
4302 * @par JSON-RPC响应示例
4303 * {"id":1,"jsonrpc":"2.0","result":false}
4304 *
4305 * \endchinese
4306 * \english
4307 * Get the value of tool digital input.
4308 *
4309 * @param index: Indicates the IO pin, starting from 0.
4310 * For example, 0 means the first pin.
4311 *
4312 * @return Returns true for high level; false for low level.
4313 *
4314 * @throws arcs::common_interface::AuboException
4315 *
4316 * @par Python function prototype
4317 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4318 *
4319 * @par Lua function prototype
4320 * getToolDigitalInput(index: number) -> boolean
4321 *
4322 * @par Lua example
4323 * status = getToolDigitalInput(0)
4324 *
4325 * @par JSON-RPC request example
4326 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
4327 *
4328 * @par JSON-RPC response example
4329 * {"id":1,"jsonrpc":"2.0","result":false}
4330 *
4331 * \endenglish
4332 */
4333 bool getToolDigitalInput(int index);
4334
4335 /**
4336 * @ingroup IoControl
4337 * \chinese
4338 * 获取所有的工具端数字输入值
4339 *
4340 * @return 返回所有的工具端数字输入值
4341 *
4342 * @throws arcs::common_interface::AuboException
4343 *
4344 * @par Python函数原型
4345 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
4346 *
4347 * @par Lua函数原型
4348 * getToolDigitalInputs() -> number
4349 *
4350 * @par Lua示例
4351 * num = getToolDigitalInputs()
4352 *
4353 * @par JSON-RPC请求示例
4354 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
4355 *
4356 * @par JSON-RPC响应示例
4357 * {"id":1,"jsonrpc":"2.0","result":0}
4358 *
4359 * \endchinese
4360 * \english
4361 * Get all tool digital input values.
4362 *
4363 * @return Returns all tool digital input values.
4364 *
4365 * @throws arcs::common_interface::AuboException
4366 *
4367 * @par Python function prototype
4368 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
4369 *
4370 * @par Lua function prototype
4371 * getToolDigitalInputs() -> number
4372 *
4373 * @par Lua example
4374 * num = getToolDigitalInputs()
4375 *
4376 * @par JSON-RPC request example
4377 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
4378 *
4379 * @par JSON-RPC response example
4380 * {"id":1,"jsonrpc":"2.0","result":0}
4381 *
4382 * \endenglish
4383 */
4385
4386 /**
4387 * @ingroup IoControl
4388 * \chinese
4389 * 获取可配置数字输入值
4390 *
4391 * @note 可用于获取安全IO的输入值
4392 *
4393 * @param index: 表示IO口的管脚,管脚编号从0开始。
4394 * 例如,0表示第一个管脚。
4395 *
4396 * @return 高电平返回true; 低电平返回false
4397 *
4398 * @throws arcs::common_interface::AuboException
4399 *
4400 * @par Python函数原型
4401 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) ->
4402 * bool
4403 *
4404 * @par Lua函数原型
4405 * getConfigurableDigitalInput(index: number) -> boolean
4406 *
4407 * @par Lua示例
4408 * status = getConfigurableDigitalInput(0)
4409 *
4410 * @par JSON-RPC请求示例
4411 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
4412 *
4413 * @par JSON-RPC响应示例
4414 * {"id":1,"jsonrpc":"2.0","result":false}
4415 *
4416 * \endchinese
4417 * \english
4418 * Get the value of configurable digital input.
4419 *
4420 * @note Can be used to get the value of safety IO.
4421 *
4422 * @param index: Indicates the IO pin, starting from 0.
4423 * For example, 0 means the first pin.
4424 *
4425 * @return Returns true for high level; false for low level.
4426 *
4427 * @throws arcs::common_interface::AuboException
4428 *
4429 * @par Python function prototype
4430 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) ->
4431 * bool
4432 *
4433 * @par Lua function prototype
4434 * getConfigurableDigitalInput(index: number) -> boolean
4435 *
4436 * @par Lua example
4437 * status = getConfigurableDigitalInput(0)
4438 *
4439 * @par JSON-RPC request example
4440 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
4441 *
4442 * @par JSON-RPC response example
4443 * {"id":1,"jsonrpc":"2.0","result":false}
4444 *
4445 * \endenglish
4446 */
4448
4449 /**
4450 * @ingroup IoControl
4451 * \chinese
4452 * 获取所有的可配置数字输入值
4453 *
4454 * @note 可用于获取安全IO的输入值
4455 *
4456 * @return 所有的可配置数字输入值\n
4457 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4458 * 后16位就是所有的输入状态值,
4459 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
4460 * 1表示高电平状态,0表示低电平状态
4461 *
4462 * @throws arcs::common_interface::AuboException
4463 *
4464 * @par Python函数原型
4465 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
4466 *
4467 * @par Lua函数原型
4468 * getConfigurableDigitalInputs() -> number
4469 *
4470 * @par Lua示例
4471 * num = getConfigurableDigitalInputs()
4472 *
4473 * @par JSON-RPC请求示例
4474 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
4475 *
4476 * @par JSON-RPC响应示例
4477 * {"id":1,"jsonrpc":"2.0","result":0}
4478 *
4479 * \endchinese
4480 * \english
4481 * Get all configurable digital input values.
4482 *
4483 * @note Can be used to get the value of safety IO.
4484 *
4485 * @return All configurable digital input values.\n
4486 * For example, if the return value is 2863267846, its binary representation
4487 * is 10101010101010100000000000000110. The lower 16 bits represent the
4488 * status of all input pins, the least significant bit indicates the input
4489 * status of pin 0, the second least significant bit indicates pin 1, and so
4490 * on.\n 1 means high level, 0 means low level.
4491 *
4492 * @throws arcs::common_interface::AuboException
4493 *
4494 * @par Python function prototype
4495 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
4496 *
4497 * @par Lua function prototype
4498 * getConfigurableDigitalInputs() -> number
4499 *
4500 * @par Lua example
4501 * num = getConfigurableDigitalInputs()
4502 *
4503 * @par JSON-RPC request example
4504 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
4505 *
4506 * @par JSON-RPC response example
4507 * {"id":1,"jsonrpc":"2.0","result":0}
4508 *
4509 * \endenglish
4510 */
4512
4513 /**
4514 * @ingroup IoControl
4515 * \chinese
4516 * 获取标准数字输出值
4517 *
4518 * @param index: 表示IO口的管脚,管脚编号从0开始。
4519 * 例如,0表示第一个管脚。
4520 *
4521 * @return 高电平返回true; 低电平返回false
4522 *
4523 * @throws arcs::common_interface::AuboException
4524 *
4525 * @par Python函数原型
4526 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4527 *
4528 * @par Lua函数原型
4529 * getStandardDigitalOutput(index: number) -> boolean
4530 *
4531 * @par Lua示例
4532 * status = getStandardDigitalOutput(0)
4533 *
4534 * @par JSON-RPC请求示例
4535 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
4536 *
4537 * @par JSON-RPC响应示例
4538 * {"id":1,"jsonrpc":"2.0","result":true}
4539 *
4540 * \endchinese
4541 * \english
4542 * Get the value of a standard digital output.
4543 *
4544 * @param index: Indicates the IO pin, starting from 0.
4545 * For example, 0 means the first pin.
4546 *
4547 * @return Returns true for high level; false for low level.
4548 *
4549 * @throws arcs::common_interface::AuboException
4550 *
4551 * @par Python function prototype
4552 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4553 *
4554 * @par Lua function prototype
4555 * getStandardDigitalOutput(index: number) -> boolean
4556 *
4557 * @par Lua example
4558 * status = getStandardDigitalOutput(0)
4559 *
4560 * @par JSON-RPC request example
4561 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
4562 *
4563 * @par JSON-RPC response example
4564 * {"id":1,"jsonrpc":"2.0","result":true}
4565 *
4566 * \endenglish
4567 */
4569
4570 /**
4571 * @ingroup IoControl
4572 * \chinese
4573 * 获取所有的标准数字输出值
4574 *
4575 * @return 所有的标准数字输出值 \n
4576 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4577 * 后16位就是所有的标准数字输出状态值,
4578 * 最后一位表示DI00的输出状态值,倒数第二位表示DI01的输出状态值,以此类推。\n
4579 * 1表示高电平状态,0表示低电平状态.
4580 *
4581 * @throws arcs::common_interface::AuboException
4582 *
4583 * @par Python函数原型
4584 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4585 *
4586 * @par Lua函数原型
4587 * getStandardDigitalOutputs() -> number
4588 *
4589 * @par Lua示例
4590 * num = getStandardDigitalOutputs()
4591 *
4592 * @par JSON-RPC请求示例
4593 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
4594 *
4595 * @par JSON-RPC响应示例
4596 * {"id":1,"jsonrpc":"2.0","result":69}
4597 *
4598 * \endchinese
4599 * \english
4600 * Get all standard digital output values.
4601 *
4602 * @return All standard digital output values.\n
4603 * For example, if the return value is 2863267846, its binary representation
4604 * is 10101010101010100000000000000110. The lower 16 bits represent the
4605 * status of all standard digital outputs, the least significant bit
4606 * indicates the output status of DO00, the second least significant bit
4607 * indicates DO01, and so on.\n 1 means high level, 0 means low level.
4608 *
4609 * @throws arcs::common_interface::AuboException
4610 *
4611 * @par Python function prototype
4612 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4613 *
4614 * @par Lua function prototype
4615 * getStandardDigitalOutputs() -> number
4616 *
4617 * @par Lua example
4618 * num = getStandardDigitalOutputs()
4619 *
4620 * @par JSON-RPC request example
4621 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
4622 *
4623 * @par JSON-RPC response example
4624 * {"id":1,"jsonrpc":"2.0","result":69}
4625 *
4626 * \endenglish
4627 */
4629
4630 /**
4631 * @ingroup IoControl
4632 * \chinese
4633 * 获取组数字输出值
4634 *
4635 * 按名称查找组数字输出后,读取对应组成员并按位拼装返回整数值。
4636 *
4637 * @param name: 组名称。
4638 *
4639 * @return 返回组数字输出的组合值。
4640 *
4641 * @throws arcs::common_interface::AuboException
4642 *
4643 * @par Python函数原型
4644 * getGroupOutput(self: pyaubo_sdk.IoControl, arg0: str) -> int
4645 *
4646 * @par Lua函数原型
4647 * getGroupOutput(name: string) -> number
4648 *
4649 * @par Lua示例
4650 * value = getGroupOutput("go_state")
4651 *
4652 * @par JSON-RPC请求示例
4653 * {"jsonrpc":"2.0","method":"rob1.IoControl.getGroupOutput","params":["go_state"],"id":1}
4654 *
4655 * @par JSON-RPC响应示例
4656 * {"id":1,"jsonrpc":"2.0","result":13}
4657 *
4658 * \endchinese
4659 * \english
4660 * Get the grouped digital output value.
4661 *
4662 * Looks up the named grouped digital output, reads the group's members,
4663 * and combines them into an integer value.
4664 *
4665 * @param name: Group name.
4666 *
4667 * @return Returns the combined grouped digital output value.
4668 *
4669 * @throws arcs::common_interface::AuboException
4670 *
4671 * @par Python function prototype
4672 * getGroupOutput(self: pyaubo_sdk.IoControl, arg0: str) -> int
4673 *
4674 * @par Lua function prototype
4675 * getGroupOutput(name: string) -> number
4676 *
4677 * @par Lua example
4678 * value = getGroupOutput("go_state")
4679 *
4680 * @par JSON-RPC request example
4681 * {"jsonrpc":"2.0","method":"rob1.IoControl.getGroupOutput","params":["go_state"],"id":1}
4682 *
4683 * @par JSON-RPC response example
4684 * {"id":1,"jsonrpc":"2.0","result":13}
4685 *
4686 * \endenglish
4687 */
4688 uint32_t getGroupOutput(const std::string &name);
4689
4690 /**
4691 * @ingroup IoControl
4692 * \chinese
4693 * 获取工具端数字输出值
4694 *
4695 * @param index: 表示IO口的管脚,管脚编号从0开始。
4696 * 例如,0表示第一个管脚。
4697 *
4698 * @return 高电平返回true; 低电平返回false
4699 *
4700 * @throws arcs::common_interface::AuboException
4701 *
4702 * @par Python函数原型
4703 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4704 *
4705 * @par Lua函数原型
4706 * getToolDigitalOutput(index: number) -> boolean
4707 *
4708 * @par Lua示例
4709 * status = getToolDigitalOutput(0)
4710 *
4711 * @par JSON-RPC请求示例
4712 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
4713 *
4714 * @par JSON-RPC响应示例
4715 * {"id":1,"jsonrpc":"2.0","result":false}
4716 *
4717 * \endchinese
4718 * \english
4719 * Get the value of tool digital output.
4720 *
4721 * @param index: Indicates the IO pin, starting from 0.
4722 * For example, 0 means the first pin.
4723 *
4724 * @return Returns true for high level; false for low level.
4725 *
4726 * @throws arcs::common_interface::AuboException
4727 *
4728 * @par Python function prototype
4729 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4730 *
4731 * @par Lua function prototype
4732 * getToolDigitalOutput(index: number) -> boolean
4733 *
4734 * @par Lua example
4735 * status = getToolDigitalOutput(0)
4736 *
4737 * @par JSON-RPC request example
4738 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
4739 *
4740 * @par JSON-RPC response example
4741 * {"id":1,"jsonrpc":"2.0","result":false}
4742 *
4743 * \endenglish
4744 */
4745 bool getToolDigitalOutput(int index);
4746
4747 /**
4748 * @ingroup IoControl
4749 * \chinese
4750 * 获取所有的工具端数字输出值
4751 *
4752 * @return 所有的工具端数字输出值
4753 *
4754 * @throws arcs::common_interface::AuboException
4755 *
4756 * @par Python函数原型
4757 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4758 *
4759 * @par Lua函数原型
4760 * getToolDigitalOutputs() -> number
4761 *
4762 * @par Lua示例
4763 * num = getToolDigitalOutputs()
4764 *
4765 * @par JSON-RPC请求示例
4766 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
4767 *
4768 * @par JSON-RPC响应示例
4769 * {"id":1,"jsonrpc":"2.0","result":9}
4770 *
4771 * \endchinese
4772 * \english
4773 * Get all tool digital output values.
4774 *
4775 * @return All tool digital output values.
4776 *
4777 * @throws arcs::common_interface::AuboException
4778 *
4779 * @par Python function prototype
4780 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4781 *
4782 * @par Lua function prototype
4783 * getToolDigitalOutputs() -> number
4784 *
4785 * @par Lua example
4786 * num = getToolDigitalOutputs()
4787 *
4788 * @par JSON-RPC request example
4789 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
4790 *
4791 * @par JSON-RPC response example
4792 * {"id":1,"jsonrpc":"2.0","result":9}
4793 *
4794 * \endenglish
4795 */
4797
4798 /**
4799 * @ingroup IoControl
4800 * \chinese
4801 * 获取可配值数字输出值
4802 *
4803 * @note 可用于获取安全IO的输出值
4804 *
4805 * @param index: 表示IO口的管脚,管脚编号从0开始。
4806 * 例如,0表示第一个管脚。
4807 *
4808 * @return 高电平返回true; 低电平返回false
4809 *
4810 * @throws arcs::common_interface::AuboException
4811 *
4812 * @par Python函数原型
4813 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
4814 * bool
4815 *
4816 * @par Lua函数原型
4817 * getConfigurableDigitalOutput(index: number) -> boolean
4818 *
4819 * @par Lua示例
4820 * status = getConfigurableDigitalOutput(0)
4821 *
4822 * @par JSON-RPC请求示例
4823 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
4824 *
4825 * @par JSON-RPC响应示例
4826 * {"id":1,"jsonrpc":"2.0","result":true}
4827 *
4828 * \endchinese
4829 * \english
4830 * Get the value of configurable digital output.
4831 *
4832 * @note Can be used to get the value of safety IO.
4833 *
4834 * @param index: Indicates the IO pin, starting from 0.
4835 * For example, 0 means the first pin.
4836 *
4837 * @return Returns true for high level; false for low level.
4838 *
4839 * @throws arcs::common_interface::AuboException
4840 *
4841 * @par Python function prototype
4842 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
4843 * bool
4844 *
4845 * @par Lua function prototype
4846 * getConfigurableDigitalOutput(index: number) -> boolean
4847 *
4848 * @par Lua example
4849 * status = getConfigurableDigitalOutput(0)
4850 *
4851 * @par JSON-RPC request example
4852 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
4853 *
4854 * @par JSON-RPC response example
4855 * {"id":1,"jsonrpc":"2.0","result":true}
4856 *
4857 * \endenglish
4858 */
4860
4861 /**
4862 * @ingroup IoControl
4863 * \chinese
4864 * 获取所有的可配值数字输出值
4865 *
4866 * @note 可用于获取安全IO的输出值
4867 *
4868 * @return 所有的可配值数字输出\n
4869 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4870 * 后16位就是所有的输出值,
4871 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
4872 * 1表示高电平状态,0表示低电平状态.
4873 *
4874 * @throws arcs::common_interface::AuboException
4875 *
4876 * @par Python函数原型
4877 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4878 *
4879 * @par Lua函数原型
4880 * getConfigurableDigitalOutputs() -> number
4881 *
4882 * @par Lua示例
4883 * num = getConfigurableDigitalOutputs()
4884 *
4885 * @par JSON-RPC请求示例
4886 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
4887 *
4888 * @par JSON-RPC响应示例
4889 * {"id":1,"jsonrpc":"2.0","result":1}
4890 *
4891 * \endchinese
4892 * \english
4893 * Get all configurable digital output values.
4894 *
4895 * @note Can be used to get the value of safety IO.
4896 *
4897 * @return All configurable digital output values.\n
4898 * For example, if the return value is 2863267846, its binary representation
4899 * is 10101010101010100000000000000110. The lower 16 bits represent the
4900 * status of all output pins, the least significant bit indicates the output
4901 * status of pin 0, the second least significant bit indicates pin 1, and so
4902 * on.\n 1 means high level, 0 means low level.
4903 *
4904 * @throws arcs::common_interface::AuboException
4905 *
4906 * @par Python function prototype
4907 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4908 *
4909 * @par Lua function prototype
4910 * getConfigurableDigitalOutputs() -> number
4911 *
4912 * @par Lua example
4913 * num = getConfigurableDigitalOutputs()
4914 *
4915 * @par JSON-RPC request example
4916 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
4917 *
4918 * @par JSON-RPC response example
4919 * {"id":1,"jsonrpc":"2.0","result":1}
4920 *
4921 * \endenglish
4922 */
4924
4925 /**
4926 * @ingroup IoControl
4927 * \chinese
4928 * 获取标准模拟输入值
4929 *
4930 * @param index: 表示IO口的管脚,管脚编号从0开始。
4931 * 例如,0表示第一个管脚。
4932 *
4933 * @return 标准模拟输入值
4934 *
4935 * @throws arcs::common_interface::AuboException
4936 *
4937 * @par Python函数原型
4938 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4939 *
4940 * @par Lua函数原型
4941 * getStandardAnalogInput(index: number) -> number
4942 *
4943 * @par Lua示例
4944 * getStandardAnalogInput(0)
4945 *
4946 * @par JSON-RPC请求示例
4947 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
4948 *
4949 * @par JSON-RPC响应示例
4950 * {"id":1,"jsonrpc":"2.0","result":0.0}
4951 *
4952 * \endchinese
4953 * \english
4954 * Get the value of standard analog input.
4955 *
4956 * @param index: Indicates the IO pin, starting from 0.
4957 * For example, 0 means the first pin.
4958 *
4959 * @return Standard analog input value.
4960 *
4961 * @throws arcs::common_interface::AuboException
4962 *
4963 * @par Python function prototype
4964 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4965 *
4966 * @par Lua function prototype
4967 * getStandardAnalogInput(index: number) -> number
4968 *
4969 * @par Lua example
4970 * getStandardAnalogInput(0)
4971 *
4972 * @par JSON-RPC request example
4973 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
4974 *
4975 * @par JSON-RPC response example
4976 * {"id":1,"jsonrpc":"2.0","result":0.0}
4977 *
4978 * \endenglish
4979 */
4980 double getStandardAnalogInput(int index);
4981
4982 /**
4983 * @ingroup IoControl
4984 * \chinese
4985 * 获取工具端模拟输入值
4986 *
4987 * @param index: 表示IO口的管脚,管脚编号从0开始。
4988 * 例如,0表示第一个管脚。
4989 *
4990 * @return 工具端模拟输入值
4991 *
4992 * @throws arcs::common_interface::AuboException
4993 *
4994 * @par Python函数原型
4995 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4996 *
4997 * @par Lua函数原型
4998 * getToolAnalogInput(index: number) -> number
4999 *
5000 * @par Lua示例
5001 * num = getToolAnalogInput(0)
5002 *
5003 * @par JSON-RPC请求示例
5004 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
5005 *
5006 * @par JSON-RPC响应示例
5007 * {"id":1,"jsonrpc":"2.0","result":0.0}
5008 *
5009 * \endchinese
5010 * \english
5011 * Get the value of tool analog input.
5012 *
5013 * @param index: Indicates the IO pin, starting from 0.
5014 * For example, 0 means the first pin.
5015 *
5016 * @return Tool analog input value.
5017 *
5018 * @throws arcs::common_interface::AuboException
5019 *
5020 * @par Python function prototype
5021 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
5022 *
5023 * @par Lua function prototype
5024 * getToolAnalogInput(index: number) -> number
5025 *
5026 * @par Lua example
5027 * num = getToolAnalogInput(0)
5028 *
5029 * @par JSON-RPC request example
5030 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
5031 *
5032 * @par JSON-RPC response example
5033 * {"id":1,"jsonrpc":"2.0","result":0.0}
5034 *
5035 * \endenglish
5036 */
5037 double getToolAnalogInput(int index);
5038
5039 /**
5040 * @ingroup IoControl
5041 * \chinese
5042 * 获取标准模拟输出值
5043 *
5044 * @param index: 表示IO口的管脚,管脚编号从0开始。
5045 * 例如,0表示第一个管脚。
5046 *
5047 * @return 标准模拟输出值
5048 *
5049 * @throws arcs::common_interface::AuboException
5050 *
5051 * @par Python函数原型
5052 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
5053 *
5054 * @par Lua函数原型
5055 * getStandardAnalogOutput(index: number) -> number
5056 *
5057 * @par Lua示例
5058 * num = getStandardAnalogOutput(0)
5059 *
5060 * @par JSON-RPC请求示例
5061 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
5062 *
5063 * @par JSON-RPC响应示例
5064 * {"id":1,"jsonrpc":"2.0","result":0.0}
5065 *
5066 * \endchinese
5067 * \english
5068 * Get the value of standard analog output.
5069 *
5070 * @param index: Indicates the IO pin, starting from 0.
5071 * For example, 0 means the first pin.
5072 *
5073 * @return Standard analog output value.
5074 *
5075 * @throws arcs::common_interface::AuboException
5076 *
5077 * @par Python function prototype
5078 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
5079 *
5080 * @par Lua function prototype
5081 * getStandardAnalogOutput(index: number) -> number
5082 *
5083 * @par Lua example
5084 * num = getStandardAnalogOutput(0)
5085 *
5086 * @par JSON-RPC request example
5087 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
5088 *
5089 * @par JSON-RPC response example
5090 * {"id":1,"jsonrpc":"2.0","result":0.0}
5091 *
5092 * \endenglish
5093 */
5094 double getStandardAnalogOutput(int index);
5095
5096 /**
5097 * @ingroup IoControl
5098 * \chinese
5099 * 获取工具端模拟输出值
5100 *
5101 * @param index: 表示IO口的管脚,管脚编号从0开始。
5102 * 例如,0表示第一个管脚。
5103 *
5104 * @return 工具端模拟输出值
5105 *
5106 * @throws arcs::common_interface::AuboException
5107 *
5108 * @par Python函数原型
5109 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
5110 *
5111 * @par Lua函数原型
5112 * getToolAnalogOutput(index: number) -> number
5113 *
5114 * @par Lua示例
5115 * num = getToolAnalogOutput(0)
5116 *
5117 * @par JSON-RPC请求示例
5118 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
5119 *
5120 * @par JSON-RPC响应示例
5121 * {"id":1,"jsonrpc":"2.0","result":0.0}
5122 *
5123 * \endchinese
5124 * \english
5125 * Get the value of tool analog output.
5126 *
5127 * @param index: Indicates the IO pin, starting from 0.
5128 * For example, 0 means the first pin.
5129 *
5130 * @return Tool analog output value.
5131 *
5132 * @throws arcs::common_interface::AuboException
5133 *
5134 * @par Python function prototype
5135 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
5136 *
5137 * @par Lua function prototype
5138 * getToolAnalogOutput(index: number) -> number
5139 *
5140 * @par Lua example
5141 * num = getToolAnalogOutput(0)
5142 *
5143 * @par JSON-RPC request example
5144 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
5145 *
5146 * @par JSON-RPC response example
5147 * {"id":1,"jsonrpc":"2.0","result":0.0}
5148 *
5149 * \endenglish
5150 */
5151 double getToolAnalogOutput(int index);
5152
5153 /**
5154 * @ingroup IoControl
5155 * \chinese
5156 * 获取联动输入数量
5157 *
5158 * @return 联动输入数量
5159 *
5160 * @throws arcs::common_interface::AuboException
5161 *
5162 * @par Python函数原型
5163 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
5164 *
5165 * @par Lua函数原型
5166 * getStaticLinkInputNum() -> number
5167 *
5168 * @par Lua示例
5169 * num = getStaticLinkInputNum()
5170 *
5171 * @par JSON-RPC请求示例
5172 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
5173 *
5174 * @par JSON-RPC响应示例
5175 * {"id":1,"jsonrpc":"2.0","result":8}
5176 *
5177 * \endchinese
5178 * \english
5179 * Get the number of static link inputs.
5180 *
5181 * @return Number of static link inputs.
5182 *
5183 * @throws arcs::common_interface::AuboException
5184 *
5185 * @par Python function prototype
5186 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
5187 *
5188 * @par Lua function prototype
5189 * getStaticLinkInputNum() -> number
5190 *
5191 * @par Lua example
5192 * num = getStaticLinkInputNum()
5193 *
5194 * @par JSON-RPC request example
5195 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
5196 *
5197 * @par JSON-RPC response example
5198 * {"id":1,"jsonrpc":"2.0","result":8}
5199 *
5200 * \endenglish
5201 */
5203
5204 /**
5205 * @ingroup IoControl
5206 * \chinese
5207 * 获取联动输出数量
5208 *
5209 * @return 联动输出数量
5210 *
5211 * @throws arcs::common_interface::AuboException
5212 *
5213 * @par Python函数原型
5214 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
5215 *
5216 * @par Lua函数原型
5217 * getStaticLinkOutputNum() -> number
5218 *
5219 * @par Lua示例
5220 * num = getStaticLinkOutputNum()
5221 *
5222 * @par JSON-RPC请求示例
5223 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
5224 *
5225 * @par JSON-RPC响应示例
5226 * {"id":1,"jsonrpc":"2.0","result":0}
5227 *
5228 * \endchinese
5229 * \english
5230 * Get the number of static link outputs.
5231 *
5232 * @return Number of static link outputs.
5233 *
5234 * @throws arcs::common_interface::AuboException
5235 *
5236 * @par Python function prototype
5237 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
5238 *
5239 * @par Lua function prototype
5240 * getStaticLinkOutputNum() -> number
5241 *
5242 * @par Lua example
5243 * num = getStaticLinkOutputNum()
5244 *
5245 * @par JSON-RPC request example
5246 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
5247 *
5248 * @par JSON-RPC response example
5249 * {"id":1,"jsonrpc":"2.0","result":0}
5250 *
5251 * \endenglish
5252 */
5254
5255 /**
5256 * @ingroup IoControl
5257 * \chinese
5258 * 获取所有的联动输入值
5259 *
5260 * @return 所有的联动输入值\n
5261 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
5262 * 后16位就是所有的联动输入状态值,
5263 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
5264 * 1表示高电平状态,0表示低电平状态.
5265 *
5266 * @throws arcs::common_interface::AuboException
5267 *
5268 * @par Python函数原型
5269 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
5270 *
5271 * @par Lua函数原型
5272 * getStaticLinkInputs() -> number
5273 *
5274 * @par Lua示例
5275 * num = getStaticLinkInputs()
5276 *
5277 * @par JSON-RPC请求示例
5278 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
5279 *
5280 * @par JSON-RPC响应示例
5281 * {"id":1,"jsonrpc":"2.0","result":0}
5282 *
5283 * \endchinese
5284 * \english
5285 * Get all static link input values.
5286 *
5287 * @return All static link input values.\n
5288 * For example, if the return value is 2863267846, its binary representation
5289 * is 10101010101010100000000000000110. The lower 16 bits represent the
5290 * status of all static link inputs, the least significant bit indicates the
5291 * input status of pin 0, the second least significant bit indicates pin 1,
5292 * and so on.\n 1 means high level, 0 means low level.
5293 *
5294 * @throws arcs::common_interface::AuboException
5295 *
5296 * @par Python function prototype
5297 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
5298 *
5299 * @par Lua function prototype
5300 * getStaticLinkInputs() -> number
5301 *
5302 * @par Lua example
5303 * num = getStaticLinkInputs()
5304 *
5305 * @par JSON-RPC request example
5306 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
5307 *
5308 * @par JSON-RPC response example
5309 * {"id":1,"jsonrpc":"2.0","result":0}
5310 *
5311 * \endenglish
5312 */
5314
5315 /**
5316 * @ingroup IoControl
5317 * \chinese
5318 * 获取所有的联动输出值
5319 *
5320 * @return 返回所有的联动输出值 \n
5321 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
5322 * 后16位就是所有的联动输出状态值,
5323 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
5324 * 1表示高电平状态,0表示低电平状态.
5325 *
5326 * @throws arcs::common_interface::AuboException
5327 *
5328 * @par Python函数原型
5329 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
5330 *
5331 * @par Lua函数原型
5332 * getStaticLinkOutputs() -> number
5333 *
5334 * @par Lua示例
5335 * num = getStaticLinkOutputs()
5336 *
5337 * @par JSON-RPC请求示例
5338 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
5339 *
5340 * @par JSON-RPC响应示例
5341 * {"id":1,"jsonrpc":"2.0","result":0}
5342 *
5343 * \endchinese
5344 * \english
5345 * Get all static link output values.
5346 *
5347 * @return Returns all static link output values.\n
5348 * For example, if the return value is 2863267846, its binary representation
5349 * is 10101010101010100000000000000110. The lower 16 bits represent the
5350 * status of all static link outputs, the least significant bit indicates
5351 * the output status of pin 0, the second least significant bit indicates
5352 * pin 1, and so on.\n 1 means high level, 0 means low level.
5353 *
5354 * @throws arcs::common_interface::AuboException
5355 *
5356 * @par Python function prototype
5357 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
5358 *
5359 * @par Lua function prototype
5360 * getStaticLinkOutputs() -> number
5361 *
5362 * @par Lua example
5363 * num = getStaticLinkOutputs()
5364 *
5365 * @par JSON-RPC request example
5366 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
5367 *
5368 * @par JSON-RPC response example
5369 * {"id":1,"jsonrpc":"2.0","result":0}
5370 *
5371 * \endenglish
5372 */
5374
5375 /**
5376 * @ingroup IoControl
5377 * \chinese
5378 * 机器人是否配置了编码器
5379 * 集成编码器的编号为 0
5380 *
5381 * @return 机器人配置编码器返回 true, 反之返回 false
5382 *
5383 * @throws arcs::common_interface::AuboException
5384 *
5385 * @par JSON-RPC请求示例
5386 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
5387 *
5388 * @par JSON-RPC响应示例
5389 * {"id":1,"jsonrpc":"2.0","result":true}
5390 *
5391 * \endchinese
5392 * \english
5393 * Whether the robot is equipped with an encoder.
5394 * The integrated encoder number is 0.
5395 *
5396 * @return Returns true if the robot is equipped with an encoder, otherwise
5397 * false.
5398 *
5399 * @throws arcs::common_interface::AuboException
5400 *
5401 * @par JSON-RPC request example
5402 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
5403 *
5404 * @par JSON-RPC response example
5405 * {"id":1,"jsonrpc":"2.0","result":true}
5406 *
5407 * \endenglish
5408 */
5410 /**
5411 * @ingroup IoControl
5412 * \chinese
5413 * 设置集成编码器的解码方式
5414 *
5415 * @param type
5416 * 0-禁用编码器
5417 * 1-AB正交
5418 * 2-AB正交+Z
5419 * 3-AB差分正交
5420 * 4-AB差分正交+Z差分
5421 *
5422 * @param range_id
5423 * 0 表示32位有符号编码器,范围为 [-2147483648, 2147483647]
5424 * 1 表示8位无符号编码器,范围为 [0, 255]
5425 * 2 表示16位无符号编码器,范围为 [0, 65535]
5426 * 3 表示24位无符号编码器,范围为 [0, 16777215]
5427 * 4 表示32位无符号编码器,范围为 [0, 4294967295]
5428 *
5429 * @return 成功返回0;失败返回错误码
5430 * AUBO_NO_ACCESS
5431 * AUBO_BUSY
5432 * AUBO_BAD_STATE
5433 * -AUBO_INVL_ARGUMENT
5434 * -AUBO_BAD_STATE
5435 *
5436 * @throws arcs::common_interface::AuboException
5437 * \endchinese
5438 * \english
5439 * Set the decoding method of the integrated encoder.
5440 *
5441 * @param type
5442 * 0 - Disable encoder
5443 * 1 - AB quadrature
5444 * 2 - AB quadrature + Z
5445 * 3 - AB differential quadrature
5446 * 4 - AB differential quadrature + Z differential
5447 *
5448 * @param range_id
5449 * 0 is a 32-bit signed encoder, range [-2147483648, 2147483647]
5450 * 1 is an 8-bit unsigned encoder, range [0, 255]
5451 * 2 is a 16-bit unsigned encoder, range [0, 65535]
5452 * 3 is a 24-bit unsigned encoder, range [0, 16777215]
5453 * 4 is a 32-bit unsigned encoder, range [0, 4294967295]
5454 *
5455 * @return Returns 0 on success; error code on failure.
5456 * AUBO_NO_ACCESS
5457 * AUBO_BUSY
5458 * AUBO_BAD_STATE
5459 * -AUBO_INVL_ARGUMENT
5460 * -AUBO_BAD_STATE
5461 *
5462 * @throws arcs::common_interface::AuboException
5463 * \endenglish
5464 */
5465 int setEncDecoderType(int type, int range_id);
5466
5467 /**
5468 * @ingroup IoControl
5469 * \chinese
5470 * 设置集成编码器脉冲数
5471 *
5472 * @param tick 脉冲数
5473 *
5474 * @return 成功返回0;失败返回错误码
5475 * AUBO_NO_ACCESS
5476 * AUBO_BUSY
5477 * AUBO_BAD_STATE
5478 * -AUBO_INVL_ARGUMENT
5479 * -AUBO_BAD_STATE
5480 *
5481 * @throws arcs::common_interface::AuboException
5482 * \endchinese
5483 * \english
5484 * Set the tick count of the integrated encoder.
5485 *
5486 * @param tick Tick count
5487 *
5488 * @return Returns 0 on success; error code on failure.
5489 * AUBO_NO_ACCESS
5490 * AUBO_BUSY
5491 * AUBO_BAD_STATE
5492 * -AUBO_INVL_ARGUMENT
5493 * -AUBO_BAD_STATE
5494 *
5495 * @throws arcs::common_interface::AuboException
5496 * \endenglish
5497 */
5498 int setEncTickCount(int tick);
5499
5500 /**
5501 * @ingroup IoControl
5502 * \chinese
5503 * 获取编码器的解码方式
5504 *
5505 * @return 成功返回0;失败返回错误码
5506 * AUBO_NO_ACCESS
5507 * AUBO_BUSY
5508 * AUBO_BAD_STATE
5509 * -AUBO_BAD_STATE
5510 *
5511 * @throws arcs::common_interface::AuboException
5512 *
5513 * @par JSON-RPC请求示例
5514 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
5515 *
5516 * @par JSON-RPC响应示例
5517 * {"id":1,"jsonrpc":"2.0","result":0}
5518 *
5519 * \endchinese
5520 * \english
5521 * Get the decoder type of the encoder.
5522 *
5523 * @return Returns 0 on success; error code on failure.
5524 * AUBO_NO_ACCESS
5525 * AUBO_BUSY
5526 * AUBO_BAD_STATE
5527 * -AUBO_BAD_STATE
5528 *
5529 * @throws arcs::common_interface::AuboException
5530 *
5531 * @par JSON-RPC request example
5532 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
5533 *
5534 * @par JSON-RPC response example
5535 * {"id":1,"jsonrpc":"2.0","result":0}
5536 *
5537 * \endenglish
5538 */
5540
5541 /**
5542 * @ingroup IoControl
5543 * \chinese
5544 * 获取脉冲数
5545 *
5546 * @return 成功返回0;失败返回错误码
5547 * AUBO_NO_ACCESS
5548 * AUBO_BUSY
5549 * AUBO_BAD_STATE
5550 * -AUBO_BAD_STATE
5551 *
5552 * @throws arcs::common_interface::AuboException
5553 *
5554 * @par JSON-RPC请求示例
5555 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
5556 *
5557 * @par JSON-RPC响应示例
5558 * {"id":1,"jsonrpc":"2.0","result":0}
5559 *
5560 * \endchinese
5561 * \english
5562 * Get the tick count
5563 *
5564 * @return Returns 0 on success; error code on failure.
5565 * AUBO_NO_ACCESS
5566 * AUBO_BUSY
5567 * AUBO_BAD_STATE
5568 * -AUBO_BAD_STATE
5569 *
5570 * @throws arcs::common_interface::AuboException
5571 *
5572 * @par JSON-RPC request example
5573 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
5574 *
5575 * @par JSON-RPC response example
5576 * {"id":1,"jsonrpc":"2.0","result":0}
5577 *
5578 * \endenglish
5579 */
5581
5582 /**
5583 * @ingroup IoControl
5584 * \chinese
5585 * 防止在计数超出范围时计数错误
5586 *
5587 * @param delta_count
5588 *
5589 * @return 成功返回0;失败返回错误码
5590 * AUBO_NO_ACCESS
5591 * AUBO_BUSY
5592 * AUBO_BAD_STATE
5593 * -AUBO_BAD_STATE
5594 *
5595 * @throws arcs::common_interface::AuboException
5596 * \endchinese
5597 * \english
5598 * Prevent counting errors when the count exceeds the range
5599 *
5600 * @param delta_count
5601 *
5602 * @return Returns 0 on success; error code on failure.
5603 * AUBO_NO_ACCESS
5604 * AUBO_BUSY
5605 * AUBO_BAD_STATE
5606 * -AUBO_BAD_STATE
5607 *
5608 * @throws arcs::common_interface::AuboException
5609 * \endenglish
5610 */
5611 int unwindEncDeltaTickCount(int delta_count);
5612
5613 /**
5614 * @ingroup IoControl
5615 * \chinese
5616 * 获取末端按钮状态
5617 *
5618 * @return 按下返回true; 否则返回false
5619 *
5620 * @throws arcs::common_interface::AuboException
5621 *
5622 * @par Python函数原型
5623 * getToolButtonStatus() -> bool
5624 *
5625 * @par Lua函数原型
5626 * getToolButtonStatus() -> boolean
5627 *
5628 * @par Lua示例
5629 * status = getToolButtonStatus()
5630 *
5631 * @par JSON-RPC请求示例
5632 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
5633 *
5634 * @par JSON-RPC响应示例
5635 * {"id":1,"jsonrpc":"2.0","result":false}
5636 *
5637 * \endchinese
5638 * \english
5639 * Get the status of the tool button.
5640 *
5641 * @return Returns true if pressed; otherwise false.
5642 *
5643 * @throws arcs::common_interface::AuboException
5644 *
5645 * @par Python function prototype
5646 * getToolButtonStatus() -> bool
5647 *
5648 * @par Lua function prototype
5649 * getToolButtonStatus() -> boolean
5650 *
5651 * @par Lua example
5652 * status = getToolButtonStatus()
5653 *
5654 * @par JSON-RPC request example
5655 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
5656 *
5657 * @par JSON-RPC response example
5658 * {"id":1,"jsonrpc":"2.0","result":false}
5659 *
5660 * \endenglish
5661 */
5663
5664 /**
5665 * @ingroup IoControl
5666 * \chinese
5667 * 获取手柄按键状态
5668 *
5669 * @note 获取手柄按键状态
5670 *
5671 * @return 所有的手柄按键输入值\n
5672 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
5673 * 后16位就是所有的输入状态值,
5674 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
5675 * 1表示高电平状态,0表示低电平状态
5676 *
5677 * @throws arcs::common_interface::AuboException
5678 *
5679 * @par Python函数原型
5680 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
5681 *
5682 * @par Lua函数原型
5683 * getHandleIoStatus() -> number
5684 *
5685 * @par Lua示例
5686 * num = getHandleIoStatus()
5687 *
5688 * @par JSON-RPC请求示例
5689 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
5690 *
5691 * @par JSON-RPC响应示例
5692 * {"id":1,"jsonrpc":"2.0","result":0}
5693 *
5694 * \endchinese
5695 * \english
5696 * Get the status of handle buttons.
5697 *
5698 * @note Get the status of handle buttons.
5699 *
5700 * @return All handle button input values.\n
5701 * For example, if the return value is 2863267846, its binary representation
5702 * is 10101010101010100000000000000110. The lower 16 bits represent the
5703 * status of all input pins, the least significant bit indicates the input
5704 * status of pin 0, the second least significant bit indicates pin 1, and so
5705 * on.\n 1 means high level, 0 means low level.
5706 *
5707 * @throws arcs::common_interface::AuboException
5708 *
5709 * @par Python function prototype
5710 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
5711 *
5712 * @par Lua function prototype
5713 * getHandleIoStatus() -> number
5714 *
5715 * @par Lua example
5716 * num = getHandleIoStatus()
5717 *
5718 * @par JSON-RPC request example
5719 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
5720 *
5721 * @par JSON-RPC response example
5722 * {"id":1,"jsonrpc":"2.0","result":0}
5723 *
5724 * \endenglish
5725 */
5727
5728 /**
5729 * @ingroup IoControl
5730 * \chinese
5731 * 获取手柄类型
5732 *
5733 * @return type
5734 *
5735 * @throws arcs::common_interface::AuboException
5736 *
5737 * @par Python函数原型
5738 * getHandleType() -> int
5739 *
5740 * @par Lua函数原型
5741 * getHandleType() -> int
5742 *
5743 * @par Lua示例
5744 * int_num = getHandleType()
5745 *
5746 * @par JSON-RPC请求示例
5747 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
5748 *
5749 * @par JSON-RPC响应示例
5750 * {"id":1,"jsonrpc":"2.0","result":0}
5751 *
5752 * \endchinese
5753 * \english
5754 * Get the handle type.
5755 *
5756 * @return type
5757 *
5758 * @throws arcs::common_interface::AuboException
5759 *
5760 * @par Python function prototype
5761 * getHandleType() -> int
5762 *
5763 * @par Lua function prototype
5764 * getHandleType() -> int
5765 *
5766 * @par Lua example
5767 * int_num = getHandleType()
5768 *
5769 * @par JSON-RPC request example
5770 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
5771 *
5772 * @par JSON-RPC response example
5773 * {"id":1,"jsonrpc":"2.0","result":0}
5774 *
5775 * \endenglish
5776 */
5778
5779protected:
5780 void *d_;
5781};
5782using IoControlPtr = std::shared_ptr<IoControl>;
5783} // namespace common_interface
5784} // namespace arcs
5785
5786#endif // AUBO_SDK_IO_CONTROL_INTERFACE_H
int setAnalogOutputAfterEStopDefault()
设置所有模拟输出急停后状态为默认(不做改变)
int setToolAnalogOutputDomain(int index, int domain)
设置工具端模拟输出范围
uint32_t getGroupInput(const std::string &name)
获取组数字输入值
int addGroupOutput(const std::string &name, int io_type, const std::vector< int > &indexes)
注册组数字输出
StandardInputAction getStandardDigitalInputAction(int index)
获取标准数字输入触发动作
int setToolAnalogInputDomain(int index, int domain)
设置工具端模拟输入的范围
int setStandardDigitalOutputAfterEStop(int index, bool value)
设置标准数字输出急停后的输出值
bool getToolDigitalOutput(int index)
获取工具端数字输出值
int getConfigurableDigitalOutputNum()
获取可配置数字输出数量
int setConfigurableDigitalOutput(int index, bool value)
设置可配置数字输出值
StandardOutputRunState getToolAnalogOutputRunstate(int index)
获取工具端模拟输出状态选择
uint32_t getStaticLinkOutputs()
获取所有的联动输出值
uint32_t getStandardDigitalOutputs()
获取所有的标准数字输出值
StandardInputAction getConfigurableDigitalInputAction(int index)
获取可配置数字输入的输入触发动作
uint32_t getGroupOutput(const std::string &name)
获取组数字输出值
int deleteGroupInput(const std::string &name)
删除组数字输入
int setStandardDigitalInputAction(int index, StandardInputAction action)
设置标准数字输入触发动作
int setConfigurableDigitalInputAction(int index, StandardInputAction action)
设置可配置数字输入触发动作
int getConfigurableDigitalInputNum()
获取可配置数字输入数量
int getStandardAnalogOutputNum()
获取标准模拟输出数量
int getToolDigitalOutputNum()
获取工具端数字IO数量(包括数字输入和数字输出)
double getStandardAnalogOutput(int index)
获取标准模拟输出值
uint32_t getHandleIoStatus()
获取手柄按键状态
int setDigitalOutputRunstateDefault()
设置所有数字输出状态选择为无
StandardOutputRunState getStandardDigitalOutputRunstate(int index)
获取标准数字输出状态选择
int getStaticLinkOutputNum()
获取联动输出数量
int getEncTickCount()
获取脉冲数
int getStandardDigitalOutputNum()
获取标准数字输出数量
int setConfigurableDigitalOutputAfterEStop(int index, bool value)
设置可配置数字输出急停后的输出值
int getHandleType()
获取手柄类型
int setToolAnalogOutputRunstate(int index, StandardOutputRunState runstate)
设置工具端模拟输出状态选择
int setGroupOutput(const std::string &name, uint32_t value)
设置组数字输出值
int getToolAnalogInputNum()
获取工具端模拟输入数量
int setStandardDigitalOutput(int index, bool value)
设置标准数字输出值
bool getStandardDigitalOutput(int index)
获取标准数字输出值
bool getToolDigitalInput(int index)
获取工具端数字输入值
StandardInputAction getToolDigitalInputAction(int index)
获取工具端数字输入触发动作
StandardOutputRunState getDigitalOutputRunstate(int io_type, int index)
获取指定类型数字输出状态选择。
int addCrossConnection(const std::string &id, int operator_type, int result_type, int result_pin, const std::vector< int > &actor_types, const std::vector< int > &actor_pins, const std::vector< bool > &actor_inverts)
新增一条 DIO Cross Connection 逻辑规则。
double getToolAnalogOutput(int index)
获取工具端模拟输出值
int getToolVoltageOutputDomain()
获取工具端电源电压值(单位V)
int getStandardDigitalInputNum()
获取标准数字输入数量
int getToolDigitalInputNum()
获取工具端数字IO数量(包括数字输入和数字输出)
bool getStandardDigitalInput(int index)
获取标准数字输入值
int setToolVoltageOutputDomain(int domain)
设置工具端电源电压值(单位V)
int setToolDigitalOutputPulse(int index, bool value, double duration)
设置工具端数字输出脉冲
uint32_t getToolDigitalOutputs()
获取所有的工具端数字输出值
int setToolDigitalInputAction(int index, StandardInputAction action)
设置工具数字输入触发动作
int setConfigurableDigitalOutputPulse(int index, bool value, double duration)
设置可配置数字输出脉冲
int setStandardAnalogOutputDomain(int index, int domain)
设置标准模拟输出的范围
double getToolAnalogInput(int index)
获取工具端模拟输入值
int setEncDecoderType(int type, int range_id)
设置集成编码器的解码方式
StandardOutputRunState getConfigurableDigitalOutputRunstate(int index)
获取可配置数字输出状态选择
int getStandardAnalogInputDomain(int index)
获取标准模式输入范围
int setToolIoInput(int index, bool input)
设置指定的工具端数字IO为输入或输出
int getToolAnalogOutputNum()
获取工具端模拟输出数量
StandardOutputRunState getStandardAnalogOutputRunstate(int index)
获取标准模拟输出状态选择
uint32_t getConfigurableDigitalInputs()
获取所有的可配置数字输入值
bool getToolButtonStatus()
获取末端按钮状态
int getStandardAnalogOutputDomain(int index)
获取标准模拟输出范围
int addGroupInput(const std::string &name, int io_type, const std::vector< int > &indexes)
注册组数字输入
int setStandardAnalogInputDomain(int index, int domain)
设置标准模拟输入的范围
int setDigitalInputActionDefault()
设置所有数字输入动作为无触发
uint32_t getToolDigitalInputs()
获取所有的工具端数字输入值
int clearCrossConnections()
清空所有 DIO Cross Connection 逻辑规则。
int getStandardAnalogInputNum()
获取标准模拟输入数量
int setToolAnalogOutput(int index, double value)
设置工具端模拟输出值
int setConfigurableDigitalOutputRunstate(int index, StandardOutputRunState runstate)
设置可配置数字输出状态选择
int setDigitalOutputRunstate(int io_type, int index, StandardOutputRunState runstate, const std::string &object_name, double threshold)
设置数字输出的状态选择,并支持基于路点/平面/障碍物的条件阈值判断。
int deleteGroupOutput(const std::string &name)
删除组数字输出
int setEncTickCount(int tick)
设置集成编码器脉冲数
bool hasEncoderSensor()
机器人是否配置了编码器 集成编码器的编号为 0
int getToolAnalogOutputDomain(int index)
获取工具端模拟输出范围
int getToolAnalogInputDomain(int index)
获取工具端模式输入范围
bool isToolIoInput(int index)
判断指定的工具端数字IO类型是否为输入
int setStandardDigitalOutputRunstate(int index, StandardOutputRunState runstate)
设置标准数字输出状态选择
int setToolDigitalOutputRunstate(int index, StandardOutputRunState runstate)
设置工具端数字输出状态选择
int setToolDigitalOutput(int index, bool value)
设置工具端数字输出值
int setStandardAnalogOutputRunstate(int index, StandardOutputRunState runstate)
设置标准模拟输出状态选择
StandardOutputRunState getToolDigitalOutputRunstate(int index)
获取工具端数字输出状态选择
uint32_t getConfigurableDigitalOutputs()
获取所有的可配值数字输出值
int unwindEncDeltaTickCount(int delta_count)
防止在计数超出范围时计数错误
int setDigitalOutputAfterEStopDefault()
设置所有数字输出急停后状态为默认(不做改变)
uint32_t getStandardDigitalInputs()
获取所有的标准数字输入值
double getStandardAnalogInput(int index)
获取标准模拟输入值
int getEncDecoderType()
获取编码器的解码方式
int setStandardAnalogOutput(int index, double value)
设置标准模拟输出值
uint32_t getStaticLinkInputs()
获取所有的联动输入值
bool getConfigurableDigitalInput(int index)
获取可配置数字输入值
int getStaticLinkInputNum()
获取联动输入数量
int setStandardAnalogOutputAfterEStop(int index, double value)
设置标准模拟输出急停后的输出值
bool getConfigurableDigitalOutput(int index)
获取可配值数字输出值
int deleteCrossConnection(const std::string &id)
删除一条 DIO Cross Connection 逻辑规则。
int setStandardDigitalOutputPulse(int index, bool value, double duration)
设置数字输出脉冲
StandardInputAction
The StandardInputAction enum
StandardOutputRunState
标准输出运行状态
std::shared_ptr< IoControl > IoControlPtr
数据类型的定义