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