AUBO SDK  0.26.0
io_control.h
Go to the documentation of this file.
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 * @param index
3041 * @param value
3042 * @param duration
3043 *
3044 * @return 成功返回0;失败返回错误码
3045 * AUBO_REQUEST_IGNORE
3046 * AUBO_BUSY
3047 * AUBO_BAD_STATE
3048 * -AUBO_INVL_ARGUMENT
3049 * -AUBO_BAD_STATE
3050 *
3051 * @throws arcs::common_interface::AuboException
3052 *
3053 * @par Python函数原型
3054 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3055 * arg1: bool, arg2: float) -> int
3056 *
3057 * @par Lua函数原型
3058 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
3059 * number) -> nil
3060 *
3061 * @par Lua示例
3062 * setStandardDigitalOutputPulse(0,true,2.5)
3063 *
3064 * @par JSON-RPC请求示例
3065 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
3066 *
3067 * @par JSON-RPC响应示例
3068 * {"id":1,"jsonrpc":"2.0","result":0}
3069 *
3070 * \endchinese
3071 * \english
3072 * Set digital output pulse.
3073 *
3074 * @param index
3075 * @param value
3076 * @param duration
3077 *
3078 * @return Returns 0 on success; error code on failure.
3079 * AUBO_REQUEST_IGNORE
3080 * AUBO_BUSY
3081 * AUBO_BAD_STATE
3082 * -AUBO_INVL_ARGUMENT
3083 * -AUBO_BAD_STATE
3084 *
3085 * @throws arcs::common_interface::AuboException
3086 *
3087 * @par Python function prototype
3088 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3089 * arg1: bool, arg2: float) -> int
3090 *
3091 * @par Lua function prototype
3092 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
3093 * number) -> nil
3094 *
3095 * @par Lua example
3096 * setStandardDigitalOutputPulse(0,true,2.5)
3097 *
3098 * @par JSON-RPC request example
3099 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
3100 *
3101 * @par JSON-RPC response example
3102 * {"id":1,"jsonrpc":"2.0","result":0}
3103 *
3104 * \endenglish
3105 */
3106 int setStandardDigitalOutputPulse(int index, bool value, double duration);
3107
3108 /**
3109 * @ingroup IoControl
3110 * \chinese
3111 * 设置工具端数字输出值
3112 *
3113 * @param index: 表示IO口的管脚,管脚编号从0开始。
3114 * 例如,0表示第一个管脚。
3115 * @param value: 数字输出值
3116 *
3117 * @return 成功返回0;失败返回错误码
3118 * AUBO_REQUEST_IGNORE
3119 * AUBO_BUSY
3120 * AUBO_BAD_STATE
3121 * -AUBO_INVL_ARGUMENT
3122 * -AUBO_BAD_STATE
3123 *
3124 * @throws arcs::common_interface::AuboException
3125 *
3126 * @par Python函数原型
3127 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
3128 * -> int
3129 *
3130 * @par Lua函数原型
3131 * setToolDigitalOutput(index: number, value: boolean) -> nil
3132 *
3133 * @par Lua示例
3134 * setToolDigitalOutput(0,true)
3135 *
3136 * @par JSON-RPC请求示例
3137 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
3138 *
3139 * @par JSON-RPC响应示例
3140 * {"id":1,"jsonrpc":"2.0","result":0}
3141 *
3142 * \endchinese
3143 * \english
3144 * Set the value of tool digital output.
3145 *
3146 * @param index: Indicates the IO pin, starting from 0.
3147 * For example, 0 means the first pin.
3148 * @param value: Output value.
3149 *
3150 * @return Returns 0 on success; error code on failure.
3151 * AUBO_REQUEST_IGNORE
3152 * AUBO_BUSY
3153 * AUBO_BAD_STATE
3154 * -AUBO_INVL_ARGUMENT
3155 * -AUBO_BAD_STATE
3156 *
3157 * @throws arcs::common_interface::AuboException
3158 *
3159 * @par Python function prototype
3160 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
3161 * -> int
3162 *
3163 * @par Lua function prototype
3164 * setToolDigitalOutput(index: number, value: boolean) -> nil
3165 *
3166 * @par Lua example
3167 * setToolDigitalOutput(0,true)
3168 *
3169 * @par JSON-RPC request example
3170 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
3171 *
3172 * @par JSON-RPC response example
3173 * {"id":1,"jsonrpc":"2.0","result":0}
3174 *
3175 * \endenglish
3176 */
3177 int setToolDigitalOutput(int index, bool value);
3178
3179 /**
3180 * @ingroup IoControl
3181 * \chinese
3182 * 设置工具端数字输出脉冲
3183 *
3184 * @param index
3185 * @param value
3186 * @param duration
3187 *
3188 * @return 成功返回0;失败返回错误码
3189 * AUBO_REQUEST_IGNORE
3190 * AUBO_BUSY
3191 * AUBO_BAD_STATE
3192 * -AUBO_INVL_ARGUMENT
3193 * -AUBO_BAD_STATE
3194 *
3195 * @throws arcs::common_interface::AuboException
3196 *
3197 * @par Python函数原型
3198 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3199 * bool, arg2: float) -> int
3200 *
3201 * @par Lua函数原型
3202 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
3203 * number) -> nil
3204 *
3205 * @par Lua示例
3206 * setToolDigitalOutputPulse(0,true,2)
3207 *
3208 * @par JSON-RPC请求示例
3209 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
3210 *
3211 * @par JSON-RPC响应示例
3212 * {"id":1,"jsonrpc":"2.0","result":0}
3213 *
3214 * \endchinese
3215 * \english
3216 * Set tool digital output pulse.
3217 *
3218 * @param index
3219 * @param value
3220 * @param duration
3221 *
3222 * @return Returns 0 on success; error code on failure.
3223 * AUBO_REQUEST_IGNORE
3224 * AUBO_BUSY
3225 * AUBO_BAD_STATE
3226 * -AUBO_INVL_ARGUMENT
3227 * -AUBO_BAD_STATE
3228 *
3229 * @throws arcs::common_interface::AuboException
3230 *
3231 * @par Python function prototype
3232 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3233 * bool, arg2: float) -> int
3234 *
3235 * @par Lua function prototype
3236 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
3237 * number) -> nil
3238 *
3239 * @par Lua example
3240 * setToolDigitalOutputPulse(0,true,2)
3241 *
3242 * @par JSON-RPC request example
3243 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
3244 *
3245 * @par JSON-RPC response example
3246 * {"id":1,"jsonrpc":"2.0","result":0}
3247 *
3248 * \endenglish
3249 */
3250 int setToolDigitalOutputPulse(int index, bool value, double duration);
3251
3252 /**
3253 * @ingroup IoControl
3254 * \chinese
3255 * 设置可配置数字输出值
3256 *
3257 * @param index: 表示IO口的管脚,管脚编号从0开始。
3258 * 例如,0表示第一个管脚。
3259 * @param value: 数字输出值
3260 *
3261 * @return 成功返回0;失败返回错误码
3262 * AUBO_REQUEST_IGNORE
3263 * AUBO_BUSY
3264 * AUBO_BAD_STATE
3265 * -AUBO_INVL_ARGUMENT
3266 * -AUBO_BAD_STATE
3267 *
3268 * @throws arcs::common_interface::AuboException
3269 *
3270 * @par Python函数原型
3271 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3272 * bool) -> int
3273 *
3274 * @par Lua函数原型
3275 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
3276 *
3277 * @par Lua示例
3278 * setConfigurableDigitalOutput(0,true)
3279 *
3280 * @par JSON-RPC请求示例
3281 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
3282 *
3283 * @par JSON-RPC响应示例
3284 * {"id":1,"jsonrpc":"2.0","result":0}
3285 *
3286 * \endchinese
3287 * \english
3288 * Set the value of configurable digital output.
3289 *
3290 * @param index: Indicates the IO pin, starting from 0.
3291 * For example, 0 means the first pin.
3292 * @param value: Output value.
3293 *
3294 * @return Returns 0 on success; error code on failure.
3295 * AUBO_REQUEST_IGNORE
3296 * AUBO_BUSY
3297 * AUBO_BAD_STATE
3298 * -AUBO_INVL_ARGUMENT
3299 * -AUBO_BAD_STATE
3300 *
3301 * @throws arcs::common_interface::AuboException
3302 *
3303 * @par Python function prototype
3304 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3305 * bool) -> int
3306 *
3307 * @par Lua function prototype
3308 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
3309 *
3310 * @par Lua example
3311 * setConfigurableDigitalOutput(0,true)
3312 *
3313 * @par JSON-RPC request example
3314 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
3315 *
3316 * @par JSON-RPC response example
3317 * {"id":1,"jsonrpc":"2.0","result":0}
3318 *
3319 * \endenglish
3320 */
3321 int setConfigurableDigitalOutput(int index, bool value);
3322
3323 /**
3324 * @ingroup IoControl
3325 * \chinese
3326 * 设置可配置数字输出脉冲
3327 *
3328 * @param index
3329 * @param value
3330 * @param duration
3331 *
3332 * @return 成功返回0;失败返回错误码
3333 * AUBO_REQUEST_IGNORE
3334 * AUBO_BUSY
3335 * AUBO_BAD_STATE
3336 * -AUBO_INVL_ARGUMENT
3337 * -AUBO_BAD_STATE
3338 *
3339 * @throws arcs::common_interface::AuboException
3340 *
3341 * @par Python函数原型
3342 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3343 * arg1: bool, arg2: float) -> int
3344 *
3345 * @par Lua函数原型
3346 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
3347 * duration: number) -> nil
3348 *
3349 * @par Lua示例
3350 * setConfigurableDigitalOutputPulse(0,true,2.3)
3351 *
3352 * @par JSON-RPC请求示例
3353 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
3354 *
3355 * @par JSON-RPC响应示例
3356 * {"id":1,"jsonrpc":"2.0","result":0}
3357 *
3358 * \endchinese
3359 * \english
3360 * Set configurable digital output pulse.
3361 *
3362 * @param index
3363 * @param value
3364 * @param duration
3365 *
3366 * @return Returns 0 on success; error code on failure.
3367 * AUBO_REQUEST_IGNORE
3368 * AUBO_BUSY
3369 * AUBO_BAD_STATE
3370 * -AUBO_INVL_ARGUMENT
3371 * -AUBO_BAD_STATE
3372 *
3373 * @throws arcs::common_interface::AuboException
3374 *
3375 * @par Python function prototype
3376 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
3377 * arg1: bool, arg2: float) -> int
3378 *
3379 * @par Lua function prototype
3380 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
3381 * duration: number) -> nil
3382 *
3383 * @par Lua example
3384 * setConfigurableDigitalOutputPulse(0,true,2.3)
3385 *
3386 * @par JSON-RPC request example
3387 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
3388 *
3389 * @par JSON-RPC response example
3390 * {"id":1,"jsonrpc":"2.0","result":0}
3391 *
3392 * \endenglish
3393 */
3394 int setConfigurableDigitalOutputPulse(int index, bool value,
3395 double duration);
3396
3397 /**
3398 * @ingroup IoControl
3399 * \chinese
3400 * 设置标准模拟输出值
3401 *
3402 * @param index: 表示IO口的管脚,管脚编号从0开始。
3403 * 例如,0表示第一个管脚。
3404 * @param value: 模拟输出值
3405 *
3406 * @return 成功返回0;失败返回错误码
3407 * AUBO_REQUEST_IGNORE
3408 * AUBO_BUSY
3409 * AUBO_BAD_STATE
3410 * -AUBO_INVL_ARGUMENT
3411 * -AUBO_BAD_STATE
3412 *
3413 * @throws arcs::common_interface::AuboException
3414 *
3415 * @par Python函数原型
3416 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3417 * float) -> int
3418 *
3419 * @par Lua函数原型
3420 * setStandardAnalogOutput(index: number, value: number) -> nil
3421 *
3422 * @par Lua示例
3423 * setStandardAnalogOutput(0,5.4)
3424 *
3425 * \endchinese
3426 * \english
3427 * Set the value of standard analog output.
3428 *
3429 * @param index: Indicates the IO pin, starting from 0.
3430 * For example, 0 means the first pin.
3431 * @param value: Output value.
3432 *
3433 * @return Returns 0 on success; error code on failure.
3434 * AUBO_REQUEST_IGNORE
3435 * AUBO_BUSY
3436 * AUBO_BAD_STATE
3437 * -AUBO_INVL_ARGUMENT
3438 * -AUBO_BAD_STATE
3439 *
3440 * @throws arcs::common_interface::AuboException
3441 *
3442 * @par Python function prototype
3443 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
3444 * float) -> int
3445 *
3446 * @par Lua function prototype
3447 * setStandardAnalogOutput(index: number, value: number) -> nil
3448 *
3449 * @par Lua example
3450 * setStandardAnalogOutput(0,5.4)
3451 *
3452 * \endenglish
3453 */
3454 int setStandardAnalogOutput(int index, double value);
3455
3456 /**
3457 * @ingroup IoControl
3458 * \chinese
3459 * 设置工具端模拟输出值
3460 *
3461 * @param index: 表示IO口的管脚,管脚编号从0开始。
3462 * 例如,0表示第一个管脚。
3463 * @param value: 模拟输出
3464 *
3465 * @return 成功返回0;失败返回错误码
3466 * AUBO_REQUEST_IGNORE
3467 * AUBO_BUSY
3468 * AUBO_BAD_STATE
3469 * -AUBO_INVL_ARGUMENT
3470 * -AUBO_BAD_STATE
3471 *
3472 * @throws arcs::common_interface::AuboException
3473 *
3474 * @par Python函数原型
3475 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
3476 * -> int
3477 *
3478 * @par Lua函数原型
3479 * setToolAnalogOutput(index: number, value: number) -> nil
3480 *
3481 * @par Lua示例
3482 * setToolAnalogOutput(0,1.2)
3483 *
3484 * @par JSON-RPC请求示例
3485 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
3486 *
3487 * @par JSON-RPC响应示例
3488 * {"id":1,"jsonrpc":"2.0","result":13}
3489 *
3490 * \endchinese
3491 * \english
3492 * Set the value of tool analog output.
3493 *
3494 * @param index: Indicates the IO pin, starting from 0.
3495 * For example, 0 means the first pin.
3496 * @param value: Output value.
3497 *
3498 * @return Returns 0 on success; error code on failure.
3499 * AUBO_REQUEST_IGNORE
3500 * AUBO_BUSY
3501 * AUBO_BAD_STATE
3502 * -AUBO_INVL_ARGUMENT
3503 * -AUBO_BAD_STATE
3504 *
3505 * @throws arcs::common_interface::AuboException
3506 *
3507 * @par Python function prototype
3508 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
3509 * -> int
3510 *
3511 * @par Lua function prototype
3512 * setToolAnalogOutput(index: number, value: number) -> nil
3513 *
3514 * @par Lua example
3515 * setToolAnalogOutput(0,1.2)
3516 *
3517 * @par JSON-RPC request example
3518 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
3519 *
3520 * @par JSON-RPC response example
3521 * {"id":1,"jsonrpc":"2.0","result":13}
3522 *
3523 * \endenglish
3524 */
3525 int setToolAnalogOutput(int index, double value);
3526
3527 /**
3528 * @ingroup IoControl
3529 * \chinese
3530 * 获取标准数字输入值
3531 *
3532 * @param index: 表示IO口的管脚,管脚编号从0开始。
3533 * 例如,0表示第一个管脚。
3534 *
3535 * @return 高电平返回true; 低电平返回false
3536 *
3537 * @throws arcs::common_interface::AuboException
3538 *
3539 * @par Python函数原型
3540 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3541 *
3542 * @par Lua函数原型
3543 * getStandardDigitalInput(index: number) -> boolean
3544 *
3545 * @par Lua示例
3546 * status = getStandardDigitalInput(0)
3547 *
3548 * @par JSON-RPC请求示例
3549 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
3550 *
3551 * @par JSON-RPC响应示例
3552 * {"id":1,"jsonrpc":"2.0","result":false}
3553 *
3554 * \endchinese
3555 * \english
3556 * Get the value of a standard digital input.
3557 *
3558 * @param index: Indicates the IO pin, starting from 0.
3559 * For example, 0 means the first pin.
3560 *
3561 * @return Returns true for high level; false for low level.
3562 *
3563 * @throws arcs::common_interface::AuboException
3564 *
3565 * @par Python function prototype
3566 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3567 *
3568 * @par Lua function prototype
3569 * getStandardDigitalInput(index: number) -> boolean
3570 *
3571 * @par Lua example
3572 * status = getStandardDigitalInput(0)
3573 *
3574 * @par JSON-RPC request example
3575 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
3576 *
3577 * @par JSON-RPC response example
3578 * {"id":1,"jsonrpc":"2.0","result":false}
3579 *
3580 * \endenglish
3581 */
3583
3584 /**
3585 * @ingroup IoControl
3586 * \chinese
3587 * 获取所有的标准数字输入值
3588 *
3589 * @return 所有的标准数字输入值 \n
3590 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3591 * 后16位就是所有的标准数字输入状态值,
3592 * 最后一位表示DI00的输入状态值,倒数第二位表示DI01的输入状态值,以此类推。\n
3593 * 1表示高电平状态,0表示低电平状态
3594 *
3595 * @throws arcs::common_interface::AuboException
3596 *
3597 * @par Python函数原型
3598 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3599 *
3600 * @par Lua函数原型
3601 * getStandardDigitalInputs() -> number
3602 *
3603 * @par Lua示例
3604 * num = getStandardDigitalInputs()
3605 *
3606 * @par JSON-RPC请求示例
3607 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
3608 *
3609 * @par JSON-RPC响应示例
3610 * {"id":1,"jsonrpc":"2.0","result":0}
3611 *
3612 * \endchinese
3613 * \english
3614 * Get all standard digital input values.
3615 *
3616 * @return All standard digital input values.\n
3617 * For example, if the return value is 2863267846, its binary representation
3618 * is 10101010101010100000000000000110. The lower 16 bits represent the
3619 * status of all standard digital inputs, the least significant bit
3620 * indicates the input status of DI00, the second least significant bit
3621 * indicates DI01, and so on.\n 1 means high level, 0 means low level.
3622 *
3623 * @throws arcs::common_interface::AuboException
3624 *
3625 * @par Python function prototype
3626 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3627 *
3628 * @par Lua function prototype
3629 * getStandardDigitalInputs() -> number
3630 *
3631 * @par Lua example
3632 * num = getStandardDigitalInputs()
3633 *
3634 * @par JSON-RPC request example
3635 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
3636 *
3637 * @par JSON-RPC response example
3638 * {"id":1,"jsonrpc":"2.0","result":0}
3639 *
3640 * \endenglish
3641 */
3643
3644 /**
3645 * @ingroup IoControl
3646 * \chinese
3647 * 获取工具端数字输入值
3648 *
3649 * @param index: 表示IO口的管脚,管脚编号从0开始。
3650 * 例如,0表示第一个管脚。
3651 *
3652 * @return 高电平返回true; 低电平返回false
3653 *
3654 * @throws arcs::common_interface::AuboException
3655 *
3656 * @par Python函数原型
3657 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3658 *
3659 * @par Lua函数原型
3660 * getToolDigitalInput(index: number) -> boolean
3661 *
3662 * @par Lua示例
3663 * status = getToolDigitalInput(0)
3664 *
3665 * @par JSON-RPC请求示例
3666 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
3667 *
3668 * @par JSON-RPC响应示例
3669 * {"id":1,"jsonrpc":"2.0","result":false}
3670 *
3671 * \endchinese
3672 * \english
3673 * Get the value of tool digital input.
3674 *
3675 * @param index: Indicates the IO pin, starting from 0.
3676 * For example, 0 means the first pin.
3677 *
3678 * @return Returns true for high level; false for low level.
3679 *
3680 * @throws arcs::common_interface::AuboException
3681 *
3682 * @par Python function prototype
3683 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3684 *
3685 * @par Lua function prototype
3686 * getToolDigitalInput(index: number) -> boolean
3687 *
3688 * @par Lua example
3689 * status = getToolDigitalInput(0)
3690 *
3691 * @par JSON-RPC request example
3692 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
3693 *
3694 * @par JSON-RPC response example
3695 * {"id":1,"jsonrpc":"2.0","result":false}
3696 *
3697 * \endenglish
3698 */
3699 bool getToolDigitalInput(int index);
3700
3701 /**
3702 * @ingroup IoControl
3703 * \chinese
3704 * 获取所有的工具端数字输入值
3705 *
3706 * @return 返回所有的工具端数字输入值
3707 *
3708 * @throws arcs::common_interface::AuboException
3709 *
3710 * @par Python函数原型
3711 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3712 *
3713 * @par Lua函数原型
3714 * getToolDigitalInputs() -> number
3715 *
3716 * @par Lua示例
3717 * num = getToolDigitalInputs()
3718 *
3719 * @par JSON-RPC请求示例
3720 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
3721 *
3722 * @par JSON-RPC响应示例
3723 * {"id":1,"jsonrpc":"2.0","result":0}
3724 *
3725 * \endchinese
3726 * \english
3727 * Get all tool digital input values.
3728 *
3729 * @return Returns all tool digital input values.
3730 *
3731 * @throws arcs::common_interface::AuboException
3732 *
3733 * @par Python function prototype
3734 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3735 *
3736 * @par Lua function prototype
3737 * getToolDigitalInputs() -> number
3738 *
3739 * @par Lua example
3740 * num = getToolDigitalInputs()
3741 *
3742 * @par JSON-RPC request example
3743 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
3744 *
3745 * @par JSON-RPC response example
3746 * {"id":1,"jsonrpc":"2.0","result":0}
3747 *
3748 * \endenglish
3749 */
3751
3752 /**
3753 * @ingroup IoControl
3754 * \chinese
3755 * 获取可配置数字输入值
3756 *
3757 * @note 可用于获取安全IO的输入值
3758 *
3759 * @param index: 表示IO口的管脚,管脚编号从0开始。
3760 * 例如,0表示第一个管脚。
3761 *
3762 * @return 高电平返回true; 低电平返回false
3763 *
3764 * @throws arcs::common_interface::AuboException
3765 *
3766 * @par Python函数原型
3767 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) ->
3768 * bool
3769 *
3770 * @par Lua函数原型
3771 * getConfigurableDigitalInput(index: number) -> boolean
3772 *
3773 * @par Lua示例
3774 * status = getConfigurableDigitalInput(0)
3775 *
3776 * @par JSON-RPC请求示例
3777 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
3778 *
3779 * @par JSON-RPC响应示例
3780 * {"id":1,"jsonrpc":"2.0","result":false}
3781 *
3782 * \endchinese
3783 * \english
3784 * Get the value of configurable digital input.
3785 *
3786 * @note Can be used to get the value of safety IO.
3787 *
3788 * @param index: Indicates the IO pin, starting from 0.
3789 * For example, 0 means the first pin.
3790 *
3791 * @return Returns true for high level; false for low level.
3792 *
3793 * @throws arcs::common_interface::AuboException
3794 *
3795 * @par Python function prototype
3796 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) ->
3797 * bool
3798 *
3799 * @par Lua function prototype
3800 * getConfigurableDigitalInput(index: number) -> boolean
3801 *
3802 * @par Lua example
3803 * status = getConfigurableDigitalInput(0)
3804 *
3805 * @par JSON-RPC request example
3806 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
3807 *
3808 * @par JSON-RPC response example
3809 * {"id":1,"jsonrpc":"2.0","result":false}
3810 *
3811 * \endenglish
3812 */
3814
3815 /**
3816 * @ingroup IoControl
3817 * \chinese
3818 * 获取所有的可配置数字输入值
3819 *
3820 * @note 可用于获取安全IO的输入值
3821 *
3822 * @return 所有的可配置数字输入值\n
3823 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3824 * 后16位就是所有的输入状态值,
3825 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
3826 * 1表示高电平状态,0表示低电平状态
3827 *
3828 * @throws arcs::common_interface::AuboException
3829 *
3830 * @par Python函数原型
3831 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3832 *
3833 * @par Lua函数原型
3834 * getConfigurableDigitalInputs() -> number
3835 *
3836 * @par Lua示例
3837 * num = getConfigurableDigitalInputs()
3838 *
3839 * @par JSON-RPC请求示例
3840 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
3841 *
3842 * @par JSON-RPC响应示例
3843 * {"id":1,"jsonrpc":"2.0","result":0}
3844 *
3845 * \endchinese
3846 * \english
3847 * Get all configurable digital input values.
3848 *
3849 * @note Can be used to get the value of safety IO.
3850 *
3851 * @return All configurable digital input values.\n
3852 * For example, if the return value is 2863267846, its binary representation
3853 * is 10101010101010100000000000000110. The lower 16 bits represent the
3854 * status of all input pins, the least significant bit indicates the input
3855 * status of pin 0, the second least significant bit indicates pin 1, and so
3856 * on.\n 1 means high level, 0 means low level.
3857 *
3858 * @throws arcs::common_interface::AuboException
3859 *
3860 * @par Python function prototype
3861 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3862 *
3863 * @par Lua function prototype
3864 * getConfigurableDigitalInputs() -> number
3865 *
3866 * @par Lua example
3867 * num = getConfigurableDigitalInputs()
3868 *
3869 * @par JSON-RPC request example
3870 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
3871 *
3872 * @par JSON-RPC response example
3873 * {"id":1,"jsonrpc":"2.0","result":0}
3874 *
3875 * \endenglish
3876 */
3878
3879 /**
3880 * @ingroup IoControl
3881 * \chinese
3882 * 获取标准数字输出值
3883 *
3884 * @param index: 表示IO口的管脚,管脚编号从0开始。
3885 * 例如,0表示第一个管脚。
3886 *
3887 * @return 高电平返回true; 低电平返回false
3888 *
3889 * @throws arcs::common_interface::AuboException
3890 *
3891 * @par Python函数原型
3892 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3893 *
3894 * @par Lua函数原型
3895 * getStandardDigitalOutput(index: number) -> boolean
3896 *
3897 * @par Lua示例
3898 * status = getStandardDigitalOutput(0)
3899 *
3900 * @par JSON-RPC请求示例
3901 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
3902 *
3903 * @par JSON-RPC响应示例
3904 * {"id":1,"jsonrpc":"2.0","result":true}
3905 *
3906 * \endchinese
3907 * \english
3908 * Get the value of a standard digital output.
3909 *
3910 * @param index: Indicates the IO pin, starting from 0.
3911 * For example, 0 means the first pin.
3912 *
3913 * @return Returns true for high level; false for low level.
3914 *
3915 * @throws arcs::common_interface::AuboException
3916 *
3917 * @par Python function prototype
3918 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3919 *
3920 * @par Lua function prototype
3921 * getStandardDigitalOutput(index: number) -> boolean
3922 *
3923 * @par Lua example
3924 * status = getStandardDigitalOutput(0)
3925 *
3926 * @par JSON-RPC request example
3927 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
3928 *
3929 * @par JSON-RPC response example
3930 * {"id":1,"jsonrpc":"2.0","result":true}
3931 *
3932 * \endenglish
3933 */
3935
3936 /**
3937 * @ingroup IoControl
3938 * \chinese
3939 * 获取所有的标准数字输出值
3940 *
3941 * @return 所有的标准数字输出值 \n
3942 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3943 * 后16位就是所有的标准数字输出状态值,
3944 * 最后一位表示DI00的输出状态值,倒数第二位表示DI01的输出状态值,以此类推。\n
3945 * 1表示高电平状态,0表示低电平状态.
3946 *
3947 * @throws arcs::common_interface::AuboException
3948 *
3949 * @par Python函数原型
3950 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3951 *
3952 * @par Lua函数原型
3953 * getStandardDigitalOutputs() -> number
3954 *
3955 * @par Lua示例
3956 * num = getStandardDigitalOutputs()
3957 *
3958 * @par JSON-RPC请求示例
3959 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
3960 *
3961 * @par JSON-RPC响应示例
3962 * {"id":1,"jsonrpc":"2.0","result":69}
3963 *
3964 * \endchinese
3965 * \english
3966 * Get all standard digital output values.
3967 *
3968 * @return All standard digital output values.\n
3969 * For example, if the return value is 2863267846, its binary representation
3970 * is 10101010101010100000000000000110. The lower 16 bits represent the
3971 * status of all standard digital outputs, the least significant bit
3972 * indicates the output status of DO00, the second least significant bit
3973 * indicates DO01, and so on.\n 1 means high level, 0 means low level.
3974 *
3975 * @throws arcs::common_interface::AuboException
3976 *
3977 * @par Python function prototype
3978 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3979 *
3980 * @par Lua function prototype
3981 * getStandardDigitalOutputs() -> number
3982 *
3983 * @par Lua example
3984 * num = getStandardDigitalOutputs()
3985 *
3986 * @par JSON-RPC request example
3987 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
3988 *
3989 * @par JSON-RPC response example
3990 * {"id":1,"jsonrpc":"2.0","result":69}
3991 *
3992 * \endenglish
3993 */
3995
3996 /**
3997 * @ingroup IoControl
3998 * \chinese
3999 * 获取工具端数字输出值
4000 *
4001 * @param index: 表示IO口的管脚,管脚编号从0开始。
4002 * 例如,0表示第一个管脚。
4003 *
4004 * @return 高电平返回true; 低电平返回false
4005 *
4006 * @throws arcs::common_interface::AuboException
4007 *
4008 * @par Python函数原型
4009 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4010 *
4011 * @par Lua函数原型
4012 * getToolDigitalOutput(index: number) -> boolean
4013 *
4014 * @par Lua示例
4015 * status = getToolDigitalOutput(0)
4016 *
4017 * @par JSON-RPC请求示例
4018 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
4019 *
4020 * @par JSON-RPC响应示例
4021 * {"id":1,"jsonrpc":"2.0","result":false}
4022 *
4023 * \endchinese
4024 * \english
4025 * Get the value of tool digital output.
4026 *
4027 * @param index: Indicates the IO pin, starting from 0.
4028 * For example, 0 means the first pin.
4029 *
4030 * @return Returns true for high level; false for low level.
4031 *
4032 * @throws arcs::common_interface::AuboException
4033 *
4034 * @par Python function prototype
4035 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
4036 *
4037 * @par Lua function prototype
4038 * getToolDigitalOutput(index: number) -> boolean
4039 *
4040 * @par Lua example
4041 * status = getToolDigitalOutput(0)
4042 *
4043 * @par JSON-RPC request example
4044 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
4045 *
4046 * @par JSON-RPC response example
4047 * {"id":1,"jsonrpc":"2.0","result":false}
4048 *
4049 * \endenglish
4050 */
4051 bool getToolDigitalOutput(int index);
4052
4053 /**
4054 * @ingroup IoControl
4055 * \chinese
4056 * 获取所有的工具端数字输出值
4057 *
4058 * @return 所有的工具端数字输出值
4059 *
4060 * @throws arcs::common_interface::AuboException
4061 *
4062 * @par Python函数原型
4063 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4064 *
4065 * @par Lua函数原型
4066 * getToolDigitalOutputs() -> number
4067 *
4068 * @par Lua示例
4069 * num = getToolDigitalOutputs()
4070 *
4071 * @par JSON-RPC请求示例
4072 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
4073 *
4074 * @par JSON-RPC响应示例
4075 * {"id":1,"jsonrpc":"2.0","result":9}
4076 *
4077 * \endchinese
4078 * \english
4079 * Get all tool digital output values.
4080 *
4081 * @return All tool digital output values.
4082 *
4083 * @throws arcs::common_interface::AuboException
4084 *
4085 * @par Python function prototype
4086 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4087 *
4088 * @par Lua function prototype
4089 * getToolDigitalOutputs() -> number
4090 *
4091 * @par Lua example
4092 * num = getToolDigitalOutputs()
4093 *
4094 * @par JSON-RPC request example
4095 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
4096 *
4097 * @par JSON-RPC response example
4098 * {"id":1,"jsonrpc":"2.0","result":9}
4099 *
4100 * \endenglish
4101 */
4103
4104 /**
4105 * @ingroup IoControl
4106 * \chinese
4107 * 获取可配值数字输出值
4108 *
4109 * @note 可用于获取安全IO的输出值
4110 *
4111 * @param index: 表示IO口的管脚,管脚编号从0开始。
4112 * 例如,0表示第一个管脚。
4113 *
4114 * @return 高电平返回true; 低电平返回false
4115 *
4116 * @throws arcs::common_interface::AuboException
4117 *
4118 * @par Python函数原型
4119 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
4120 * bool
4121 *
4122 * @par Lua函数原型
4123 * getConfigurableDigitalOutput(index: number) -> boolean
4124 *
4125 * @par Lua示例
4126 * status = getConfigurableDigitalOutput(0)
4127 *
4128 * @par JSON-RPC请求示例
4129 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
4130 *
4131 * @par JSON-RPC响应示例
4132 * {"id":1,"jsonrpc":"2.0","result":true}
4133 *
4134 * \endchinese
4135 * \english
4136 * Get the value of configurable digital output.
4137 *
4138 * @note Can be used to get the value of safety IO.
4139 *
4140 * @param index: Indicates the IO pin, starting from 0.
4141 * For example, 0 means the first pin.
4142 *
4143 * @return Returns true for high level; false for low level.
4144 *
4145 * @throws arcs::common_interface::AuboException
4146 *
4147 * @par Python function prototype
4148 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
4149 * bool
4150 *
4151 * @par Lua function prototype
4152 * getConfigurableDigitalOutput(index: number) -> boolean
4153 *
4154 * @par Lua example
4155 * status = getConfigurableDigitalOutput(0)
4156 *
4157 * @par JSON-RPC request example
4158 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
4159 *
4160 * @par JSON-RPC response example
4161 * {"id":1,"jsonrpc":"2.0","result":true}
4162 *
4163 * \endenglish
4164 */
4166
4167 /**
4168 * @ingroup IoControl
4169 * \chinese
4170 * 获取所有的可配值数字输出值
4171 *
4172 * @note 可用于获取安全IO的输出值
4173 *
4174 * @return 所有的可配值数字输出\n
4175 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4176 * 后16位就是所有的输出值,
4177 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
4178 * 1表示高电平状态,0表示低电平状态.
4179 *
4180 * @throws arcs::common_interface::AuboException
4181 *
4182 * @par Python函数原型
4183 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4184 *
4185 * @par Lua函数原型
4186 * getConfigurableDigitalOutputs() -> number
4187 *
4188 * @par Lua示例
4189 * num = getConfigurableDigitalOutputs()
4190 *
4191 * @par JSON-RPC请求示例
4192 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
4193 *
4194 * @par JSON-RPC响应示例
4195 * {"id":1,"jsonrpc":"2.0","result":1}
4196 *
4197 * \endchinese
4198 * \english
4199 * Get all configurable digital output values.
4200 *
4201 * @note Can be used to get the value of safety IO.
4202 *
4203 * @return All configurable digital output values.\n
4204 * For example, if the return value is 2863267846, its binary representation
4205 * is 10101010101010100000000000000110. The lower 16 bits represent the
4206 * status of all output pins, the least significant bit indicates the output
4207 * status of pin 0, the second least significant bit indicates pin 1, and so
4208 * on.\n 1 means high level, 0 means low level.
4209 *
4210 * @throws arcs::common_interface::AuboException
4211 *
4212 * @par Python function prototype
4213 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
4214 *
4215 * @par Lua function prototype
4216 * getConfigurableDigitalOutputs() -> number
4217 *
4218 * @par Lua example
4219 * num = getConfigurableDigitalOutputs()
4220 *
4221 * @par JSON-RPC request example
4222 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
4223 *
4224 * @par JSON-RPC response example
4225 * {"id":1,"jsonrpc":"2.0","result":1}
4226 *
4227 * \endenglish
4228 */
4230
4231 /**
4232 * @ingroup IoControl
4233 * \chinese
4234 * 获取标准模拟输入值
4235 *
4236 * @param index: 表示IO口的管脚,管脚编号从0开始。
4237 * 例如,0表示第一个管脚。
4238 *
4239 * @return 标准模拟输入值
4240 *
4241 * @throws arcs::common_interface::AuboException
4242 *
4243 * @par Python函数原型
4244 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4245 *
4246 * @par Lua函数原型
4247 * getStandardAnalogInput(index: number) -> number
4248 *
4249 * @par Lua示例
4250 * getStandardAnalogInput(0)
4251 *
4252 * @par JSON-RPC请求示例
4253 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
4254 *
4255 * @par JSON-RPC响应示例
4256 * {"id":1,"jsonrpc":"2.0","result":0.0}
4257 *
4258 * \endchinese
4259 * \english
4260 * Get the value of standard analog input.
4261 *
4262 * @param index: Indicates the IO pin, starting from 0.
4263 * For example, 0 means the first pin.
4264 *
4265 * @return Standard analog input value.
4266 *
4267 * @throws arcs::common_interface::AuboException
4268 *
4269 * @par Python function prototype
4270 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4271 *
4272 * @par Lua function prototype
4273 * getStandardAnalogInput(index: number) -> number
4274 *
4275 * @par Lua example
4276 * getStandardAnalogInput(0)
4277 *
4278 * @par JSON-RPC request example
4279 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
4280 *
4281 * @par JSON-RPC response example
4282 * {"id":1,"jsonrpc":"2.0","result":0.0}
4283 *
4284 * \endenglish
4285 */
4286 double getStandardAnalogInput(int index);
4287
4288 /**
4289 * @ingroup IoControl
4290 * \chinese
4291 * 获取工具端模拟输入值
4292 *
4293 * @param index: 表示IO口的管脚,管脚编号从0开始。
4294 * 例如,0表示第一个管脚。
4295 *
4296 * @return 工具端模拟输入值
4297 *
4298 * @throws arcs::common_interface::AuboException
4299 *
4300 * @par Python函数原型
4301 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4302 *
4303 * @par Lua函数原型
4304 * getToolAnalogInput(index: number) -> number
4305 *
4306 * @par Lua示例
4307 * num = getToolAnalogInput(0)
4308 *
4309 * @par JSON-RPC请求示例
4310 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
4311 *
4312 * @par JSON-RPC响应示例
4313 * {"id":1,"jsonrpc":"2.0","result":0.0}
4314 *
4315 * \endchinese
4316 * \english
4317 * Get the value of tool analog input.
4318 *
4319 * @param index: Indicates the IO pin, starting from 0.
4320 * For example, 0 means the first pin.
4321 *
4322 * @return Tool analog input value.
4323 *
4324 * @throws arcs::common_interface::AuboException
4325 *
4326 * @par Python function prototype
4327 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4328 *
4329 * @par Lua function prototype
4330 * getToolAnalogInput(index: number) -> number
4331 *
4332 * @par Lua example
4333 * num = getToolAnalogInput(0)
4334 *
4335 * @par JSON-RPC request example
4336 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
4337 *
4338 * @par JSON-RPC response example
4339 * {"id":1,"jsonrpc":"2.0","result":0.0}
4340 *
4341 * \endenglish
4342 */
4343 double getToolAnalogInput(int index);
4344
4345 /**
4346 * @ingroup IoControl
4347 * \chinese
4348 * 获取标准模拟输出值
4349 *
4350 * @param index: 表示IO口的管脚,管脚编号从0开始。
4351 * 例如,0表示第一个管脚。
4352 *
4353 * @return 标准模拟输出值
4354 *
4355 * @throws arcs::common_interface::AuboException
4356 *
4357 * @par Python函数原型
4358 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4359 *
4360 * @par Lua函数原型
4361 * getStandardAnalogOutput(index: number) -> number
4362 *
4363 * @par Lua示例
4364 * num = getStandardAnalogOutput(0)
4365 *
4366 * @par JSON-RPC请求示例
4367 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
4368 *
4369 * @par JSON-RPC响应示例
4370 * {"id":1,"jsonrpc":"2.0","result":0.0}
4371 *
4372 * \endchinese
4373 * \english
4374 * Get the value of standard analog output.
4375 *
4376 * @param index: Indicates the IO pin, starting from 0.
4377 * For example, 0 means the first pin.
4378 *
4379 * @return Standard analog output value.
4380 *
4381 * @throws arcs::common_interface::AuboException
4382 *
4383 * @par Python function prototype
4384 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4385 *
4386 * @par Lua function prototype
4387 * getStandardAnalogOutput(index: number) -> number
4388 *
4389 * @par Lua example
4390 * num = getStandardAnalogOutput(0)
4391 *
4392 * @par JSON-RPC request example
4393 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
4394 *
4395 * @par JSON-RPC response example
4396 * {"id":1,"jsonrpc":"2.0","result":0.0}
4397 *
4398 * \endenglish
4399 */
4400 double getStandardAnalogOutput(int index);
4401
4402 /**
4403 * @ingroup IoControl
4404 * \chinese
4405 * 获取工具端模拟输出值
4406 *
4407 * @param index: 表示IO口的管脚,管脚编号从0开始。
4408 * 例如,0表示第一个管脚。
4409 *
4410 * @return 工具端模拟输出值
4411 *
4412 * @throws arcs::common_interface::AuboException
4413 *
4414 * @par Python函数原型
4415 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4416 *
4417 * @par Lua函数原型
4418 * getToolAnalogOutput(index: number) -> number
4419 *
4420 * @par Lua示例
4421 * num = getToolAnalogOutput(0)
4422 *
4423 * @par JSON-RPC请求示例
4424 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
4425 *
4426 * @par JSON-RPC响应示例
4427 * {"id":1,"jsonrpc":"2.0","result":0.0}
4428 *
4429 * \endchinese
4430 * \english
4431 * Get the value of tool analog output.
4432 *
4433 * @param index: Indicates the IO pin, starting from 0.
4434 * For example, 0 means the first pin.
4435 *
4436 * @return Tool analog output value.
4437 *
4438 * @throws arcs::common_interface::AuboException
4439 *
4440 * @par Python function prototype
4441 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
4442 *
4443 * @par Lua function prototype
4444 * getToolAnalogOutput(index: number) -> number
4445 *
4446 * @par Lua example
4447 * num = getToolAnalogOutput(0)
4448 *
4449 * @par JSON-RPC request example
4450 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
4451 *
4452 * @par JSON-RPC response example
4453 * {"id":1,"jsonrpc":"2.0","result":0.0}
4454 *
4455 * \endenglish
4456 */
4457 double getToolAnalogOutput(int index);
4458
4459 /**
4460 * @ingroup IoControl
4461 * \chinese
4462 * 获取联动输入数量
4463 *
4464 * @return 联动输入数量
4465 *
4466 * @throws arcs::common_interface::AuboException
4467 *
4468 * @par Python函数原型
4469 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
4470 *
4471 * @par Lua函数原型
4472 * getStaticLinkInputNum() -> number
4473 *
4474 * @par Lua示例
4475 * num = getStaticLinkInputNum()
4476 *
4477 * @par JSON-RPC请求示例
4478 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
4479 *
4480 * @par JSON-RPC响应示例
4481 * {"id":1,"jsonrpc":"2.0","result":8}
4482 *
4483 * \endchinese
4484 * \english
4485 * Get the number of static link inputs.
4486 *
4487 * @return Number of static link inputs.
4488 *
4489 * @throws arcs::common_interface::AuboException
4490 *
4491 * @par Python function prototype
4492 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
4493 *
4494 * @par Lua function prototype
4495 * getStaticLinkInputNum() -> number
4496 *
4497 * @par Lua example
4498 * num = getStaticLinkInputNum()
4499 *
4500 * @par JSON-RPC request example
4501 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
4502 *
4503 * @par JSON-RPC response example
4504 * {"id":1,"jsonrpc":"2.0","result":8}
4505 *
4506 * \endenglish
4507 */
4509
4510 /**
4511 * @ingroup IoControl
4512 * \chinese
4513 * 获取联动输出数量
4514 *
4515 * @return 联动输出数量
4516 *
4517 * @throws arcs::common_interface::AuboException
4518 *
4519 * @par Python函数原型
4520 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
4521 *
4522 * @par Lua函数原型
4523 * getStaticLinkOutputNum() -> number
4524 *
4525 * @par Lua示例
4526 * num = getStaticLinkOutputNum()
4527 *
4528 * @par JSON-RPC请求示例
4529 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
4530 *
4531 * @par JSON-RPC响应示例
4532 * {"id":1,"jsonrpc":"2.0","result":0}
4533 *
4534 * \endchinese
4535 * \english
4536 * Get the number of static link outputs.
4537 *
4538 * @return Number of static link outputs.
4539 *
4540 * @throws arcs::common_interface::AuboException
4541 *
4542 * @par Python function prototype
4543 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
4544 *
4545 * @par Lua function prototype
4546 * getStaticLinkOutputNum() -> number
4547 *
4548 * @par Lua example
4549 * num = getStaticLinkOutputNum()
4550 *
4551 * @par JSON-RPC request example
4552 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
4553 *
4554 * @par JSON-RPC response example
4555 * {"id":1,"jsonrpc":"2.0","result":0}
4556 *
4557 * \endenglish
4558 */
4560
4561 /**
4562 * @ingroup IoControl
4563 * \chinese
4564 * 获取所有的联动输入值
4565 *
4566 * @return 所有的联动输入值\n
4567 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4568 * 后16位就是所有的联动输入状态值,
4569 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
4570 * 1表示高电平状态,0表示低电平状态.
4571 *
4572 * @throws arcs::common_interface::AuboException
4573 *
4574 * @par Python函数原型
4575 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
4576 *
4577 * @par Lua函数原型
4578 * getStaticLinkInputs() -> number
4579 *
4580 * @par Lua示例
4581 * num = getStaticLinkInputs()
4582 *
4583 * @par JSON-RPC请求示例
4584 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
4585 *
4586 * @par JSON-RPC响应示例
4587 * {"id":1,"jsonrpc":"2.0","result":0}
4588 *
4589 * \endchinese
4590 * \english
4591 * Get all static link input values.
4592 *
4593 * @return All static link input values.\n
4594 * For example, if the return value is 2863267846, its binary representation
4595 * is 10101010101010100000000000000110. The lower 16 bits represent the
4596 * status of all static link inputs, the least significant bit indicates the
4597 * input status of pin 0, the second least significant bit indicates pin 1,
4598 * and so on.\n 1 means high level, 0 means low level.
4599 *
4600 * @throws arcs::common_interface::AuboException
4601 *
4602 * @par Python function prototype
4603 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
4604 *
4605 * @par Lua function prototype
4606 * getStaticLinkInputs() -> number
4607 *
4608 * @par Lua example
4609 * num = getStaticLinkInputs()
4610 *
4611 * @par JSON-RPC request example
4612 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
4613 *
4614 * @par JSON-RPC response example
4615 * {"id":1,"jsonrpc":"2.0","result":0}
4616 *
4617 * \endenglish
4618 */
4620
4621 /**
4622 * @ingroup IoControl
4623 * \chinese
4624 * 获取所有的联动输出值
4625 *
4626 * @return 返回所有的联动输出值 \n
4627 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4628 * 后16位就是所有的联动输出状态值,
4629 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
4630 * 1表示高电平状态,0表示低电平状态.
4631 *
4632 * @throws arcs::common_interface::AuboException
4633 *
4634 * @par Python函数原型
4635 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
4636 *
4637 * @par Lua函数原型
4638 * getStaticLinkOutputs() -> number
4639 *
4640 * @par Lua示例
4641 * num = getStaticLinkOutputs()
4642 *
4643 * @par JSON-RPC请求示例
4644 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
4645 *
4646 * @par JSON-RPC响应示例
4647 * {"id":1,"jsonrpc":"2.0","result":0}
4648 *
4649 * \endchinese
4650 * \english
4651 * Get all static link output values.
4652 *
4653 * @return Returns all static link output values.\n
4654 * For example, if the return value is 2863267846, its binary representation
4655 * is 10101010101010100000000000000110. The lower 16 bits represent the
4656 * status of all static link outputs, the least significant bit indicates
4657 * the output status of pin 0, the second least significant bit indicates
4658 * pin 1, and so on.\n 1 means high level, 0 means low level.
4659 *
4660 * @throws arcs::common_interface::AuboException
4661 *
4662 * @par Python function prototype
4663 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
4664 *
4665 * @par Lua function prototype
4666 * getStaticLinkOutputs() -> number
4667 *
4668 * @par Lua example
4669 * num = getStaticLinkOutputs()
4670 *
4671 * @par JSON-RPC request example
4672 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
4673 *
4674 * @par JSON-RPC response example
4675 * {"id":1,"jsonrpc":"2.0","result":0}
4676 *
4677 * \endenglish
4678 */
4680
4681 /**
4682 * @ingroup IoControl
4683 * \chinese
4684 * 机器人是否配置了编码器
4685 * 集成编码器的编号为 0
4686 *
4687 * @return 机器人配置编码器返回 true, 反之返回 false
4688 *
4689 * @throws arcs::common_interface::AuboException
4690 *
4691 * @par JSON-RPC请求示例
4692 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
4693 *
4694 * @par JSON-RPC响应示例
4695 * {"id":1,"jsonrpc":"2.0","result":true}
4696 *
4697 * \endchinese
4698 * \english
4699 * Whether the robot is equipped with an encoder.
4700 * The integrated encoder number is 0.
4701 *
4702 * @return Returns true if the robot is equipped with an encoder, otherwise
4703 * false.
4704 *
4705 * @throws arcs::common_interface::AuboException
4706 *
4707 * @par JSON-RPC request example
4708 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
4709 *
4710 * @par JSON-RPC response example
4711 * {"id":1,"jsonrpc":"2.0","result":true}
4712 *
4713 * \endenglish
4714 */
4716 /**
4717 * @ingroup IoControl
4718 * \chinese
4719 * 设置集成编码器的解码方式
4720 *
4721 * @param type
4722 * 0-禁用编码器
4723 * 1-AB正交
4724 * 2-AB正交+Z
4725 * 3-AB差分正交
4726 * 4-AB差分正交+Z差分
4727 *
4728 * @param range_id
4729 * 0 表示32位有符号编码器,范围为 [-2147483648, 2147483647]
4730 * 1 表示8位无符号编码器,范围为 [0, 255]
4731 * 2 表示16位无符号编码器,范围为 [0, 65535]
4732 * 3 表示24位无符号编码器,范围为 [0, 16777215]
4733 * 4 表示32位无符号编码器,范围为 [0, 4294967295]
4734 *
4735 * @return 成功返回0;失败返回错误码
4736 * AUBO_NO_ACCESS
4737 * AUBO_BUSY
4738 * AUBO_BAD_STATE
4739 * -AUBO_INVL_ARGUMENT
4740 * -AUBO_BAD_STATE
4741 *
4742 * @throws arcs::common_interface::AuboException
4743 * \endchinese
4744 * \english
4745 * Set the decoding method of the integrated encoder.
4746 *
4747 * @param type
4748 * 0 - Disable encoder
4749 * 1 - AB quadrature
4750 * 2 - AB quadrature + Z
4751 * 3 - AB differential quadrature
4752 * 4 - AB differential quadrature + Z differential
4753 *
4754 * @param range_id
4755 * 0 is a 32-bit signed encoder, range [-2147483648, 2147483647]
4756 * 1 is an 8-bit unsigned encoder, range [0, 255]
4757 * 2 is a 16-bit unsigned encoder, range [0, 65535]
4758 * 3 is a 24-bit unsigned encoder, range [0, 16777215]
4759 * 4 is a 32-bit unsigned encoder, range [0, 4294967295]
4760 *
4761 * @return Returns 0 on success; error code on failure.
4762 * AUBO_NO_ACCESS
4763 * AUBO_BUSY
4764 * AUBO_BAD_STATE
4765 * -AUBO_INVL_ARGUMENT
4766 * -AUBO_BAD_STATE
4767 *
4768 * @throws arcs::common_interface::AuboException
4769 * \endenglish
4770 */
4771 int setEncDecoderType(int type, int range_id);
4772
4773 /**
4774 * @ingroup IoControl
4775 * \chinese
4776 * 设置集成编码器脉冲数
4777 *
4778 * @param tick 脉冲数
4779 *
4780 * @return 成功返回0;失败返回错误码
4781 * AUBO_NO_ACCESS
4782 * AUBO_BUSY
4783 * AUBO_BAD_STATE
4784 * -AUBO_INVL_ARGUMENT
4785 * -AUBO_BAD_STATE
4786 *
4787 * @throws arcs::common_interface::AuboException
4788 * \endchinese
4789 * \english
4790 * Set the tick count of the integrated encoder.
4791 *
4792 * @param tick Tick count
4793 *
4794 * @return Returns 0 on success; error code on failure.
4795 * AUBO_NO_ACCESS
4796 * AUBO_BUSY
4797 * AUBO_BAD_STATE
4798 * -AUBO_INVL_ARGUMENT
4799 * -AUBO_BAD_STATE
4800 *
4801 * @throws arcs::common_interface::AuboException
4802 * \endenglish
4803 */
4804 int setEncTickCount(int tick);
4805
4806 /**
4807 * @ingroup IoControl
4808 * \chinese
4809 * 获取编码器的解码方式
4810 *
4811 * @return 成功返回0;失败返回错误码
4812 * AUBO_NO_ACCESS
4813 * AUBO_BUSY
4814 * AUBO_BAD_STATE
4815 * -AUBO_BAD_STATE
4816 *
4817 * @throws arcs::common_interface::AuboException
4818 *
4819 * @par JSON-RPC请求示例
4820 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
4821 *
4822 * @par JSON-RPC响应示例
4823 * {"id":1,"jsonrpc":"2.0","result":0}
4824 *
4825 * \endchinese
4826 * \english
4827 * Get the decoder type of the encoder.
4828 *
4829 * @return Returns 0 on success; error code on failure.
4830 * AUBO_NO_ACCESS
4831 * AUBO_BUSY
4832 * AUBO_BAD_STATE
4833 * -AUBO_BAD_STATE
4834 *
4835 * @throws arcs::common_interface::AuboException
4836 *
4837 * @par JSON-RPC request example
4838 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
4839 *
4840 * @par JSON-RPC response example
4841 * {"id":1,"jsonrpc":"2.0","result":0}
4842 *
4843 * \endenglish
4844 */
4846
4847 /**
4848 * @ingroup IoControl
4849 * \chinese
4850 * 获取脉冲数
4851 *
4852 * @return 成功返回0;失败返回错误码
4853 * AUBO_NO_ACCESS
4854 * AUBO_BUSY
4855 * AUBO_BAD_STATE
4856 * -AUBO_BAD_STATE
4857 *
4858 * @throws arcs::common_interface::AuboException
4859 *
4860 * @par JSON-RPC请求示例
4861 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
4862 *
4863 * @par JSON-RPC响应示例
4864 * {"id":1,"jsonrpc":"2.0","result":0}
4865 *
4866 * \endchinese
4867 * \english
4868 * Get the tick count
4869 *
4870 * @return Returns 0 on success; error code on failure.
4871 * AUBO_NO_ACCESS
4872 * AUBO_BUSY
4873 * AUBO_BAD_STATE
4874 * -AUBO_BAD_STATE
4875 *
4876 * @throws arcs::common_interface::AuboException
4877 *
4878 * @par JSON-RPC request example
4879 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
4880 *
4881 * @par JSON-RPC response example
4882 * {"id":1,"jsonrpc":"2.0","result":0}
4883 *
4884 * \endenglish
4885 */
4887
4888 /**
4889 * @ingroup IoControl
4890 * \chinese
4891 * 防止在计数超出范围时计数错误
4892 *
4893 * @param delta_count
4894 *
4895 * @return 成功返回0;失败返回错误码
4896 * AUBO_NO_ACCESS
4897 * AUBO_BUSY
4898 * AUBO_BAD_STATE
4899 * -AUBO_BAD_STATE
4900 *
4901 * @throws arcs::common_interface::AuboException
4902 * \endchinese
4903 * \english
4904 * Prevent counting errors when the count exceeds the range
4905 *
4906 * @param delta_count
4907 *
4908 * @return Returns 0 on success; error code on failure.
4909 * AUBO_NO_ACCESS
4910 * AUBO_BUSY
4911 * AUBO_BAD_STATE
4912 * -AUBO_BAD_STATE
4913 *
4914 * @throws arcs::common_interface::AuboException
4915 * \endenglish
4916 */
4917 int unwindEncDeltaTickCount(int delta_count);
4918
4919 /**
4920 * @ingroup IoControl
4921 * \chinese
4922 * 获取末端按钮状态
4923 *
4924 * @return 按下返回true; 否则返回false
4925 *
4926 * @throws arcs::common_interface::AuboException
4927 *
4928 * @par Python函数原型
4929 * getToolButtonStatus() -> bool
4930 *
4931 * @par Lua函数原型
4932 * getToolButtonStatus() -> boolean
4933 *
4934 * @par Lua示例
4935 * status = getToolButtonStatus()
4936 *
4937 * @par JSON-RPC请求示例
4938 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
4939 *
4940 * @par JSON-RPC响应示例
4941 * {"id":1,"jsonrpc":"2.0","result":false}
4942 *
4943 * \endchinese
4944 * \english
4945 * Get the status of the tool button.
4946 *
4947 * @return Returns true if pressed; otherwise false.
4948 *
4949 * @throws arcs::common_interface::AuboException
4950 *
4951 * @par Python function prototype
4952 * getToolButtonStatus() -> bool
4953 *
4954 * @par Lua function prototype
4955 * getToolButtonStatus() -> boolean
4956 *
4957 * @par Lua example
4958 * status = getToolButtonStatus()
4959 *
4960 * @par JSON-RPC request example
4961 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
4962 *
4963 * @par JSON-RPC response example
4964 * {"id":1,"jsonrpc":"2.0","result":false}
4965 *
4966 * \endenglish
4967 */
4969
4970 /**
4971 * @ingroup IoControl
4972 * \chinese
4973 * 获取手柄按键状态
4974 *
4975 * @note 获取手柄按键状态
4976 *
4977 * @return 所有的手柄按键输入值\n
4978 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4979 * 后16位就是所有的输入状态值,
4980 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
4981 * 1表示高电平状态,0表示低电平状态
4982 *
4983 * @throws arcs::common_interface::AuboException
4984 *
4985 * @par Python函数原型
4986 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
4987 *
4988 * @par Lua函数原型
4989 * getHandleIoStatus() -> number
4990 *
4991 * @par Lua示例
4992 * num = getHandleIoStatus()
4993 *
4994 * @par JSON-RPC请求示例
4995 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
4996 *
4997 * @par JSON-RPC响应示例
4998 * {"id":1,"jsonrpc":"2.0","result":0}
4999 *
5000 * \endchinese
5001 * \english
5002 * Get the status of handle buttons.
5003 *
5004 * @note Get the status of handle buttons.
5005 *
5006 * @return All handle button input values.\n
5007 * For example, if the return value is 2863267846, its binary representation
5008 * is 10101010101010100000000000000110. The lower 16 bits represent the
5009 * status of all input pins, the least significant bit indicates the input
5010 * status of pin 0, the second least significant bit indicates pin 1, and so
5011 * on.\n 1 means high level, 0 means low level.
5012 *
5013 * @throws arcs::common_interface::AuboException
5014 *
5015 * @par Python function prototype
5016 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
5017 *
5018 * @par Lua function prototype
5019 * getHandleIoStatus() -> number
5020 *
5021 * @par Lua example
5022 * num = getHandleIoStatus()
5023 *
5024 * @par JSON-RPC request example
5025 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
5026 *
5027 * @par JSON-RPC response example
5028 * {"id":1,"jsonrpc":"2.0","result":0}
5029 *
5030 * \endenglish
5031 */
5033
5034 /**
5035 * @ingroup IoControl
5036 * \chinese
5037 * 获取手柄类型
5038 *
5039 * @return type
5040 *
5041 * @throws arcs::common_interface::AuboException
5042 *
5043 * @par Python函数原型
5044 * getHandleType() -> int
5045 *
5046 * @par Lua函数原型
5047 * getHandleType() -> int
5048 *
5049 * @par Lua示例
5050 * int_num = getHandleType()
5051 *
5052 * @par JSON-RPC请求示例
5053 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
5054 *
5055 * @par JSON-RPC响应示例
5056 * {"id":1,"jsonrpc":"2.0","result":0}
5057 *
5058 * \endchinese
5059 * \english
5060 * Get the handle type.
5061 *
5062 * @return type
5063 *
5064 * @throws arcs::common_interface::AuboException
5065 *
5066 * @par Python function prototype
5067 * getHandleType() -> int
5068 *
5069 * @par Lua function prototype
5070 * getHandleType() -> int
5071 *
5072 * @par Lua example
5073 * int_num = getHandleType()
5074 *
5075 * @par JSON-RPC request example
5076 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
5077 *
5078 * @par JSON-RPC response example
5079 * {"id":1,"jsonrpc":"2.0","result":0}
5080 *
5081 * \endenglish
5082 */
5084
5085protected:
5086 void *d_;
5087};
5088using IoControlPtr = std::shared_ptr<IoControl>;
5089} // namespace common_interface
5090} // namespace arcs
5091
5092#endif // AUBO_SDK_IO_CONTROL_INTERFACE_H
int setAnalogOutputAfterEStopDefault()
Set all analog output states after emergency stop to default(no change)
int setToolAnalogOutputDomain(int index, int domain)
Set the range of tool analog output.
StandardInputAction getStandardDigitalInputAction(int index)
Get the trigger action for standard digital input.
int setToolAnalogInputDomain(int index, int domain)
Set the range of tool analog input.
int setStandardDigitalOutputAfterEStop(int index, bool value)
Set the value of a standard digital output after emergency stop
bool getToolDigitalOutput(int index)
Get the value of tool digital output.
int getConfigurableDigitalOutputNum()
Get the number of configurable digital outputs.
int setConfigurableDigitalOutput(int index, bool value)
Set the value of configurable digital output.
StandardOutputRunState getToolAnalogOutputRunstate(int index)
Get the runstate for tool analog output.
uint32_t getStaticLinkOutputs()
Get all static link output values.
uint32_t getStandardDigitalOutputs()
Get all standard digital output values.
StandardInputAction getConfigurableDigitalInputAction(int index)
Get the trigger action for configurable digital input.
int setStandardDigitalInputAction(int index, StandardInputAction action)
Set the trigger action for standard digital input.
int setConfigurableDigitalInputAction(int index, StandardInputAction action)
Set the trigger action for configurable digital input.
int getConfigurableDigitalInputNum()
Get the number of configurable digital inputs.
int getStandardAnalogOutputNum()
Get the number of standard analog outputs.
int getToolDigitalOutputNum()
Get the number of tool digital IOs (including digital inputs and outputs).
double getStandardAnalogOutput(int index)
Get the value of standard analog output.
uint32_t getHandleIoStatus()
Get the status of handle buttons.
int setDigitalOutputRunstateDefault()
Set all digital output runstates to None.
StandardOutputRunState getStandardDigitalOutputRunstate(int index)
Get the runstate for standard digital output.
int getStaticLinkOutputNum()
Get the number of static link outputs.
int getEncTickCount()
Get the tick count
int getStandardDigitalOutputNum()
Get the number of standard digital outputs.
int setConfigurableDigitalOutputAfterEStop(int index, bool value)
Set the value of a configurable digital output after emergency stop
int getHandleType()
Get the handle type.
int setToolAnalogOutputRunstate(int index, StandardOutputRunState runstate)
Set the runstate for tool analog output.
int getToolAnalogInputNum()
Get the number of tool analog inputs.
int setStandardDigitalOutput(int index, bool value)
Set the value of a standard digital output.
bool getStandardDigitalOutput(int index)
Get the value of a standard digital output.
bool getToolDigitalInput(int index)
Get the value of tool digital input.
StandardInputAction getToolDigitalInputAction(int index)
Get the trigger action for tool digital input.
StandardOutputRunState getDigitalOutputRunstate(int io_type, int index)
Get the current runstate of a digital output of the specified type.
double getToolAnalogOutput(int index)
Get the value of tool analog output.
int getToolVoltageOutputDomain()
Get the tool voltage output value (unit: V)
int getStandardDigitalInputNum()
Get the number of standard digital inputs.
int getToolDigitalInputNum()
Get the number of tool digital IOs (including digital inputs and outputs).
bool getStandardDigitalInput(int index)
Get the value of a standard digital input.
int setToolVoltageOutputDomain(int domain)
Set the tool voltage output value (unit: V)
int setToolDigitalOutputPulse(int index, bool value, double duration)
Set tool digital output pulse.
uint32_t getToolDigitalOutputs()
Get all tool digital output values.
int setToolDigitalInputAction(int index, StandardInputAction action)
Set the trigger action for tool digital input.
int setConfigurableDigitalOutputPulse(int index, bool value, double duration)
Set configurable digital output pulse.
int setStandardAnalogOutputDomain(int index, int domain)
Set the range of standard analog output.
double getToolAnalogInput(int index)
Get the value of tool analog input.
int setEncDecoderType(int type, int range_id)
Set the decoding method of the integrated encoder.
StandardOutputRunState getConfigurableDigitalOutputRunstate(int index)
Get the runstate for configurable digital output.
int getStandardAnalogInputDomain(int index)
Get the domain of standard analog input.
int setToolIoInput(int index, bool input)
Set the specified tool digital IO as input or output.
int getToolAnalogOutputNum()
Get the number of tool analog outputs.
StandardOutputRunState getStandardAnalogOutputRunstate(int index)
Get the runstate for standard analog output.
uint32_t getConfigurableDigitalInputs()
Get all configurable digital input values.
bool getToolButtonStatus()
Get the status of the tool button.
int getStandardAnalogOutputDomain(int index)
Get the domain of standard analog output.
int setStandardAnalogInputDomain(int index, int domain)
Set the range of standard analog input.
int setDigitalInputActionDefault()
Set all digital input actions to no trigger.
uint32_t getToolDigitalInputs()
Get all tool digital input values.
int getStandardAnalogInputNum()
Get the number of standard analog inputs.
int setToolAnalogOutput(int index, double value)
Set the value of tool analog output.
int setConfigurableDigitalOutputRunstate(int index, StandardOutputRunState runstate)
Set the runstate for configurable digital output.
int setDigitalOutputRunstate(int io_type, int index, StandardOutputRunState runstate, const std::string &object_name, double threshold)
Set digital output runstate with optional condition checking based on waypoint, plane or obstacle thr...
int setEncTickCount(int tick)
Set the tick count of the integrated encoder.
bool hasEncoderSensor()
Whether the robot is equipped with an encoder.
int getToolAnalogOutputDomain(int index)
Get the domain of tool analog output.
int getToolAnalogInputDomain(int index)
Get the domain of tool analog input.
bool isToolIoInput(int index)
Determine whether the specified tool digital IO is configured as input.
int setStandardDigitalOutputRunstate(int index, StandardOutputRunState runstate)
Set the runstate for standard digital output.
int setToolDigitalOutputRunstate(int index, StandardOutputRunState runstate)
Set the runstate for tool digital output.
int setToolDigitalOutput(int index, bool value)
Set the value of tool digital output.
int setStandardAnalogOutputRunstate(int index, StandardOutputRunState runstate)
Set the runstate for standard analog output.
StandardOutputRunState getToolDigitalOutputRunstate(int index)
Get the runstate for tool digital output.
uint32_t getConfigurableDigitalOutputs()
Get all configurable digital output values.
int unwindEncDeltaTickCount(int delta_count)
Prevent counting errors when the count exceeds the range
int setDigitalOutputAfterEStopDefault()
Set all digital output states after emergency stop to default(no change)
uint32_t getStandardDigitalInputs()
Get all standard digital input values.
double getStandardAnalogInput(int index)
Get the value of standard analog input.
int getEncDecoderType()
Get the decoder type of the encoder.
int setStandardAnalogOutput(int index, double value)
Set the value of standard analog output.
uint32_t getStaticLinkInputs()
Get all static link input values.
bool getConfigurableDigitalInput(int index)
Get the value of configurable digital input.
int getStaticLinkInputNum()
Get the number of static link inputs.
int setStandardAnalogOutputAfterEStop(int index, double value)
Set the value of standard analog output after emergency stop
bool getConfigurableDigitalOutput(int index)
Get the value of configurable digital output.
int setStandardDigitalOutputPulse(int index, bool value, double duration)
Set digital output pulse.
StandardInputAction
The StandardInputAction enum.
Definition type_def.h:645
StandardOutputRunState
Standard Output Run State.
Definition type_def.h:637
std::shared_ptr< IoControl > IoControlPtr
enum type definitions