AUBO SDK  0.25.0
载入中...
搜索中...
未找到
io_control.h
浏览该文件的文档.
1/** @file io_control.h
2 * @brief IO控制接口
3 */
4#ifndef AUBO_SDK_IO_CONTROL_INTERFACE_H
5#define AUBO_SDK_IO_CONTROL_INTERFACE_H
6
7#include <vector>
8#include <thread>
9
10#include <aubo/global_config.h>
11#include <aubo/type_def.h>
12
13namespace arcs {
14namespace common_interface {
15
16/**
17 * \chinese
18 * IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取
19 *
20 * 1. 获取各种IO的数量 \n
21 * 2. 配置IO的输入输出功能 \n
22 * 3. 可配置IO的配置 \n
23 * 4. 模拟IO的输入输出范围设置、读取
24 *
25 * 标准数字输入输出:控制柜IO面板上的标准IO \n
26 * 工具端数字输入输出:通过工具末端航插暴露的数字IO \n
27 * 可配置输入输出:可以配置为安全IO或者普通数字IO \n
28 * \endchinese
29 * \english
30 * The IoControl class provides a series of interfaces for configuring and reading the robot's standard digital and analog IO, as well as setting output states.
31 *
32 * 1. Get the number of various IOs \n
33 * 2. Configure IO input/output functions \n
34 * 3. Configuration of configurable IOs \n
35 * 4. Set and read the input/output range of analog IOs
36 *
37 * Standard digital input/output: Standard IOs on the control cabinet IO panel \n
38 * Tool digital input/output: Digital IOs exposed via the tool-end connector \n
39 * Configurable input/output: Can be configured as safety IO or general digital IO \n
40 * \endenglish
41 */
42class ARCS_ABI_EXPORT IoControl
43{
44public:
46 virtual ~IoControl();
47
48 /**
49 * \chinese
50 * 获取标准数字输入数量
51 *
52 * @return 标准数字输入数量
53 *
54 * @throws arcs::common_interface::AuboException
55 *
56 * @par Python函数原型
57 * getStandardDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
58 *
59 * @par Lua函数原型
60 * getStandardDigitalInputNum() -> number
61 *
62 * @par JSON-RPC请求示例
63 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputNum","params":[],"id":1}
64 *
65 * @par JSON-RPC响应示例
66 * {"id":1,"jsonrpc":"2.0","result":16}
67 *
68 * \endchinese
69 * \english
70 * Get the number of standard digital inputs.
71 *
72 * @return Number of standard digital inputs.
73 *
74 * @throws arcs::common_interface::AuboException
75 *
76 * @par Python function prototype
77 * getStandardDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
78 *
79 * @par Lua function prototype
80 * getStandardDigitalInputNum() -> number
81 *
82 * @par JSON-RPC request example
83 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputNum","params":[],"id":1}
84 *
85 * @par JSON-RPC response example
86 * {"id":1,"jsonrpc":"2.0","result":16}
87 *
88 * \endenglish
89 */
91
92 /**
93 * \chinese
94 * 获取工具端数字IO数量(包括数字输入和数字输出)
95 *
96 * @return 工具端数字IO数量(包括数字输入和数字输出)
97 *
98 * @throws arcs::common_interface::AuboException
99 *
100 * @par Python函数原型
101 * getToolDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
102 *
103 * @par Lua函数原型
104 * getToolDigitalInputNum() -> number
105 *
106 * @par JSON-RPC请求示例
107 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputNum","params":[],"id":1}
108 *
109 * @par JSON-RPC响应示例
110 * {"id":1,"jsonrpc":"2.0","result":4}
111 *
112 * \endchinese
113 * \english
114 * Get the number of tool digital IOs (including digital inputs and outputs).
115 *
116 * @return Number of tool digital IOs (including digital inputs and outputs).
117 *
118 * @throws arcs::common_interface::AuboException
119 *
120 * @par Python function prototype
121 * getToolDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
122 *
123 * @par Lua function prototype
124 * getToolDigitalInputNum() -> number
125 *
126 * @par JSON-RPC request example
127 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputNum","params":[],"id":1}
128 *
129 * @par JSON-RPC response example
130 * {"id":1,"jsonrpc":"2.0","result":4}
131 *
132 * \endenglish
133 */
135
136 /**
137 * \chinese
138 * 获取可配置数字输入数量
139 *
140 * @return 可配置数字输入数量
141 *
142 * @throws arcs::common_interface::AuboException
143 *
144 * @par Python函数原型
145 * getConfigurableDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
146 *
147 * @par Lua函数原型
148 * getConfigurableDigitalInputNum() -> number
149 *
150 * @par JSON-RPC请求示例
151 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputNum","params":[],"id":1}
152 *
153 * @par JSON-RPC响应示例
154 * {"id":1,"jsonrpc":"2.0","result":16}
155 *
156 * \endchinese
157 * \english
158 * Get the number of configurable digital inputs.
159 *
160 * @return Number of configurable digital inputs.
161 *
162 * @throws arcs::common_interface::AuboException
163 *
164 * @par Python function prototype
165 * getConfigurableDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
166 *
167 * @par Lua function prototype
168 * getConfigurableDigitalInputNum() -> number
169 *
170 * @par JSON-RPC request example
171 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputNum","params":[],"id":1}
172 *
173 * @par JSON-RPC response example
174 * {"id":1,"jsonrpc":"2.0","result":16}
175 *
176 * \endenglish
177 */
179
180 /**
181 * \chinese
182 * 获取标准数字输出数量
183 *
184 * @return 标准数字输出数量
185 *
186 * @throws arcs::common_interface::AuboException
187 *
188 * @par Python函数原型
189 * getStandardDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
190 *
191 * @par Lua函数原型
192 * getStandardDigitalOutputNum() -> number
193 *
194 * @par JSON-RPC请求示例
195 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputNum","params":[],"id":1}
196 *
197 * @par JSON-RPC响应示例
198 * {"id":1,"jsonrpc":"2.0","result":8}
199 *
200 * \endchinese
201 * \english
202 * Get the number of standard digital outputs.
203 *
204 * @return Number of standard digital outputs.
205 *
206 * @throws arcs::common_interface::AuboException
207 *
208 * @par Python function prototype
209 * getStandardDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
210 *
211 * @par Lua function prototype
212 * getStandardDigitalOutputNum() -> number
213 *
214 * @par JSON-RPC request example
215 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputNum","params":[],"id":1}
216 *
217 * @par JSON-RPC response example
218 * {"id":1,"jsonrpc":"2.0","result":8}
219 *
220 * \endenglish
221 */
223
224 /**
225 * \chinese
226 * 获取工具端数字IO数量(包括数字输入和数字输出)
227 *
228 * @return 工具端数字IO数量(包括数字输入和数字输出)
229 *
230 * @throws arcs::common_interface::AuboException
231 *
232 * @par Python函数原型
233 * getToolDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
234 *
235 * @par Lua函数原型
236 * getToolDigitalOutputNum() -> number
237 *
238 * @par JSON-RPC请求示例
239 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputNum","params":[],"id":1}
240 *
241 * @par JSON-RPC响应示例
242 * {"id":1,"jsonrpc":"2.0","result":4}
243 *
244 * \endchinese
245 * \english
246 * Get the number of tool digital IOs (including digital inputs and outputs).
247 *
248 * @return Number of tool digital IOs (including digital inputs and outputs).
249 *
250 * @throws arcs::common_interface::AuboException
251 *
252 * @par Python function prototype
253 * getToolDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
254 *
255 * @par Lua function prototype
256 * getToolDigitalOutputNum() -> number
257 *
258 * @par JSON-RPC request example
259 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputNum","params":[],"id":1}
260 *
261 * @par JSON-RPC response example
262 * {"id":1,"jsonrpc":"2.0","result":4}
263 *
264 * \endenglish
265 */
267
268 /**
269 * \chinese
270 * 设置指定的工具端数字IO为输入或输出
271 *
272 * 工具端数字IO比较特殊,IO可以配置为输入或者输出
273 *
274 * @param index: 表示IO口的管脚,管脚编号从0开始。
275 * 例如,0表示第一个管脚。
276 * @param input: 表示指定IO是否为输入。
277 * input 为true时,设置指定IO为输入,否则为输出
278 * @return 成功返回0;失败返回错误码
279 * AUBO_BUSY
280 * AUBO_BAD_STATE
281 * -AUBO_INVL_ARGUMENT
282 * -AUBO_BAD_STATE
283 *
284 * @throws arcs::common_interface::AuboException
285 *
286 * @par Python函数原型
287 * setToolIoInput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool) -> int
288 *
289 * @par Lua函数原型
290 * setToolIoInput(index: number, input: boolean) -> nil
291 *
292 * @par JSON-RPC请求示例
293 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolIoInput","params":[0,true],"id":1}
294 *
295 * @par JSON-RPC响应示例
296 * {"id":1,"jsonrpc":"2.0","result":0}
297 *
298 * \endchinese
299 * \english
300 * Set the specified tool digital IO as input or output.
301 *
302 * Tool digital IOs are special and can be configured as input or output.
303 *
304 * @param index: Indicates the IO pin, starting from 0.
305 * For example, 0 means the first pin.
306 * @param input: Indicates whether the specified IO is input.
307 * If input is true, set the IO as input; otherwise, set as output.
308 * @return Returns 0 on success; error code on failure.
309 * AUBO_BUSY
310 * AUBO_BAD_STATE
311 * -AUBO_INVL_ARGUMENT
312 * -AUBO_BAD_STATE
313 *
314 * @throws arcs::common_interface::AuboException
315 *
316 * @par Python function prototype
317 * setToolIoInput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool) -> int
318 *
319 * @par Lua function prototype
320 * setToolIoInput(index: number, input: boolean) -> nil
321 *
322 * @par JSON-RPC request example
323 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolIoInput","params":[0,true],"id":1}
324 *
325 * @par JSON-RPC response example
326 * {"id":1,"jsonrpc":"2.0","result":0}
327 *
328 * \endenglish
329 */
330 int setToolIoInput(int index, bool input);
331
332 /**
333 * \chinese
334 * 判断指定的工具端数字IO类型是否为输入
335 *
336 * @param index: 表示IO口的管脚,管脚编号从0开始。
337 * 例如,0表示第一个管脚。
338 * @return 当指定的IO为输入时返回 true, 否则为 false
339 *
340 * @throws arcs::common_interface::AuboException
341 *
342 * @par Python函数原型
343 * isToolIoInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
344 *
345 * @par Lua函数原型
346 * isToolIoInput(index: number) -> boolean
347 *
348 * @par JSON-RPC请求示例
349 * {"jsonrpc":"2.0","method":"rob1.IoControl.isToolIoInput","params":[0],"id":1}
350 *
351 * @par JSON-RPC响应示例
352 * {"id":1,"jsonrpc":"2.0","result":true}
353 *
354 * \endchinese
355 * \english
356 * Determine whether the specified tool digital IO is configured as input.
357 *
358 * @param index: Indicates the IO pin, starting from 0.
359 * For example, 0 means the first pin.
360 * @return Returns true if the specified IO is input, otherwise false.
361 *
362 * @throws arcs::common_interface::AuboException
363 *
364 * @par Python function prototype
365 * isToolIoInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
366 *
367 * @par Lua function prototype
368 * isToolIoInput(index: number) -> boolean
369 *
370 * @par JSON-RPC request example
371 * {"jsonrpc":"2.0","method":"rob1.IoControl.isToolIoInput","params":[0],"id":1}
372 *
373 * @par JSON-RPC response example
374 * {"id":1,"jsonrpc":"2.0","result":true}
375 *
376 * \endenglish
377 */
378 bool isToolIoInput(int index);
379
380 /**
381 * \chinese
382 * 获取可配置数字输出数量
383 *
384 * @return 可配置数字输出数量
385 *
386 * @throws arcs::common_interface::AuboException
387 *
388 * @par Python函数原型
389 * getConfigurableDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
390 *
391 * @par Lua函数原型
392 * getConfigurableDigitalOutputNum() -> number
393 *
394 * @par JSON-RPC请求示例
395 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputNum","params":[],"id":1}
396 *
397 * @par JSON-RPC响应示例
398 * {"id":1,"jsonrpc":"2.0","result":16}
399 *
400 * \endchinese
401 * \english
402 * Get the number of configurable digital outputs.
403 *
404 * @return Number of configurable digital outputs.
405 *
406 * @throws arcs::common_interface::AuboException
407 *
408 * @par Python function prototype
409 * getConfigurableDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
410 *
411 * @par Lua function prototype
412 * getConfigurableDigitalOutputNum() -> number
413 *
414 * @par JSON-RPC request example
415 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputNum","params":[],"id":1}
416 *
417 * @par JSON-RPC response example
418 * {"id":1,"jsonrpc":"2.0","result":16}
419 *
420 * \endenglish
421 */
423
424 /**
425 * \chinese
426 * 获取标准模拟输入数量
427 *
428 * @return 标准模拟输入数量
429 *
430 * @throws arcs::common_interface::AuboException
431 *
432 * @par Python函数原型
433 * getStandardAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
434 *
435 * @par Lua函数原型
436 * getStandardAnalogInputNum() -> number
437 *
438 * @par JSON-RPC请求示例
439 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputNum","params":[],"id":1}
440 *
441 * @par JSON-RPC响应示例
442 * {"id":1,"jsonrpc":"2.0","result":2}
443 *
444 * \endchinese
445 * \english
446 * Get the number of standard analog inputs.
447 *
448 * @return Number of standard analog inputs.
449 *
450 * @throws arcs::common_interface::AuboException
451 *
452 * @par Python function prototype
453 * getStandardAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
454 *
455 * @par Lua function prototype
456 * getStandardAnalogInputNum() -> number
457 *
458 * @par JSON-RPC request example
459 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputNum","params":[],"id":1}
460 *
461 * @par JSON-RPC response example
462 * {"id":1,"jsonrpc":"2.0","result":2}
463 *
464 * \endenglish
465 */
467
468 /**
469 * \chinese
470 * 获取工具端模拟输入数量
471 *
472 * @return 工具端模拟输入数量
473 *
474 * @throws arcs::common_interface::AuboException
475 *
476 * @par Python函数原型
477 * getToolAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
478 *
479 * @par Lua函数原型
480 * getToolAnalogInputNum() -> number
481 *
482 * @par JSON-RPC请求示例
483 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputNum","params":[],"id":1}
484 *
485 * @par JSON-RPC响应示例
486 * {"id":1,"jsonrpc":"2.0","result":2}
487 *
488 * \endchinese
489 * \english
490 * Get the number of tool analog inputs.
491 *
492 * @return Number of tool analog inputs.
493 *
494 * @throws arcs::common_interface::AuboException
495 *
496 * @par Python function prototype
497 * getToolAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
498 *
499 * @par Lua function prototype
500 * getToolAnalogInputNum() -> number
501 *
502 * @par JSON-RPC request example
503 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputNum","params":[],"id":1}
504 *
505 * @par JSON-RPC response example
506 * {"id":1,"jsonrpc":"2.0","result":2}
507 *
508 * \endenglish
509 */
511
512 /**
513 * \chinese
514 * 获取标准模拟输出数量
515 *
516 * @return 标准模拟输出数量
517 *
518 * @throws arcs::common_interface::AuboException
519 *
520 * @par Python函数原型
521 * getStandardAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
522 *
523 * @par Lua函数原型
524 * getStandardAnalogOutputNum() -> number
525 *
526 * @par JSON-RPC请求示例
527 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputNum","params":[],"id":1}
528 *
529 * @par JSON-RPC响应示例
530 * {"id":1,"jsonrpc":"2.0","result":2}
531 *
532 * \endchinese
533 * \english
534 * Get the number of standard analog outputs.
535 *
536 * @return Number of standard analog outputs.
537 *
538 * @throws arcs::common_interface::AuboException
539 *
540 * @par Python function prototype
541 * getStandardAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
542 *
543 * @par Lua function prototype
544 * getStandardAnalogOutputNum() -> number
545 *
546 * @par JSON-RPC request example
547 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputNum","params":[],"id":1}
548 *
549 * @par JSON-RPC response example
550 * {"id":1,"jsonrpc":"2.0","result":2}
551 *
552 * \endenglish
553 */
555
556 /**
557 * \chinese
558 * 获取工具端模拟输出数量
559 *
560 * @return 工具端模拟输出数量
561 *
562 * @throws arcs::common_interface::AuboException
563 *
564 * @par Python函数原型
565 * getToolAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
566 *
567 * @par Lua函数原型
568 * getToolAnalogOutputNum() -> number
569 *
570 * @par JSON-RPC请求示例
571 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputNum","params":[],"id":1}
572 *
573 * @par JSON-RPC响应示例
574 * {"id":1,"jsonrpc":"2.0","result":0}
575 *
576 * \endchinese
577 * \english
578 * Get the number of tool analog outputs.
579 *
580 * @return Number of tool analog outputs.
581 *
582 * @throws arcs::common_interface::AuboException
583 *
584 * @par Python function prototype
585 * getToolAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
586 *
587 * @par Lua function prototype
588 * getToolAnalogOutputNum() -> number
589 *
590 * @par JSON-RPC request example
591 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputNum","params":[],"id":1}
592 *
593 * @par JSON-RPC response example
594 * {"id":1,"jsonrpc":"2.0","result":0}
595 *
596 * \endenglish
597 */
599
600 /**
601 * \chinese
602 * 设置所有数字输入动作为无触发
603 *
604 * @note
605 * 当输入动作为无触发时,用户设置数字输入值为高电平,不会触发机器人发生动作
606 *
607 * @return 成功返回0;失败返回错误码
608 * AUBO_BUSY
609 * AUBO_BAD_STATE
610 * -AUBO_BAD_STATE
611 *
612 * @throws arcs::common_interface::AuboException
613 *
614 * @par Python函数原型
615 * setDigitalInputActionDefault(self: pyaubo_sdk.IoControl) -> int
616 *
617 * @par Lua函数原型
618 * setDigitalInputActionDefault() -> nil
619 *
620 * @par JSON-RPC请求示例
621 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalInputActionDefault","params":[],"id":1}
622 *
623 * @par JSON-RPC响应示例
624 * {"id":1,"jsonrpc":"2.0","result":0}
625 *
626 * \endchinese
627 * \english
628 * Set all digital input actions to no trigger.
629 *
630 * @note
631 * When the input action is set to no trigger, setting the digital input value to high will not trigger any robot action.
632 *
633 * @return Returns 0 on success; error code on failure.
634 * AUBO_BUSY
635 * AUBO_BAD_STATE
636 * -AUBO_BAD_STATE
637 *
638 * @throws arcs::common_interface::AuboException
639 *
640 * @par Python function prototype
641 * setDigitalInputActionDefault(self: pyaubo_sdk.IoControl) -> int
642 *
643 * @par Lua function prototype
644 * setDigitalInputActionDefault() -> nil
645 *
646 * @par JSON-RPC request example
647 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalInputActionDefault","params":[],"id":1}
648 *
649 * @par JSON-RPC response example
650 * {"id":1,"jsonrpc":"2.0","result":0}
651 *
652 * \endenglish
653 */
655
656 /**
657 * \chinese
658 * 设置标准数字输入触发动作
659 *
660 * @note
661 * 当给输入设置为无触发动作(StandardInputAction::Default)时,
662 * 用户设置数字输入值为高电平,不会触发机器人发生动作。\n
663 * 当给输入设置触发动作时,用户设置数字输入值为高电平,会触发机器人执行相应的动作。\n
664 * 例如,当设置DI0的触发动作为拖动示教(StandardInputAction::Handguide)时,
665 * 用户设置DI0为高电平,机器人会进入拖动示教。
666 * 设置DI0为低电平,机器人会退出拖动示教。
667 *
668 * @param index: 表示IO口的管脚,管脚编号从0开始。
669 * 例如,0表示第一个管脚。
670 * @param action: 触发动作
671 *
672 * @return 成功返回0;失败返回错误码
673 * AUBO_REQUEST_IGNORE
674 * AUBO_BUSY
675 * AUBO_BAD_STATE
676 * -AUBO_INVL_ARGUMENT
677 * -AUBO_BAD_STATE
678 *
679 * @throws arcs::common_interface::AuboException
680 *
681 * @par Python函数原型
682 * setStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
683 * arg1: arcs::common_interface::StandardInputAction) -> int
684 *
685 * @par Lua函数原型
686 * setStandardDigitalInputAction(index: number, action: number) -> nil
687 *
688 * @par JSON-RPC请求示例
689 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalInputAction","params":[0,"Handguide"],"id":1}
690 *
691 * @par JSON-RPC响应示例
692 * {"id":1,"jsonrpc":"2.0","result":0}
693 *
694 * \endchinese
695 * \english
696 * Set the trigger action for standard digital input.
697 *
698 * @note
699 * When the input is set to no trigger action (StandardInputAction::Default),
700 * setting the digital input value to high will not trigger any robot action.\n
701 * When a trigger action is set, setting the digital input value to high will trigger the corresponding robot action.\n
702 * For example, if DI0 is set to trigger Handguide (StandardInputAction::Handguide),
703 * setting DI0 to high will enable hand-guiding mode.
704 * Setting DI0 to low will exit hand-guiding mode.
705 *
706 * @param index: Indicates the IO pin, starting from 0.
707 * For example, 0 means the first pin.
708 * @param action: Trigger action
709 *
710 * @return Returns 0 on success; error code on failure.
711 * AUBO_REQUEST_IGNORE
712 * AUBO_BUSY
713 * AUBO_BAD_STATE
714 * -AUBO_INVL_ARGUMENT
715 * -AUBO_BAD_STATE
716 *
717 * @throws arcs::common_interface::AuboException
718 *
719 * @par Python function prototype
720 * setStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
721 * arg1: arcs::common_interface::StandardInputAction) -> int
722 *
723 * @par Lua function prototype
724 * setStandardDigitalInputAction(index: number, action: number) -> nil
725 *
726 * @par JSON-RPC request example
727 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalInputAction","params":[0,"Handguide"],"id":1}
728 *
729 * @par JSON-RPC response example
730 * {"id":1,"jsonrpc":"2.0","result":0}
731 *
732 * \endenglish
733 */
735
736 /**
737 * \chinese
738 * 设置工具数字输入触发动作
739 *
740 * @note
741 * 当给输入设置为无触发动作(StandardInputAction::Default)时,
742 * 用户设置工具数字输入值为高电平,不会触发机器人发生动作。\n
743 * 当给输入设置触发动作时,用户设置工具数字输入值为高电平,会触发机器人执行相应的动作。\n
744 * 例如,当设置TOOL_IO[0]的类型为输入而且触发动作为拖动示教(StandardInputAction::Handguide)时,
745 * 用户设置TOOL_IO[0]为高电平,机器人会进入拖动示教。
746 * 设置TOOL_IO[0]为低电平,机器人会退出拖动示教。
747 *
748 * @param index: 表示IO口的管脚,管脚编号从0开始。
749 * 例如,0表示第一个管脚。
750 * @param action: 触发动作
751 *
752 * @return 成功返回0;失败返回错误码
753 * AUBO_REQUEST_IGNORE
754 * AUBO_BUSY
755 * AUBO_BAD_STATE
756 * -AUBO_INVL_ARGUMENT
757 * -AUBO_BAD_STATE
758 *
759 * @throws arcs::common_interface::AuboException
760 *
761 * @par Python函数原型
762 * setToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int, arg1:
763 * arcs::common_interface::StandardInputAction) -> int
764 *
765 * @par Lua函数原型
766 * setToolDigitalInputAction(index: number, action: number) -> nil
767 *
768 * @par JSON-RPC请求示例
769 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalInputAction","params":[0,"Handguide"],"id":1}
770 *
771 * @par JSON-RPC响应示例
772 * {"id":1,"jsonrpc":"2.0","result":0}
773 *
774 * \endchinese
775 * \english
776 * Set the trigger action for tool digital input.
777 *
778 * @note
779 * When the input is set to no trigger action (StandardInputAction::Default),
780 * setting the tool digital input value to high will not trigger any robot action.\n
781 * When a trigger action is set, setting the tool digital input value to high will trigger the corresponding robot action.\n
782 * For example, if TOOL_IO[0] is set as input and its trigger action is Handguide (StandardInputAction::Handguide),
783 * setting TOOL_IO[0] to high will enable hand-guiding mode.
784 * Setting TOOL_IO[0] to low will exit hand-guiding mode.
785 *
786 * @param index: Indicates the IO pin, starting from 0.
787 * For example, 0 means the first pin.
788 * @param action: Trigger action
789 *
790 * @return Returns 0 on success; error code on failure.
791 * AUBO_REQUEST_IGNORE
792 * AUBO_BUSY
793 * AUBO_BAD_STATE
794 * -AUBO_INVL_ARGUMENT
795 * -AUBO_BAD_STATE
796 *
797 * @throws arcs::common_interface::AuboException
798 *
799 * @par Python function prototype
800 * setToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int, arg1:
801 * arcs::common_interface::StandardInputAction) -> int
802 *
803 * @par Lua function prototype
804 * setToolDigitalInputAction(index: number, action: number) -> nil
805 *
806 * @par JSON-RPC request example
807 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalInputAction","params":[0,"Handguide"],"id":1}
808 *
809 * @par JSON-RPC response example
810 * {"id":1,"jsonrpc":"2.0","result":0}
811 *
812 * \endenglish
813 */
815
816 /**
817 * \chinese
818 * 设置可配置数字输入触发动作
819 *
820 * @param index: 表示IO口的管脚,管脚编号从0开始。
821 * 例如,0表示第一个管脚。
822 * @param action: 触发动作
823 *
824 * @return 成功返回0;失败返回错误码
825 * AUBO_REQUEST_IGNORE
826 * AUBO_BUSY
827 * AUBO_BAD_STATE
828 * -AUBO_INVL_ARGUMENT
829 * -AUBO_BAD_STATE
830 *
831 * @throws arcs::common_interface::AuboException
832 *
833 * @note 需要将可配置输入的安全输入动作设置为
834 * SafetyInputAction::Unassigned时这个函数的配置才会生效
835 *
836 * @par Python函数原型
837 * setConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
838 * arg1: arcs::common_interface::StandardInputAction) -> int
839 *
840 * @par Lua函数原型
841 * setConfigurableDigitalInputAction(index: number, action: number) -> nil
842 *
843 * @par JSON-RPC请求示例
844 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalInputAction","params":[0,"Handguide"],"id":1}
845 *
846 * @par JSON-RPC响应示例
847 * {"id":1,"jsonrpc":"2.0","result":0}
848 *
849 * \endchinese
850 * \english
851 * Set the trigger action for configurable digital input.
852 *
853 * @param index: Indicates the IO pin, starting from 0.
854 * For example, 0 means the first pin.
855 * @param action: Trigger action
856 *
857 * @return Returns 0 on success; error code on failure.
858 * AUBO_REQUEST_IGNORE
859 * AUBO_BUSY
860 * AUBO_BAD_STATE
861 * -AUBO_INVL_ARGUMENT
862 * -AUBO_BAD_STATE
863 *
864 * @throws arcs::common_interface::AuboException
865 *
866 * @note This function takes effect only when the safety input action of the configurable input is set to SafetyInputAction::Unassigned.
867 *
868 * @par Python function prototype
869 * setConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
870 * arg1: arcs::common_interface::StandardInputAction) -> int
871 *
872 * @par Lua function prototype
873 * setConfigurableDigitalInputAction(index: number, action: number) -> nil
874 *
875 * @par JSON-RPC request example
876 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalInputAction","params":[0,"Handguide"],"id":1}
877 *
878 * @par JSON-RPC response example
879 * {"id":1,"jsonrpc":"2.0","result":0}
880 *
881 * \endenglish
882 */
884 StandardInputAction action);
885
886 /**
887 * \chinese
888 * 获取标准数字输入触发动作
889 *
890 * @param index: 表示IO口的管脚,管脚编号从0开始。
891 * 例如,0表示第一个管脚。
892 * @return 标准数字输入触发动作
893 *
894 * @par Python函数原型
895 * getStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
896 * arcs::common_interface::StandardInputAction
897 *
898 * @par Lua函数原型
899 * getStandardDigitalInputAction(index: number) -> number
900 *
901 * @par JSON-RPC请求示例
902 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputAction","params":[0],"id":1}
903 *
904 * @par JSON-RPC响应示例
905 * {"id":1,"jsonrpc":"2.0","result":"Default"}
906 *
907 * \endchinese
908 * \english
909 * Get the trigger action for standard digital input.
910 *
911 * @param index: Indicates the IO pin, starting from 0.
912 * For example, 0 means the first pin.
913 * @return Standard digital input trigger action
914 *
915 * @par Python function prototype
916 * getStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
917 * arcs::common_interface::StandardInputAction
918 *
919 * @par Lua function prototype
920 * getStandardDigitalInputAction(index: number) -> number
921 *
922 * @par JSON-RPC request example
923 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputAction","params":[0],"id":1}
924 *
925 * @par JSON-RPC response example
926 * {"id":1,"jsonrpc":"2.0","result":"Default"}
927 *
928 * \endenglish
929 */
931
932 /**
933 * \chinese
934 * 获取工具端数字输入触发动作
935 *
936 * @param index: 表示IO口的管脚,管脚编号从0开始。
937 * 例如,0表示第一个管脚。
938 * @return 工具端数字输入触发动作
939 *
940 * @par Python函数原型
941 * getToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
942 * arcs::common_interface::StandardInputAction
943 *
944 * @par Lua函数原型
945 * getToolDigitalInputAction(index: number) -> number
946 *
947 * @par JSON-RPC请求示例
948 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputAction","params":[0],"id":1}
949 *
950 * @par JSON-RPC响应示例
951 * {"id":1,"jsonrpc":"2.0","result":"Default"}
952 *
953 * \endchinese
954 * \english
955 * Get the trigger action for tool digital input.
956 *
957 * @param index: Indicates the IO pin, starting from 0.
958 * For example, 0 means the first pin.
959 * @return Tool digital input trigger action
960 *
961 * @par Python function prototype
962 * getToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
963 * arcs::common_interface::StandardInputAction
964 *
965 * @par Lua function prototype
966 * getToolDigitalInputAction(index: number) -> number
967 *
968 * @par JSON-RPC request example
969 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputAction","params":[0],"id":1}
970 *
971 * @par JSON-RPC response example
972 * {"id":1,"jsonrpc":"2.0","result":"Default"}
973 *
974 * \endenglish
975 */
977
978 /**
979 * \chinese
980 * 获取可配置数字输入的输入触发动作
981 *
982 * @param index: 表示IO口的管脚,管脚编号从0开始。
983 * 例如,0表示第一个管脚。
984 * @return 返回输入触发动作
985 *
986 * @par Python函数原型
987 * getConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int)
988 * -> arcs::common_interface::StandardInputAction
989 *
990 * @par Lua函数原型
991 * getConfigurableDigitalInputAction(index: number) -> number
992 *
993 * @par JSON-RPC请求示例
994 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputAction","params":[0],"id":1}
995 *
996 * @par JSON-RPC响应示例
997 * {"id":1,"jsonrpc":"2.0","result":"Default"}
998 *
999 * \endchinese
1000 * \english
1001 * Get the trigger action for configurable digital input.
1002 *
1003 * @param index: Indicates the IO pin, starting from 0.
1004 * For example, 0 means the first pin.
1005 * @return Returns the input trigger action.
1006 *
1007 * @par Python function prototype
1008 * getConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int)
1009 * -> arcs::common_interface::StandardInputAction
1010 *
1011 * @par Lua function prototype
1012 * getConfigurableDigitalInputAction(index: number) -> number
1013 *
1014 * @par JSON-RPC request example
1015 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputAction","params":[0],"id":1}
1016 *
1017 * @par JSON-RPC response example
1018 * {"id":1,"jsonrpc":"2.0","result":"Default"}
1019 *
1020 * \endenglish
1021 */
1023
1024 /**
1025 * \chinese
1026 * 设置所有数字输出状态选择为无
1027 *
1028 * @note
1029 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1030 * 用户可以设置数字输出值。\n
1031 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
1032 * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1033 * 机器人进入拖动示教,DO0会自动变为高电平。
1034 * 机器人退出拖动示教,DO0会自动变为低电平。
1035 *
1036 * @return 成功返回0;失败返回错误码
1037 * AUBO_BUSY
1038 * AUBO_BAD_STATE
1039 * -AUBO_BAD_STATE
1040 *
1041 * @throws arcs::common_interface::AuboException
1042 *
1043 * @par Python函数原型
1044 * setDigitalOutputRunstateDefault(self: pyaubo_sdk.IoControl) -> int
1045 *
1046 * @par Lua函数原型
1047 * setDigitalOutputRunstateDefault() -> nil
1048 *
1049 * @par JSON-RPC请求示例
1050 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputRunstateDefault","params":[],"id":1}
1051 *
1052 * @par JSON-RPC响应示例
1053 * {"id":1,"jsonrpc":"2.0","result":0}
1054 *
1055 * \endchinese
1056 * \english
1057 * Set all digital output runstates to None.
1058 *
1059 * @note
1060 * When the output runstate is set to None (StandardOutputRunState::None),
1061 * users can set the digital output value.\n
1062 * When the output runstate is set, users cannot set the digital output value, and the controller will set it automatically.\n
1063 * For example, when DO0's output runstate is set to indicate hand-guiding (StandardOutputRunState::Handguiding),
1064 * the robot enters hand-guiding mode and DO0 will automatically become high.
1065 * When the robot exits hand-guiding, DO0 will automatically become low.
1066 *
1067 * @return Returns 0 on success; error code on failure.
1068 * AUBO_BUSY
1069 * AUBO_BAD_STATE
1070 * -AUBO_BAD_STATE
1071 *
1072 * @throws arcs::common_interface::AuboException
1073 *
1074 * @par Python function prototype
1075 * setDigitalOutputRunstateDefault(self: pyaubo_sdk.IoControl) -> int
1076 *
1077 * @par Lua function prototype
1078 * setDigitalOutputRunstateDefault() -> nil
1079 *
1080 * @par JSON-RPC request example
1081 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputRunstateDefault","params":[],"id":1}
1082 *
1083 * @par JSON-RPC response example
1084 * {"id":1,"jsonrpc":"2.0","result":0}
1085 *
1086 * \endenglish
1087 */
1089
1090 /**
1091 * \chinese
1092 * 设置标准数字输出状态选择
1093 *
1094 * @note
1095 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1096 * 用户可以设置数字输出值。\n
1097 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
1098 * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1099 * 机器人进入拖动示教,DO0会自动变为高电平。
1100 * 机器人退出拖动示教,DO0会自动变为低电平。
1101 *
1102 * @param index: 表示IO口的管脚,管脚编号从0开始。
1103 * 例如,0表示第一个管脚。
1104 * @param runstate: 输出状态选择
1105 *
1106 * @return 成功返回0;失败返回错误码
1107 * AUBO_REQUEST_IGNORE
1108 * AUBO_BUSY
1109 * AUBO_BAD_STATE
1110 * -AUBO_INVL_ARGUMENT
1111 * -AUBO_BAD_STATE
1112 *
1113 * @throws arcs::common_interface::AuboException
1114 *
1115 * @par Python函数原型
1116 * setStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
1117 * arg1: arcs::common_interface::StandardOutputRunState) -> int
1118 *
1119 * @par Lua函数原型
1120 * setStandardDigitalOutputRunstate(index: number, runstate: number) -> nil
1121 *
1122 * @par JSON-RPC请求示例
1123 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputRunstate","params":[0,"PowerOn"],"id":1}
1124 *
1125 * @par JSON-RPC响应示例
1126 * {"id":1,"jsonrpc":"2.0","result":0}
1127 *
1128 * \endchinese
1129 * \english
1130 * Set the runstate for standard digital output.
1131 *
1132 * @note
1133 * When the output runstate is set to None (StandardOutputRunState::None),
1134 * users can set the digital output value.\n
1135 * When the output runstate is set, users cannot set the digital output value, and the controller will set it automatically.\n
1136 * For example, when DO0's output runstate is set to indicate hand-guiding (StandardOutputRunState::Handguiding),
1137 * the robot enters hand-guiding mode and DO0 will automatically become high.
1138 * When the robot exits hand-guiding, DO0 will automatically become low.
1139 *
1140 * @param index: Indicates the IO pin, starting from 0.
1141 * For example, 0 means the first pin.
1142 * @param runstate: Output runstate selection
1143 *
1144 * @return Returns 0 on success; error code on failure.
1145 * AUBO_REQUEST_IGNORE
1146 * AUBO_BUSY
1147 * AUBO_BAD_STATE
1148 * -AUBO_INVL_ARGUMENT
1149 * -AUBO_BAD_STATE
1150 *
1151 * @throws arcs::common_interface::AuboException
1152 *
1153 * @par Python function prototype
1154 * setStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
1155 * arg1: arcs::common_interface::StandardOutputRunState) -> int
1156 *
1157 * @par Lua function prototype
1158 * setStandardDigitalOutputRunstate(index: number, runstate: number) -> nil
1159 *
1160 * @par JSON-RPC request example
1161 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputRunstate","params":[0,"PowerOn"],"id":1}
1162 *
1163 * @par JSON-RPC response example
1164 * {"id":1,"jsonrpc":"2.0","result":0}
1165 *
1166 * \endenglish
1167 */
1169 StandardOutputRunState runstate);
1170
1171 /**
1172 * \chinese
1173 * 设置工具端数字输出状态选择
1174 *
1175 * @note
1176 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1177 * 用户可以设置数字输出值。\n
1178 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
1179 * 例如,当设置TOOL_IO[0]类型为输出且输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1180 * 机器人进入拖动示教,TOOL_IO[0]会自动变为高电平。
1181 * 机器人退出拖动示教,TOOL_IO[0]会自动变为低电平。
1182 *
1183 * @param index: 表示IO口的管脚,管脚编号从0开始。
1184 * 例如,0表示第一个管脚。
1185 * @param runstate: 输出状态选择
1186 *
1187 * @return 成功返回0;失败返回错误码
1188 * AUBO_REQUEST_IGNORE
1189 * AUBO_BUSY
1190 * AUBO_BAD_STATE
1191 * -AUBO_INVL_ARGUMENT
1192 * -AUBO_BAD_STATE
1193 *
1194 * @throws arcs::common_interface::AuboException
1195 *
1196 * @par Python函数原型
1197 * setToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1198 * arcs::common_interface::StandardOutputRunState) -> int
1199 *
1200 * @par Lua函数原型
1201 * setToolDigitalOutputRunstate(index: number, runstate: number) -> nil
1202 *
1203 * @par JSON-RPC请求示例
1204 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputRunstate","params":[0,"None"],"id":1}
1205 *
1206 * @par JSON-RPC响应示例
1207 * {"id":1,"jsonrpc":"2.0","result":0}
1208 *
1209 * \endchinese
1210 * \english
1211 * Set the runstate for tool digital output.
1212 *
1213 * @note
1214 * When the output runstate is set to None (StandardOutputRunState::None),
1215 * users can set the digital output value.\n
1216 * When the output runstate is set, users cannot set the digital output value, and the controller will set it automatically.\n
1217 * For example, when TOOL_IO[0] is set as output and its runstate is set to indicate hand-guiding (StandardOutputRunState::Handguiding),
1218 * the robot enters hand-guiding mode and TOOL_IO[0] will automatically become high.
1219 * When the robot exits hand-guiding, TOOL_IO[0] will automatically become low.
1220 *
1221 * @param index: Indicates the IO pin, starting from 0.
1222 * For example, 0 means the first pin.
1223 * @param runstate: Output runstate selection
1224 *
1225 * @return Returns 0 on success; error code on failure.
1226 * AUBO_REQUEST_IGNORE
1227 * AUBO_BUSY
1228 * AUBO_BAD_STATE
1229 * -AUBO_INVL_ARGUMENT
1230 * -AUBO_BAD_STATE
1231 *
1232 * @throws arcs::common_interface::AuboException
1233 *
1234 * @par Python function prototype
1235 * setToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1236 * arcs::common_interface::StandardOutputRunState) -> int
1237 *
1238 * @par Lua function prototype
1239 * setToolDigitalOutputRunstate(index: number, runstate: number) -> nil
1240 *
1241 * @par JSON-RPC request example
1242 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputRunstate","params":[0,"None"],"id":1}
1243 *
1244 * @par JSON-RPC response example
1245 * {"id":1,"jsonrpc":"2.0","result":0}
1246 *
1247 * \endenglish
1248 */
1250 StandardOutputRunState runstate);
1251
1252 /**
1253 * \chinese
1254 * 设置可配置数字输出状态选择
1255 *
1256 * @param index: 表示IO口的管脚,管脚编号从0开始。
1257 * 例如,0表示第一个管脚。
1258 * @param runstate: 输出状态选择
1259 *
1260 * @return 成功返回0;失败返回错误码
1261 * AUBO_REQUEST_IGNORE
1262 * AUBO_BUSY
1263 * AUBO_BAD_STATE
1264 * -AUBO_INVL_ARGUMENT
1265 * -AUBO_BAD_STATE
1266 *
1267 * @throws arcs::common_interface::AuboException
1268 *
1269 * @par Python函数原型
1270 * setConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1271 * int, arg1: arcs::common_interface::StandardOutputRunState) -> int
1272 *
1273 * @par Lua函数原型
1274 * setConfigurableDigitalOutputRunstate(index: number, runstate: number) ->
1275 * nil
1276 *
1277 * @par JSON-RPC请求示例
1278 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputRunstate","params":[0,"None"],"id":1}
1279 *
1280 * @par JSON-RPC响应示例
1281 * {"id":1,"jsonrpc":"2.0","result":0}
1282 *
1283 * \endchinese
1284 * \english
1285 * Set the runstate for configurable digital output.
1286 *
1287 * @param index: Indicates the IO pin, starting from 0.
1288 * For example, 0 means the first pin.
1289 * @param runstate: Output runstate selection
1290 *
1291 * @return Returns 0 on success; error code on failure.
1292 * AUBO_REQUEST_IGNORE
1293 * AUBO_BUSY
1294 * AUBO_BAD_STATE
1295 * -AUBO_INVL_ARGUMENT
1296 * -AUBO_BAD_STATE
1297 *
1298 * @throws arcs::common_interface::AuboException
1299 *
1300 * @par Python function prototype
1301 * setConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1302 * int, arg1: arcs::common_interface::StandardOutputRunState) -> int
1303 *
1304 * @par Lua function prototype
1305 * setConfigurableDigitalOutputRunstate(index: number, runstate: number) ->
1306 * nil
1307 *
1308 * @par JSON-RPC request example
1309 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputRunstate","params":[0,"None"],"id":1}
1310 *
1311 * @par JSON-RPC response example
1312 * {"id":1,"jsonrpc":"2.0","result":0}
1313 *
1314 * \endenglish
1315 */
1317 StandardOutputRunState runstate);
1318
1319 /**
1320 * \chinese
1321 * 获取标准数字输出状态选择
1322 *
1323 * @param index: 表示IO口的管脚,管脚编号从0开始。
1324 * 例如,0表示第一个管脚。
1325 * @return 输出状态选择
1326 *
1327 * @throws arcs::common_interface::AuboException
1328 *
1329 * @par Python函数原型
1330 * getStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int)
1331 * -> arcs::common_interface::StandardOutputRunState
1332 *
1333 * @par Lua函数原型
1334 * getStandardDigitalOutputRunstate(index: number) -> number
1335 *
1336 * @par JSON-RPC请求示例
1337 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputRunstate","params":[0],"id":1}
1338 *
1339 * @par JSON-RPC响应示例
1340 * {"id":1,"jsonrpc":"2.0","result":"None"}
1341 *
1342 * \endchinese
1343 * \english
1344 * Get the runstate for standard digital output.
1345 *
1346 * @param index: Indicates the IO pin, starting from 0.
1347 * For example, 0 means the first pin.
1348 * @return Output runstate selection
1349 *
1350 * @throws arcs::common_interface::AuboException
1351 *
1352 * @par Python function prototype
1353 * getStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int)
1354 * -> arcs::common_interface::StandardOutputRunState
1355 *
1356 * @par Lua function prototype
1357 * getStandardDigitalOutputRunstate(index: number) -> number
1358 *
1359 * @par JSON-RPC request example
1360 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputRunstate","params":[0],"id":1}
1361 *
1362 * @par JSON-RPC response example
1363 * {"id":1,"jsonrpc":"2.0","result":"None"}
1364 *
1365 * \endenglish
1366 */
1368
1369 /**
1370 * \chinese
1371 * 获取工具端数字输出状态选择
1372 *
1373 * @param index: 表示IO口的管脚,管脚编号从0开始。
1374 * 例如,0表示第一个管脚。
1375 * @return 输出状态选择
1376 *
1377 * @throws arcs::common_interface::AuboException
1378 *
1379 * @par Python函数原型
1380 * getToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1381 * arcs::common_interface::StandardOutputRunState
1382 *
1383 * @par Lua函数原型
1384 * getToolDigitalOutputRunstate(index: number) -> number
1385 *
1386 * @par JSON-RPC请求示例
1387 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputRunstate","params":[0],"id":1}
1388 *
1389 * @par JSON-RPC响应示例
1390 * {"id":1,"jsonrpc":"2.0","result":"None"}
1391 *
1392 * \endchinese
1393 * \english
1394 * Get the runstate for tool digital output.
1395 *
1396 * @param index: Indicates the IO pin, starting from 0.
1397 * For example, 0 means the first pin.
1398 * @return Output runstate selection
1399 *
1400 * @throws arcs::common_interface::AuboException
1401 *
1402 * @par Python function prototype
1403 * getToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1404 * arcs::common_interface::StandardOutputRunState
1405 *
1406 * @par Lua function prototype
1407 * getToolDigitalOutputRunstate(index: number) -> number
1408 *
1409 * @par JSON-RPC request example
1410 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputRunstate","params":[0],"id":1}
1411 *
1412 * @par JSON-RPC response example
1413 * {"id":1,"jsonrpc":"2.0","result":"None"}
1414 *
1415 * \endenglish
1416 */
1418
1419 /**
1420 * \chinese
1421 * 获取可配置数字输出状态选择
1422 *
1423 * @param index: 表示IO口的管脚,管脚编号从0开始。
1424 * 例如,0表示第一个管脚。
1425 * @return 输出状态选择
1426 *
1427 * @throws arcs::common_interface::AuboException
1428 *
1429 * @par Python函数原型
1430 * getConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1431 * int)
1432 * -> arcs::common_interface::StandardOutputRunState
1433 *
1434 * @par Lua函数原型
1435 * getConfigurableDigitalOutputRunstate(index: number) -> number
1436 *
1437 * @par JSON-RPC请求示例
1438 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputRunstate","params":[0],"id":1}
1439 *
1440 * @par JSON-RPC响应示例
1441 * {"id":1,"jsonrpc":"2.0","result":"None"}
1442 *
1443 * \endchinese
1444 * \english
1445 * Get the runstate for configurable digital output.
1446 *
1447 * @param index: Indicates the IO pin, starting from 0.
1448 * For example, 0 means the first pin.
1449 * @return Output runstate selection
1450 *
1451 * @throws arcs::common_interface::AuboException
1452 *
1453 * @par Python function prototype
1454 * getConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
1455 * int)
1456 * -> arcs::common_interface::StandardOutputRunState
1457 *
1458 * @par Lua function prototype
1459 * getConfigurableDigitalOutputRunstate(index: number) -> number
1460 *
1461 * @par JSON-RPC request example
1462 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputRunstate","params":[0],"id":1}
1463 *
1464 * @par JSON-RPC response example
1465 * {"id":1,"jsonrpc":"2.0","result":"None"}
1466 *
1467 * \endenglish
1468 */
1470
1471 /**
1472 * \chinese
1473 * 设置标准模拟输出状态选择
1474 *
1475 * @note
1476 * 当给输出状态设置为无(StandardOutputRunState::None)时,
1477 * 用户可以设置模拟输出值。\n
1478 * 当给输出设置状态时,用户不可设置模拟输出值,控制器会自动设置模拟输出值。\n
1479 * 例如,当设置AO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
1480 * 机器人进入拖动示教,AO0的值会自动变为最大值。
1481 * 机器人退出拖动示教,AO0的值会自动变为0。
1482 *
1483 * @param index: 表示IO口的管脚,管脚编号从0开始。
1484 * 例如,0表示第一个管脚。
1485 * @param runstate: 输出状态选择
1486 * @return 成功返回0;失败返回错误码
1487 * AUBO_REQUEST_IGNORE
1488 * AUBO_BUSY
1489 * AUBO_BAD_STATE
1490 * -AUBO_INVL_ARGUMENT
1491 * -AUBO_BAD_STATE
1492 *
1493 * @throws arcs::common_interface::AuboException
1494 *
1495 * @par Python函数原型
1496 * setStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
1497 * arg1: arcs::common_interface::StandardOutputRunState) -> int
1498 *
1499 * @par Lua函数原型
1500 * setStandardAnalogOutputRunstate(index: number, runstate: number) -> nil
1501 *
1502 * @par JSON-RPC请求示例
1503 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputRunstate","params":[0,"None"],"id":1}
1504 *
1505 * @par JSON-RPC响应示例
1506 * {"id":1,"jsonrpc":"2.0","result":0}
1507 *
1508 * \endchinese
1509 * \english
1510 * Set the runstate for standard analog output.
1511 *
1512 * @note
1513 * When the output runstate is set to None (StandardOutputRunState::None),
1514 * users can set the analog output value.\n
1515 * When the output runstate is set, users cannot set the analog output value, and the controller will set it automatically.\n
1516 * For example, when AO0's output runstate is set to indicate hand-guiding (StandardOutputRunState::Handguiding),
1517 * the robot enters hand-guiding mode and AO0 will automatically become the maximum value.
1518 * When the robot exits hand-guiding, AO0 will automatically become 0.
1519 *
1520 * @param index: Indicates the IO pin, starting from 0.
1521 * For example, 0 means the first pin.
1522 * @param runstate: Output runstate selection
1523 * @return Returns 0 on success; error code on failure.
1524 * AUBO_REQUEST_IGNORE
1525 * AUBO_BUSY
1526 * AUBO_BAD_STATE
1527 * -AUBO_INVL_ARGUMENT
1528 * -AUBO_BAD_STATE
1529 *
1530 * @throws arcs::common_interface::AuboException
1531 *
1532 * @par Python function prototype
1533 * setStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
1534 * arg1: arcs::common_interface::StandardOutputRunState) -> int
1535 *
1536 * @par Lua function prototype
1537 * setStandardAnalogOutputRunstate(index: number, runstate: number) -> nil
1538 *
1539 * @par JSON-RPC request example
1540 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputRunstate","params":[0,"None"],"id":1}
1541 *
1542 * @par JSON-RPC response example
1543 * {"id":1,"jsonrpc":"2.0","result":0}
1544 *
1545 * \endenglish
1546 */
1548 StandardOutputRunState runstate);
1549
1550 /**
1551 * \chinese
1552 * 设置工具端模拟输出状态选择
1553 *
1554 * @param index: 表示IO口的管脚,管脚编号从0开始。
1555 * 例如,0表示第一个管脚。
1556 * @param runstate: 输出状态选择
1557 * @return 成功返回0;失败返回错误码
1558 * AUBO_REQUEST_IGNORE
1559 * AUBO_BUSY
1560 * AUBO_BAD_STATE
1561 * -AUBO_INVL_ARGUMENT
1562 * -AUBO_BAD_STATE
1563 *
1564 * @throws arcs::common_interface::AuboException
1565 *
1566 * @par Python函数原型
1567 * setToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1568 * arcs::common_interface::StandardOutputRunState) -> int
1569 *
1570 * @par Lua函数原型
1571 * setToolAnalogOutputRunstate(index: number, runstate: number) -> nil
1572 *
1573 * @par JSON-RPC请求示例
1574 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutputRunstate","params":[0,"None"],"id":1}
1575 *
1576 * @par JSON-RPC响应示例
1577 * {"id":1,"jsonrpc":"2.0","result":0}
1578 *
1579 * \endchinese
1580 * \english
1581 * Set the runstate for tool analog output.
1582 *
1583 * @param index: Indicates the IO pin, starting from 0.
1584 * For example, 0 means the first pin.
1585 * @param runstate: Output runstate selection
1586 * @return Returns 0 on success; error code on failure.
1587 * AUBO_REQUEST_IGNORE
1588 * AUBO_BUSY
1589 * AUBO_BAD_STATE
1590 * -AUBO_INVL_ARGUMENT
1591 * -AUBO_BAD_STATE
1592 *
1593 * @throws arcs::common_interface::AuboException
1594 *
1595 * @par Python function prototype
1596 * setToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1597 * arcs::common_interface::StandardOutputRunState) -> int
1598 *
1599 * @par Lua function prototype
1600 * setToolAnalogOutputRunstate(index: number, runstate: number) -> nil
1601 *
1602 * @par JSON-RPC request example
1603 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutputRunstate","params":[0,"None"],"id":1}
1604 *
1605 * @par JSON-RPC response example
1606 * {"id":1,"jsonrpc":"2.0","result":0}
1607 *
1608 * \endenglish
1609 */
1611
1612 /**
1613 * \chinese
1614 * 获取标准模拟输出状态选择
1615 *
1616 * @param index: 表示IO口的管脚,管脚编号从0开始。
1617 * 例如,0表示第一个管脚。
1618 * @return 标准模拟输出状态选择
1619 *
1620 * @throws arcs::common_interface::AuboException
1621 *
1622 * @par Python函数原型
1623 * getStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1624 * arcs::common_interface::StandardOutputRunState
1625 *
1626 * @par Lua函数原型
1627 * getStandardAnalogOutputRunstate(index: number) -> number
1628 *
1629 * @par JSON-RPC请求示例
1630 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputRunstate","params":[0],"id":1}
1631 *
1632 * @par JSON-RPC响应示例
1633 * {"id":1,"jsonrpc":"2.0","result":"None"}
1634 *
1635 * \endchinese
1636 * \english
1637 * Get the runstate for standard analog output.
1638 *
1639 * @param index: Indicates the IO pin, starting from 0.
1640 * For example, 0 means the first pin.
1641 * @return Standard analog output runstate selection
1642 *
1643 * @throws arcs::common_interface::AuboException
1644 *
1645 * @par Python function prototype
1646 * getStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1647 * arcs::common_interface::StandardOutputRunState
1648 *
1649 * @par Lua function prototype
1650 * getStandardAnalogOutputRunstate(index: number) -> number
1651 *
1652 * @par JSON-RPC request example
1653 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputRunstate","params":[0],"id":1}
1654 *
1655 * @par JSON-RPC response example
1656 * {"id":1,"jsonrpc":"2.0","result":"None"}
1657 *
1658 * \endenglish
1659 */
1661
1662 /**
1663 * \chinese
1664 * 获取工具端模拟输出状态选择
1665 *
1666 * @param index: 表示IO口的管脚,管脚编号从0开始。
1667 * 例如,0表示第一个管脚。
1668 * @return 工具端模拟输出状态选择
1669 *
1670 * @throws arcs::common_interface::AuboException
1671 *
1672 * @par Python函数原型
1673 * getToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1674 * arcs::common_interface::StandardOutputRunState
1675 *
1676 * @par Lua函数原型
1677 * getToolAnalogOutputRunstate(index: number) -> number
1678 *
1679 * @par JSON-RPC请求示例
1680 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputRunstate","params":[0],"id":1}
1681 *
1682 * @par JSON-RPC响应示例
1683 * {"id":1,"jsonrpc":"2.0","result":"None"}
1684 *
1685 * \endchinese
1686 * \english
1687 * Get the runstate for tool analog output.
1688 *
1689 * @param index: Indicates the IO pin, starting from 0.
1690 * For example, 0 means the first pin.
1691 * @return Tool analog output runstate selection
1692 *
1693 * @throws arcs::common_interface::AuboException
1694 *
1695 * @par Python function prototype
1696 * getToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
1697 * arcs::common_interface::StandardOutputRunState
1698 *
1699 * @par Lua function prototype
1700 * getToolAnalogOutputRunstate(index: number) -> number
1701 *
1702 * @par JSON-RPC request example
1703 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputRunstate","params":[0],"id":1}
1704 *
1705 * @par JSON-RPC response example
1706 * {"id":1,"jsonrpc":"2.0","result":"None"}
1707 *
1708 * \endenglish
1709 */
1711
1712 /**
1713 * \chinese
1714 * 设置标准模拟输入的范围
1715 *
1716 * @param index: 表示IO口的管脚,管脚编号从0开始。
1717 * 例如,0表示第一个管脚。
1718 * @param domain: 输入的范围
1719 *
1720 * @return 成功返回0;失败返回错误码
1721 * AUBO_REQUEST_IGNORE
1722 * AUBO_BUSY
1723 * AUBO_BAD_STATE
1724 * -AUBO_INVL_ARGUMENT
1725 * -AUBO_BAD_STATE
1726 *
1727 * @throws arcs::common_interface::AuboException
1728 *
1729 * @par Python函数原型
1730 * setStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1731 * int) -> int
1732 *
1733 * @par Lua函数原型
1734 * setStandardAnalogInputDomain(index: number, domain: number) -> nil
1735 *
1736 * @par JSON-RPC请求示例
1737 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogInputDomain","params":[0,8],"id":1}
1738 *
1739 * @par JSON-RPC响应示例
1740 * {"id":1,"jsonrpc":"2.0","result":0}
1741 *
1742 * \endchinese
1743 * \english
1744 * Set the range of standard analog input.
1745 *
1746 * @param index: Indicates the IO pin, starting from 0.
1747 * For example, 0 means the first pin.
1748 * @param domain: Input range
1749 *
1750 * @return Returns 0 on success; error code on failure.
1751 * AUBO_REQUEST_IGNORE
1752 * AUBO_BUSY
1753 * AUBO_BAD_STATE
1754 * -AUBO_INVL_ARGUMENT
1755 * -AUBO_BAD_STATE
1756 *
1757 * @throws arcs::common_interface::AuboException
1758 *
1759 * @par Python function prototype
1760 * setStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1761 * int) -> int
1762 *
1763 * @par Lua function prototype
1764 * setStandardAnalogInputDomain(index: number, domain: number) -> nil
1765 *
1766 * @par JSON-RPC request example
1767 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogInputDomain","params":[0,8],"id":1}
1768 *
1769 * @par JSON-RPC response example
1770 * {"id":1,"jsonrpc":"2.0","result":0}
1771 *
1772 * \endenglish
1773 */
1774 int setStandardAnalogInputDomain(int index, int domain);
1775
1776 /**
1777 * \chinese
1778 * 设置工具端模拟输入的范围
1779 *
1780 * @param index: 表示IO口的管脚,管脚编号从0开始。
1781 * 例如,0表示第一个管脚。
1782 * @param domain: 输入的范围
1783 * @return 成功返回0;失败返回错误码
1784 * AUBO_REQUEST_IGNORE
1785 * AUBO_BUSY
1786 * AUBO_BAD_STATE
1787 * -AUBO_INVL_ARGUMENT
1788 * -AUBO_BAD_STATE
1789 *
1790 * @throws arcs::common_interface::AuboException
1791 *
1792 * @par Python函数原型
1793 * setToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1794 * int) -> int
1795 *
1796 * @par Lua函数原型
1797 * setToolAnalogInputDomain(index: number, domain: number) -> nil
1798 *
1799 * @par JSON-RPC请求示例
1800 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogInputDomain","params":[0,8],"id":1}
1801 *
1802 * @par JSON-RPC响应示例
1803 * {"id":1,"jsonrpc":"2.0","result":0}
1804 *
1805 * \endchinese
1806 * \english
1807 * Set the range of tool analog input.
1808 *
1809 * @param index: Indicates the IO pin, starting from 0.
1810 * For example, 0 means the first pin.
1811 * @param domain: Input range
1812 * @return Returns 0 on success; error code on failure.
1813 * AUBO_REQUEST_IGNORE
1814 * AUBO_BUSY
1815 * AUBO_BAD_STATE
1816 * -AUBO_INVL_ARGUMENT
1817 * -AUBO_BAD_STATE
1818 *
1819 * @throws arcs::common_interface::AuboException
1820 *
1821 * @par Python function prototype
1822 * setToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1823 * int) -> int
1824 *
1825 * @par Lua function prototype
1826 * setToolAnalogInputDomain(index: number, domain: number) -> nil
1827 *
1828 * @par JSON-RPC request example
1829 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogInputDomain","params":[0,8],"id":1}
1830 *
1831 * @par JSON-RPC response example
1832 * {"id":1,"jsonrpc":"2.0","result":0}
1833 *
1834 * \endenglish
1835 */
1836 int setToolAnalogInputDomain(int index, int domain);
1837
1838 /**
1839 * \chinese
1840 * 获取标准模式输入范围
1841 *
1842 * @param index: 表示IO口的管脚,管脚编号从0开始。
1843 * 例如,0表示第一个管脚。
1844 * @return 标准模式输入范围
1845 *
1846 * @throws arcs::common_interface::AuboException
1847 *
1848 * @par Python函数原型
1849 * getStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
1850 *
1851 * @par Lua函数原型
1852 * getStandardAnalogInputDomain(index: number) -> number
1853 *
1854 * @par JSON-RPC请求示例
1855 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputDomain","params":[0],"id":1}
1856 *
1857 * @par JSON-RPC响应示例
1858 * {"id":1,"jsonrpc":"2.0","result":0}
1859 *
1860 * \endchinese
1861 * \english
1862 * Get the domain of standard analog input.
1863 *
1864 * @param index: Indicates the IO pin, starting from 0.
1865 * For example, 0 means the first pin.
1866 * @return Standard analog input domain
1867 *
1868 * @throws arcs::common_interface::AuboException
1869 *
1870 * @par Python function prototype
1871 * getStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
1872 *
1873 * @par Lua function prototype
1874 * getStandardAnalogInputDomain(index: number) -> number
1875 *
1876 * @par JSON-RPC request example
1877 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputDomain","params":[0],"id":1}
1878 *
1879 * @par JSON-RPC response example
1880 * {"id":1,"jsonrpc":"2.0","result":0}
1881 *
1882 * \endenglish
1883 */
1885
1886 /**
1887 * \chinese
1888 * 获取工具端模式输入范围
1889 *
1890 * @param index: 表示IO口的管脚,管脚编号从0开始。
1891 * 例如,0表示第一个管脚。
1892 * @return 工具端模式输入范围
1893 *
1894 * @throws arcs::common_interface::AuboException
1895 *
1896 * @par Python函数原型
1897 * getToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
1898 *
1899 * @par Lua函数原型
1900 * getToolAnalogInputDomain(index: number) -> number
1901 *
1902 * @par JSON-RPC请求示例
1903 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputDomain","params":[0],"id":1}
1904 *
1905 * @par JSON-RPC响应示例
1906 * {"id":1,"jsonrpc":"2.0","result":10}
1907 *
1908 * \endchinese
1909 * \english
1910 * Get the domain of tool analog input.
1911 *
1912 * @param index: Indicates the IO pin, starting from 0.
1913 * For example, 0 means the first pin.
1914 * @return Tool analog input domain
1915 *
1916 * @throws arcs::common_interface::AuboException
1917 *
1918 * @par Python function prototype
1919 * getToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
1920 *
1921 * @par Lua function prototype
1922 * getToolAnalogInputDomain(index: number) -> number
1923 *
1924 * @par JSON-RPC request example
1925 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputDomain","params":[0],"id":1}
1926 *
1927 * @par JSON-RPC response example
1928 * {"id":1,"jsonrpc":"2.0","result":10}
1929 *
1930 * \endenglish
1931 */
1933
1934 /**
1935 * \chinese
1936 * 设置标准模拟输出的范围
1937 *
1938 * @param index: 表示IO口的管脚,管脚编号从0开始。
1939 * 例如,0表示第一个管脚。
1940 * @param domain: 输出的范围
1941 *
1942 * @return 成功返回0;失败返回错误码
1943 * AUBO_REQUEST_IGNORE
1944 * AUBO_BUSY
1945 * AUBO_BAD_STATE
1946 * -AUBO_INVL_ARGUMENT
1947 * -AUBO_BAD_STATE
1948 *
1949 * @throws arcs::common_interface::AuboException
1950 *
1951 * @par Python函数原型
1952 * setStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int,
1953 * arg1: int) -> int
1954 *
1955 * @par Lua函数原型
1956 * setStandardAnalogOutputDomain(index: number, domain: number) -> nil
1957 *
1958 * @par JSON-RPC请求示例
1959 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputDomain","params":[0,8],"id":1}
1960 *
1961 * @par JSON-RPC响应示例
1962 * {"id":1,"jsonrpc":"2.0","result":0}
1963 *
1964 * \endchinese
1965 * \english
1966 * Set the range of standard analog output.
1967 *
1968 * @param index: Indicates the IO pin, starting from 0.
1969 * For example, 0 means the first pin.
1970 * @param domain: Output range
1971 *
1972 * @return Returns 0 on success; error code on failure.
1973 * AUBO_REQUEST_IGNORE
1974 * AUBO_BUSY
1975 * AUBO_BAD_STATE
1976 * -AUBO_INVL_ARGUMENT
1977 * -AUBO_BAD_STATE
1978 *
1979 * @throws arcs::common_interface::AuboException
1980 *
1981 * @par Python function prototype
1982 * setStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int,
1983 * arg1: int) -> int
1984 *
1985 * @par Lua function prototype
1986 * setStandardAnalogOutputDomain(index: number, domain: number) -> nil
1987 *
1988 * @par JSON-RPC request example
1989 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputDomain","params":[0,8],"id":1}
1990 *
1991 * @par JSON-RPC response example
1992 * {"id":1,"jsonrpc":"2.0","result":0}
1993 *
1994 * \endenglish
1995 */
1996 int setStandardAnalogOutputDomain(int index, int domain);
1997
1998 /**
1999 * \chinese
2000 * 设置工具端模拟输出范围
2001 *
2002 * @param index: 表示IO口的管脚,管脚编号从0开始。
2003 * 例如,0表示第一个管脚。
2004 * @param domain: 输出的范围
2005 *
2006 * @return 成功返回0;失败返回错误码
2007 * AUBO_REQUEST_IGNORE
2008 * AUBO_BUSY
2009 * AUBO_BAD_STATE
2010 * -AUBO_INVL_ARGUMENT
2011 * -AUBO_BAD_STATE
2012 *
2013 * @throws arcs::common_interface::AuboException
2014 *
2015 * @par Python函数原型
2016 * setToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2017 * int) -> int
2018 *
2019 * @par Lua函数原型
2020 * setToolAnalogOutputDomain(index: number, domain: number) -> nil
2021 *
2022 * \endchinese
2023 * \english
2024 * Set the range of tool analog output.
2025 *
2026 * @param index: Indicates the IO pin, starting from 0.
2027 * For example, 0 means the first pin.
2028 * @param domain: Output range
2029 *
2030 * @return Returns 0 on success; error code on failure.
2031 * AUBO_REQUEST_IGNORE
2032 * AUBO_BUSY
2033 * AUBO_BAD_STATE
2034 * -AUBO_INVL_ARGUMENT
2035 * -AUBO_BAD_STATE
2036 *
2037 * @throws arcs::common_interface::AuboException
2038 *
2039 * @par Python function prototype
2040 * setToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2041 * int) -> int
2042 *
2043 * @par Lua function prototype
2044 * setToolAnalogOutputDomain(index: number, domain: number) -> nil
2045 *
2046 * \endenglish
2047 */
2048 int setToolAnalogOutputDomain(int index, int domain);
2049
2050 /**
2051 * \chinese
2052 * 获取标准模拟输出范围
2053 *
2054 * @param index: 表示IO口的管脚,管脚编号从0开始。
2055 * 例如,0表示第一个管脚。
2056 * @return 标准模拟输出范围
2057 *
2058 * @throws arcs::common_interface::AuboException
2059 *
2060 * @par Python函数原型
2061 * getStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2062 *
2063 * @par Lua函数原型
2064 * getStandardAnalogOutputDomain(index: number) -> number
2065 *
2066 * @par JSON-RPC请求示例
2067 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputDomain","params":[0],"id":1}
2068 *
2069 * @par JSON-RPC响应示例
2070 * {"id":1,"jsonrpc":"2.0","result":0}
2071 *
2072 * \endchinese
2073 * \english
2074 * Get the domain of standard analog output.
2075 *
2076 * @param index: Indicates the IO pin, starting from 0.
2077 * For example, 0 means the first pin.
2078 * @return Standard analog output domain
2079 *
2080 * @throws arcs::common_interface::AuboException
2081 *
2082 * @par Python function prototype
2083 * getStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2084 *
2085 * @par Lua function prototype
2086 * getStandardAnalogOutputDomain(index: number) -> number
2087 *
2088 * @par JSON-RPC request example
2089 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputDomain","params":[0],"id":1}
2090 *
2091 * @par JSON-RPC response example
2092 * {"id":1,"jsonrpc":"2.0","result":0}
2093 *
2094 * \endenglish
2095 */
2097
2098 /**
2099 * \chinese
2100 * 获取工具端模拟输出范围
2101 *
2102 * @param index: 表示IO口的管脚,管脚编号从0开始。
2103 * 例如,0表示第一个管脚。
2104 * @return 工具端模拟输出范围
2105 *
2106 * @throws arcs::common_interface::AuboException
2107 *
2108 * @par Python函数原型
2109 * getToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2110 *
2111 * @par Lua函数原型
2112 * getToolAnalogOutputDomain(index: number) -> number
2113 *
2114 * @par JSON-RPC请求示例
2115 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputDomain","params":[0],"id":1}
2116 *
2117 * @par JSON-RPC响应示例
2118 * {"id":1,"jsonrpc":"2.0","result":0}
2119 *
2120 * \endchinese
2121 * \english
2122 * Get the domain of tool analog output.
2123 *
2124 * @param index: Indicates the IO pin, starting from 0.
2125 * For example, 0 means the first pin.
2126 * @return Tool analog output domain
2127 *
2128 * @throws arcs::common_interface::AuboException
2129 *
2130 * @par Python function prototype
2131 * getToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2132 *
2133 * @par Lua function prototype
2134 * getToolAnalogOutputDomain(index: number) -> number
2135 *
2136 * @par JSON-RPC request example
2137 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputDomain","params":[0],"id":1}
2138 *
2139 * @par JSON-RPC response example
2140 * {"id":1,"jsonrpc":"2.0","result":0}
2141 *
2142 * \endenglish
2143 */
2145
2146 /**
2147 * \chinese
2148 * 设置工具端电源电压值(单位V)
2149 *
2150 * @param domain: 工具端电源电压值,可选三个档位,分别为0、12和24。\n
2151 * 0表示0V, 12表示12V, 24表示24V。
2152 *
2153 * @return 成功返回0; 失败返回错误码
2154 * AUBO_REQUEST_IGNORE
2155 * AUBO_BUSY
2156 * AUBO_BAD_STATE
2157 * -AUBO_INVL_ARGUMENT
2158 * -AUBO_BAD_STATE
2159 *
2160 * @throws arcs::common_interface::AuboException
2161 *
2162 * @par Python函数原型
2163 * setToolVoltageOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2164 *
2165 * @par Lua函数原型
2166 * setToolVoltageOutputDomain(domain: number) -> nil
2167 *
2168 * @par JSON-RPC请求示例
2169 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolVoltageOutputDomain","params":[24],"id":1}
2170 *
2171 * @par JSON-RPC响应示例
2172 * {"id":1,"jsonrpc":"2.0","result":0}
2173 *
2174 * \endchinese
2175 * \english
2176 * Set the tool voltage output value (unit: V)
2177 *
2178 * @param domain: Tool voltage output value, can be 0, 12, or 24.\n
2179 * 0 means 0V, 12 means 12V, 24 means 24V.
2180 *
2181 * @return Returns 0 on success; error code on failure.
2182 * AUBO_REQUEST_IGNORE
2183 * AUBO_BUSY
2184 * AUBO_BAD_STATE
2185 * -AUBO_INVL_ARGUMENT
2186 * -AUBO_BAD_STATE
2187 *
2188 * @throws arcs::common_interface::AuboException
2189 *
2190 * @par Python function prototype
2191 * setToolVoltageOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
2192 *
2193 * @par Lua function prototype
2194 * setToolVoltageOutputDomain(domain: number) -> nil
2195 *
2196 * @par JSON-RPC request example
2197 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolVoltageOutputDomain","params":[24],"id":1}
2198 *
2199 * @par JSON-RPC response example
2200 * {"id":1,"jsonrpc":"2.0","result":0}
2201 *
2202 * \endenglish
2203 */
2205
2206 /**
2207 * \chinese
2208 * 获取工具端电源电压值(单位V)
2209 *
2210 * @return 工具端电源电压值(单位V)
2211 *
2212 * @throws arcs::common_interface::AuboException
2213 *
2214 * @par Python函数原型
2215 * getToolVoltageOutputDomain(self: pyaubo_sdk.IoControl) -> int
2216 *
2217 * @par Lua函数原型
2218 * getToolVoltageOutputDomain() -> number
2219 *
2220 * @par JSON-RPC请求示例
2221 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolVoltageOutputDomain","params":[],"id":1}
2222 *
2223 * @par JSON-RPC响应示例
2224 * {"id":1,"jsonrpc":"2.0","result":0}
2225 *
2226 * \endchinese
2227 * \english
2228 * Get the tool voltage output value (unit: V)
2229 *
2230 * @return Tool voltage output value (unit: V)
2231 *
2232 * @throws arcs::common_interface::AuboException
2233 *
2234 * @par Python function prototype
2235 * getToolVoltageOutputDomain(self: pyaubo_sdk.IoControl) -> int
2236 *
2237 * @par Lua function prototype
2238 * getToolVoltageOutputDomain() -> number
2239 *
2240 * @par JSON-RPC request example
2241 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolVoltageOutputDomain","params":[],"id":1}
2242 *
2243 * @par JSON-RPC response example
2244 * {"id":1,"jsonrpc":"2.0","result":0}
2245 *
2246 * \endenglish
2247 */
2249
2250 /**
2251 * \chinese
2252 * 设置标准数字输出值
2253 *
2254 * @param index: 表示IO口的管脚,
2255 * @param value: 输出值
2256 * @return 成功返回0;失败返回错误码
2257 * AUBO_REQUEST_IGNORE
2258 * AUBO_BUSY
2259 * AUBO_BAD_STATE
2260 * -AUBO_INVL_ARGUMENT
2261 * -AUBO_BAD_STATE
2262 *
2263 * @throws arcs::common_interface::AuboException
2264 *
2265 * @par Python函数原型
2266 * setStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2267 * bool) -> int
2268 *
2269 * @par Lua函数原型
2270 * setStandardDigitalOutput(index: number, value: boolean) -> nil
2271 *
2272 * @par JSON-RPC请求示例
2273 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutput","params":[0,true],"id":1}
2274 *
2275 * @par JSON-RPC响应示例
2276 * {"id":1,"jsonrpc":"2.0","result":0}
2277 *
2278 * \endchinese
2279 * \english
2280 * Set the value of a standard digital output.
2281 *
2282 * @param index: Indicates the IO pin.
2283 * @param value: Output value.
2284 * @return Returns 0 on success; error code on failure.
2285 * AUBO_REQUEST_IGNORE
2286 * AUBO_BUSY
2287 * AUBO_BAD_STATE
2288 * -AUBO_INVL_ARGUMENT
2289 * -AUBO_BAD_STATE
2290 *
2291 * @throws arcs::common_interface::AuboException
2292 *
2293 * @par Python function prototype
2294 * setStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2295 * bool) -> int
2296 *
2297 * @par Lua function prototype
2298 * setStandardDigitalOutput(index: number, value: boolean) -> nil
2299 *
2300 * @par JSON-RPC request example
2301 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutput","params":[0,true],"id":1}
2302 *
2303 * @par JSON-RPC response example
2304 * {"id":1,"jsonrpc":"2.0","result":0}
2305 *
2306 * \endenglish
2307 */
2308 int setStandardDigitalOutput(int index, bool value);
2309
2310 /**
2311 * \chinese
2312 * 设置数字输出脉冲
2313 *
2314 * @param index
2315 * @param value
2316 * @param duration
2317 *
2318 * @return 成功返回0;失败返回错误码
2319 * AUBO_REQUEST_IGNORE
2320 * AUBO_BUSY
2321 * AUBO_BAD_STATE
2322 * -AUBO_INVL_ARGUMENT
2323 * -AUBO_BAD_STATE
2324 *
2325 * @throws arcs::common_interface::AuboException
2326 *
2327 * @par Python函数原型
2328 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
2329 * arg1: bool, arg2: float) -> int
2330 *
2331 * @par Lua函数原型
2332 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
2333 * number) -> nil
2334 *
2335 * @par JSON-RPC请求示例
2336 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
2337 *
2338 * @par JSON-RPC响应示例
2339 * {"id":1,"jsonrpc":"2.0","result":0}
2340 *
2341 * \endchinese
2342 * \english
2343 * Set digital output pulse.
2344 *
2345 * @param index
2346 * @param value
2347 * @param duration
2348 *
2349 * @return Returns 0 on success; error code on failure.
2350 * AUBO_REQUEST_IGNORE
2351 * AUBO_BUSY
2352 * AUBO_BAD_STATE
2353 * -AUBO_INVL_ARGUMENT
2354 * -AUBO_BAD_STATE
2355 *
2356 * @throws arcs::common_interface::AuboException
2357 *
2358 * @par Python function prototype
2359 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
2360 * arg1: bool, arg2: float) -> int
2361 *
2362 * @par Lua function prototype
2363 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
2364 * number) -> nil
2365 *
2366 * @par JSON-RPC request example
2367 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
2368 *
2369 * @par JSON-RPC response example
2370 * {"id":1,"jsonrpc":"2.0","result":0}
2371 *
2372 * \endenglish
2373 */
2374 int setStandardDigitalOutputPulse(int index, bool value, double duration);
2375
2376 /**
2377 * \chinese
2378 * 设置工具端数字输出值
2379 *
2380 * @param index: 表示IO口的管脚,管脚编号从0开始。
2381 * 例如,0表示第一个管脚。
2382 * @param value: 数字输出值
2383 *
2384 * @return 成功返回0;失败返回错误码
2385 * AUBO_REQUEST_IGNORE
2386 * AUBO_BUSY
2387 * AUBO_BAD_STATE
2388 * -AUBO_INVL_ARGUMENT
2389 * -AUBO_BAD_STATE
2390 *
2391 * @throws arcs::common_interface::AuboException
2392 *
2393 * @par Python函数原型
2394 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
2395 * -> int
2396 *
2397 * @par Lua函数原型
2398 * setToolDigitalOutput(index: number, value: boolean) -> nil
2399 *
2400 * @par JSON-RPC请求示例
2401 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
2402 *
2403 * @par JSON-RPC响应示例
2404 * {"id":1,"jsonrpc":"2.0","result":0}
2405 *
2406 * \endchinese
2407 * \english
2408 * Set the value of tool digital output.
2409 *
2410 * @param index: Indicates the IO pin, starting from 0.
2411 * For example, 0 means the first pin.
2412 * @param value: Output value.
2413 *
2414 * @return Returns 0 on success; error code on failure.
2415 * AUBO_REQUEST_IGNORE
2416 * AUBO_BUSY
2417 * AUBO_BAD_STATE
2418 * -AUBO_INVL_ARGUMENT
2419 * -AUBO_BAD_STATE
2420 *
2421 * @throws arcs::common_interface::AuboException
2422 *
2423 * @par Python function prototype
2424 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
2425 * -> int
2426 *
2427 * @par Lua function prototype
2428 * setToolDigitalOutput(index: number, value: boolean) -> nil
2429 *
2430 * @par JSON-RPC request example
2431 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
2432 *
2433 * @par JSON-RPC response example
2434 * {"id":1,"jsonrpc":"2.0","result":0}
2435 *
2436 * \endenglish
2437 */
2438 int setToolDigitalOutput(int index, bool value);
2439
2440 /**
2441 * \chinese
2442 * 设置工具端数字输出脉冲
2443 *
2444 * @param index
2445 * @param value
2446 * @param duration
2447 *
2448 * @return 成功返回0;失败返回错误码
2449 * AUBO_REQUEST_IGNORE
2450 * AUBO_BUSY
2451 * AUBO_BAD_STATE
2452 * -AUBO_INVL_ARGUMENT
2453 * -AUBO_BAD_STATE
2454 *
2455 * @throws arcs::common_interface::AuboException
2456 *
2457 * @par Python函数原型
2458 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2459 * bool, arg2: float) -> int
2460 *
2461 * @par Lua函数原型
2462 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
2463 * number) -> nil
2464 *
2465 * @par JSON-RPC请求示例
2466 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
2467 *
2468 * @par JSON-RPC响应示例
2469 * {"id":1,"jsonrpc":"2.0","result":0}
2470 *
2471 * \endchinese
2472 * \english
2473 * Set tool digital output pulse.
2474 *
2475 * @param index
2476 * @param value
2477 * @param duration
2478 *
2479 * @return Returns 0 on success; error code on failure.
2480 * AUBO_REQUEST_IGNORE
2481 * AUBO_BUSY
2482 * AUBO_BAD_STATE
2483 * -AUBO_INVL_ARGUMENT
2484 * -AUBO_BAD_STATE
2485 *
2486 * @throws arcs::common_interface::AuboException
2487 *
2488 * @par Python function prototype
2489 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2490 * bool, arg2: float) -> int
2491 *
2492 * @par Lua function prototype
2493 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
2494 * number) -> nil
2495 *
2496 * @par JSON-RPC request example
2497 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
2498 *
2499 * @par JSON-RPC response example
2500 * {"id":1,"jsonrpc":"2.0","result":0}
2501 *
2502 * \endenglish
2503 */
2504 int setToolDigitalOutputPulse(int index, bool value, double duration);
2505
2506 /**
2507 * \chinese
2508 * 设置可配置数字输出值
2509 *
2510 * @param index: 表示IO口的管脚,管脚编号从0开始。
2511 * 例如,0表示第一个管脚。
2512 * @param value: 数字输出值
2513 *
2514 * @return 成功返回0;失败返回错误码
2515 * AUBO_REQUEST_IGNORE
2516 * AUBO_BUSY
2517 * AUBO_BAD_STATE
2518 * -AUBO_INVL_ARGUMENT
2519 * -AUBO_BAD_STATE
2520 *
2521 * @throws arcs::common_interface::AuboException
2522 *
2523 * @par Python函数原型
2524 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2525 * bool) -> int
2526 *
2527 * @par Lua函数原型
2528 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
2529 *
2530 * @par JSON-RPC请求示例
2531 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
2532 *
2533 * @par JSON-RPC响应示例
2534 * {"id":1,"jsonrpc":"2.0","result":0}
2535 *
2536 * \endchinese
2537 * \english
2538 * Set the value of configurable digital output.
2539 *
2540 * @param index: Indicates the IO pin, starting from 0.
2541 * For example, 0 means the first pin.
2542 * @param value: Output value.
2543 *
2544 * @return Returns 0 on success; error code on failure.
2545 * AUBO_REQUEST_IGNORE
2546 * AUBO_BUSY
2547 * AUBO_BAD_STATE
2548 * -AUBO_INVL_ARGUMENT
2549 * -AUBO_BAD_STATE
2550 *
2551 * @throws arcs::common_interface::AuboException
2552 *
2553 * @par Python function prototype
2554 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2555 * bool) -> int
2556 *
2557 * @par Lua function prototype
2558 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
2559 *
2560 * @par JSON-RPC request example
2561 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
2562 *
2563 * @par JSON-RPC response example
2564 * {"id":1,"jsonrpc":"2.0","result":0}
2565 *
2566 * \endenglish
2567 */
2568 int setConfigurableDigitalOutput(int index, bool value);
2569
2570 /**
2571 * \chinese
2572 * 设置可配置数字输出脉冲
2573 *
2574 * @param index
2575 * @param value
2576 * @param duration
2577 *
2578 * @return 成功返回0;失败返回错误码
2579 * AUBO_REQUEST_IGNORE
2580 * AUBO_BUSY
2581 * AUBO_BAD_STATE
2582 * -AUBO_INVL_ARGUMENT
2583 * -AUBO_BAD_STATE
2584 *
2585 * @throws arcs::common_interface::AuboException
2586 *
2587 * @par Python函数原型
2588 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
2589 * arg1: bool, arg2: float) -> int
2590 *
2591 * @par Lua函数原型
2592 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
2593 * duration: number) -> nil
2594 *
2595 * @par JSON-RPC请求示例
2596 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
2597 *
2598 * @par JSON-RPC响应示例
2599 * {"id":1,"jsonrpc":"2.0","result":0}
2600 *
2601 * \endchinese
2602 * \english
2603 * Set configurable digital output pulse.
2604 *
2605 * @param index
2606 * @param value
2607 * @param duration
2608 *
2609 * @return Returns 0 on success; error code on failure.
2610 * AUBO_REQUEST_IGNORE
2611 * AUBO_BUSY
2612 * AUBO_BAD_STATE
2613 * -AUBO_INVL_ARGUMENT
2614 * -AUBO_BAD_STATE
2615 *
2616 * @throws arcs::common_interface::AuboException
2617 *
2618 * @par Python function prototype
2619 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
2620 * arg1: bool, arg2: float) -> int
2621 *
2622 * @par Lua function prototype
2623 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
2624 * duration: number) -> nil
2625 *
2626 * @par JSON-RPC request example
2627 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
2628 *
2629 * @par JSON-RPC response example
2630 * {"id":1,"jsonrpc":"2.0","result":0}
2631 *
2632 * \endenglish
2633 */
2634 int setConfigurableDigitalOutputPulse(int index, bool value,
2635 double duration);
2636
2637 /**
2638 * \chinese
2639 * 设置标准模拟输出值
2640 *
2641 * @param index: 表示IO口的管脚,管脚编号从0开始。
2642 * 例如,0表示第一个管脚。
2643 * @param value: 模拟输出值
2644 *
2645 * @return 成功返回0;失败返回错误码
2646 * AUBO_REQUEST_IGNORE
2647 * AUBO_BUSY
2648 * AUBO_BAD_STATE
2649 * -AUBO_INVL_ARGUMENT
2650 * -AUBO_BAD_STATE
2651 *
2652 * @throws arcs::common_interface::AuboException
2653 *
2654 * @par Python函数原型
2655 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2656 * float) -> int
2657 *
2658 * @par Lua函数原型
2659 * setStandardAnalogOutput(index: number, value: number) -> nil
2660 *
2661 * \endchinese
2662 * \english
2663 * Set the value of standard analog output.
2664 *
2665 * @param index: Indicates the IO pin, starting from 0.
2666 * For example, 0 means the first pin.
2667 * @param value: Output value.
2668 *
2669 * @return Returns 0 on success; error code on failure.
2670 * AUBO_REQUEST_IGNORE
2671 * AUBO_BUSY
2672 * AUBO_BAD_STATE
2673 * -AUBO_INVL_ARGUMENT
2674 * -AUBO_BAD_STATE
2675 *
2676 * @throws arcs::common_interface::AuboException
2677 *
2678 * @par Python function prototype
2679 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
2680 * float) -> int
2681 *
2682 * @par Lua function prototype
2683 * setStandardAnalogOutput(index: number, value: number) -> nil
2684 *
2685 * \endenglish
2686 */
2687 int setStandardAnalogOutput(int index, double value);
2688
2689 /**
2690 * \chinese
2691 * 设置工具端模拟输出值
2692 *
2693 * @param index: 表示IO口的管脚,管脚编号从0开始。
2694 * 例如,0表示第一个管脚。
2695 * @param value: 模拟输出
2696 *
2697 * @return 成功返回0;失败返回错误码
2698 * AUBO_REQUEST_IGNORE
2699 * AUBO_BUSY
2700 * AUBO_BAD_STATE
2701 * -AUBO_INVL_ARGUMENT
2702 * -AUBO_BAD_STATE
2703 *
2704 * @throws arcs::common_interface::AuboException
2705 *
2706 * @par Python函数原型
2707 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
2708 * -> int
2709 *
2710 * @par Lua函数原型
2711 * setToolAnalogOutput(index: number, value: number) -> nil
2712 *
2713 * @par JSON-RPC请求示例
2714 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
2715 *
2716 * @par JSON-RPC响应示例
2717 * {"id":1,"jsonrpc":"2.0","result":13}
2718 *
2719 * \endchinese
2720 * \english
2721 * Set the value of tool analog output.
2722 *
2723 * @param index: Indicates the IO pin, starting from 0.
2724 * For example, 0 means the first pin.
2725 * @param value: Output value.
2726 *
2727 * @return Returns 0 on success; error code on failure.
2728 * AUBO_REQUEST_IGNORE
2729 * AUBO_BUSY
2730 * AUBO_BAD_STATE
2731 * -AUBO_INVL_ARGUMENT
2732 * -AUBO_BAD_STATE
2733 *
2734 * @throws arcs::common_interface::AuboException
2735 *
2736 * @par Python function prototype
2737 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
2738 * -> int
2739 *
2740 * @par Lua function prototype
2741 * setToolAnalogOutput(index: number, value: number) -> nil
2742 *
2743 * @par JSON-RPC request example
2744 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
2745 *
2746 * @par JSON-RPC response example
2747 * {"id":1,"jsonrpc":"2.0","result":13}
2748 *
2749 * \endenglish
2750 */
2751 int setToolAnalogOutput(int index, double value);
2752
2753 /**
2754 * \chinese
2755 * 获取标准数字输入值
2756 *
2757 * @param index: 表示IO口的管脚,管脚编号从0开始。
2758 * 例如,0表示第一个管脚。
2759 *
2760 * @return 高电平返回true; 低电平返回false
2761 *
2762 * @throws arcs::common_interface::AuboException
2763 *
2764 * @par Python函数原型
2765 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
2766 *
2767 * @par Lua函数原型
2768 * getStandardDigitalInput(index: number) -> boolean
2769 *
2770 * @par JSON-RPC请求示例
2771 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
2772 *
2773 * @par JSON-RPC响应示例
2774 * {"id":1,"jsonrpc":"2.0","result":false}
2775 *
2776 * \endchinese
2777 * \english
2778 * Get the value of a standard digital input.
2779 *
2780 * @param index: Indicates the IO pin, starting from 0.
2781 * For example, 0 means the first pin.
2782 *
2783 * @return Returns true for high level; false for low level.
2784 *
2785 * @throws arcs::common_interface::AuboException
2786 *
2787 * @par Python function prototype
2788 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
2789 *
2790 * @par Lua function prototype
2791 * getStandardDigitalInput(index: number) -> boolean
2792 *
2793 * @par JSON-RPC request example
2794 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
2795 *
2796 * @par JSON-RPC response example
2797 * {"id":1,"jsonrpc":"2.0","result":false}
2798 *
2799 * \endenglish
2800 */
2802
2803 /**
2804 * \chinese
2805 * 获取所有的标准数字输入值
2806 *
2807 * @return 所有的标准数字输入值 \n
2808 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
2809 * 后16位就是所有的标准数字输入状态值,
2810 * 最后一位表示DI00的输入状态值,倒数第二位表示DI01的输入状态值,以此类推。\n
2811 * 1表示高电平状态,0表示低电平状态
2812 *
2813 * @throws arcs::common_interface::AuboException
2814 *
2815 * @par Python函数原型
2816 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
2817 *
2818 * @par Lua函数原型
2819 * getStandardDigitalInputs() -> number
2820 *
2821 * @par JSON-RPC请求示例
2822 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
2823 *
2824 * @par JSON-RPC响应示例
2825 * {"id":1,"jsonrpc":"2.0","result":0}
2826 *
2827 * \endchinese
2828 * \english
2829 * Get all standard digital input values.
2830 *
2831 * @return All standard digital input values.\n
2832 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
2833 * The lower 16 bits represent the status of all standard digital inputs,
2834 * the least significant bit indicates the input status of DI00, the second least significant bit indicates DI01, and so on.\n
2835 * 1 means high level, 0 means low level.
2836 *
2837 * @throws arcs::common_interface::AuboException
2838 *
2839 * @par Python function prototype
2840 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
2841 *
2842 * @par Lua function prototype
2843 * getStandardDigitalInputs() -> number
2844 *
2845 * @par JSON-RPC request example
2846 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
2847 *
2848 * @par JSON-RPC response example
2849 * {"id":1,"jsonrpc":"2.0","result":0}
2850 *
2851 * \endenglish
2852 */
2854
2855 /**
2856 * \chinese
2857 * 获取工具端数字输入值
2858 *
2859 * @param index: 表示IO口的管脚,管脚编号从0开始。
2860 * 例如,0表示第一个管脚。
2861 *
2862 * @return 高电平返回true; 低电平返回false
2863 *
2864 * @throws arcs::common_interface::AuboException
2865 *
2866 * @par Python函数原型
2867 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
2868 *
2869 * @par Lua函数原型
2870 * getToolDigitalInput(index: number) -> boolean
2871 *
2872 * @par JSON-RPC请求示例
2873 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
2874 *
2875 * @par JSON-RPC响应示例
2876 * {"id":1,"jsonrpc":"2.0","result":false}
2877 *
2878 * \endchinese
2879 * \english
2880 * Get the value of tool digital input.
2881 *
2882 * @param index: Indicates the IO pin, starting from 0.
2883 * For example, 0 means the first pin.
2884 *
2885 * @return Returns true for high level; false for low level.
2886 *
2887 * @throws arcs::common_interface::AuboException
2888 *
2889 * @par Python function prototype
2890 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
2891 *
2892 * @par Lua function prototype
2893 * getToolDigitalInput(index: number) -> boolean
2894 *
2895 * @par JSON-RPC request example
2896 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
2897 *
2898 * @par JSON-RPC response example
2899 * {"id":1,"jsonrpc":"2.0","result":false}
2900 *
2901 * \endenglish
2902 */
2903 bool getToolDigitalInput(int index);
2904
2905 /**
2906 * \chinese
2907 * 获取所有的工具端数字输入值
2908 *
2909 * @return 返回所有的工具端数字输入值
2910 *
2911 * @throws arcs::common_interface::AuboException
2912 *
2913 * @par Python函数原型
2914 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
2915 *
2916 * @par Lua函数原型
2917 * getToolDigitalInputs() -> number
2918 *
2919 * @par JSON-RPC请求示例
2920 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
2921 *
2922 * @par JSON-RPC响应示例
2923 * {"id":1,"jsonrpc":"2.0","result":0}
2924 *
2925 * \endchinese
2926 * \english
2927 * Get all tool digital input values.
2928 *
2929 * @return Returns all tool digital input values.
2930 *
2931 * @throws arcs::common_interface::AuboException
2932 *
2933 * @par Python function prototype
2934 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
2935 *
2936 * @par Lua function prototype
2937 * getToolDigitalInputs() -> number
2938 *
2939 * @par JSON-RPC request example
2940 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
2941 *
2942 * @par JSON-RPC response example
2943 * {"id":1,"jsonrpc":"2.0","result":0}
2944 *
2945 * \endenglish
2946 */
2948
2949 /**
2950 * \chinese
2951 * 获取可配置数字输入值
2952 *
2953 * @note 可用于获取安全IO的输入值
2954 *
2955 * @param index: 表示IO口的管脚,管脚编号从0开始。
2956 * 例如,0表示第一个管脚。
2957 *
2958 * @return 高电平返回true; 低电平返回false
2959 *
2960 * @throws arcs::common_interface::AuboException
2961 *
2962 * @par Python函数原型
2963 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
2964 *
2965 * @par Lua函数原型
2966 * getConfigurableDigitalInput(index: number) -> boolean
2967 *
2968 * @par JSON-RPC请求示例
2969 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
2970 *
2971 * @par JSON-RPC响应示例
2972 * {"id":1,"jsonrpc":"2.0","result":false}
2973 *
2974 * \endchinese
2975 * \english
2976 * Get the value of configurable digital input.
2977 *
2978 * @note Can be used to get the value of safety IO.
2979 *
2980 * @param index: Indicates the IO pin, starting from 0.
2981 * For example, 0 means the first pin.
2982 *
2983 * @return Returns true for high level; false for low level.
2984 *
2985 * @throws arcs::common_interface::AuboException
2986 *
2987 * @par Python function prototype
2988 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
2989 *
2990 * @par Lua function prototype
2991 * getConfigurableDigitalInput(index: number) -> boolean
2992 *
2993 * @par JSON-RPC request example
2994 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
2995 *
2996 * @par JSON-RPC response example
2997 * {"id":1,"jsonrpc":"2.0","result":false}
2998 *
2999 * \endenglish
3000 */
3002
3003 /**
3004 * \chinese
3005 * 获取所有的可配置数字输入值
3006 *
3007 * @note 可用于获取安全IO的输入值
3008 *
3009 * @return 所有的可配置数字输入值\n
3010 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3011 * 后16位就是所有的输入状态值,
3012 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
3013 * 1表示高电平状态,0表示低电平状态
3014 *
3015 * @throws arcs::common_interface::AuboException
3016 *
3017 * @par Python函数原型
3018 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3019 *
3020 * @par Lua函数原型
3021 * getConfigurableDigitalInputs() -> number
3022 *
3023 * @par JSON-RPC请求示例
3024 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
3025 *
3026 * @par JSON-RPC响应示例
3027 * {"id":1,"jsonrpc":"2.0","result":0}
3028 *
3029 * \endchinese
3030 * \english
3031 * Get all configurable digital input values.
3032 *
3033 * @note Can be used to get the value of safety IO.
3034 *
3035 * @return All configurable digital input values.\n
3036 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
3037 * The lower 16 bits represent the status of all input pins,
3038 * the least significant bit indicates the input status of pin 0, the second least significant bit indicates pin 1, and so on.\n
3039 * 1 means high level, 0 means low level.
3040 *
3041 * @throws arcs::common_interface::AuboException
3042 *
3043 * @par Python function prototype
3044 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
3045 *
3046 * @par Lua function prototype
3047 * getConfigurableDigitalInputs() -> number
3048 *
3049 * @par JSON-RPC request example
3050 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
3051 *
3052 * @par JSON-RPC response example
3053 * {"id":1,"jsonrpc":"2.0","result":0}
3054 *
3055 * \endenglish
3056 */
3058
3059 /**
3060 * \chinese
3061 * 获取标准数字输出值
3062 *
3063 * @param index: 表示IO口的管脚,管脚编号从0开始。
3064 * 例如,0表示第一个管脚。
3065 *
3066 * @return 高电平返回true; 低电平返回false
3067 *
3068 * @throws arcs::common_interface::AuboException
3069 *
3070 * @par Python函数原型
3071 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3072 *
3073 * @par Lua函数原型
3074 * getStandardDigitalOutput(index: number) -> boolean
3075 *
3076 * @par JSON-RPC请求示例
3077 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
3078 *
3079 * @par JSON-RPC响应示例
3080 * {"id":1,"jsonrpc":"2.0","result":true}
3081 *
3082 * \endchinese
3083 * \english
3084 * Get the value of a standard digital output.
3085 *
3086 * @param index: Indicates the IO pin, starting from 0.
3087 * For example, 0 means the first pin.
3088 *
3089 * @return Returns true for high level; false for low level.
3090 *
3091 * @throws arcs::common_interface::AuboException
3092 *
3093 * @par Python function prototype
3094 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3095 *
3096 * @par Lua function prototype
3097 * getStandardDigitalOutput(index: number) -> boolean
3098 *
3099 * @par JSON-RPC request example
3100 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
3101 *
3102 * @par JSON-RPC response example
3103 * {"id":1,"jsonrpc":"2.0","result":true}
3104 *
3105 * \endenglish
3106 */
3108
3109 /**
3110 * \chinese
3111 * 获取所有的标准数字输出值
3112 *
3113 * @return 所有的标准数字输出值 \n
3114 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3115 * 后16位就是所有的标准数字输出状态值,
3116 * 最后一位表示DI00的输出状态值,倒数第二位表示DI01的输出状态值,以此类推。\n
3117 * 1表示高电平状态,0表示低电平状态.
3118 *
3119 * @throws arcs::common_interface::AuboException
3120 *
3121 * @par Python函数原型
3122 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3123 *
3124 * @par Lua函数原型
3125 * getStandardDigitalOutputs() -> number
3126 *
3127 * @par JSON-RPC请求示例
3128 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
3129 *
3130 * @par JSON-RPC响应示例
3131 * {"id":1,"jsonrpc":"2.0","result":69}
3132 *
3133 * \endchinese
3134 * \english
3135 * Get all standard digital output values.
3136 *
3137 * @return All standard digital output values.\n
3138 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
3139 * The lower 16 bits represent the status of all standard digital outputs,
3140 * the least significant bit indicates the output status of DO00, the second least significant bit indicates DO01, and so on.\n
3141 * 1 means high level, 0 means low level.
3142 *
3143 * @throws arcs::common_interface::AuboException
3144 *
3145 * @par Python function prototype
3146 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3147 *
3148 * @par Lua function prototype
3149 * getStandardDigitalOutputs() -> number
3150 *
3151 * @par JSON-RPC request example
3152 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
3153 *
3154 * @par JSON-RPC response example
3155 * {"id":1,"jsonrpc":"2.0","result":69}
3156 *
3157 * \endenglish
3158 */
3160
3161 /**
3162 * \chinese
3163 * 获取工具端数字输出值
3164 *
3165 * @param index: 表示IO口的管脚,管脚编号从0开始。
3166 * 例如,0表示第一个管脚。
3167 *
3168 * @return 高电平返回true; 低电平返回false
3169 *
3170 * @throws arcs::common_interface::AuboException
3171 *
3172 * @par Python函数原型
3173 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3174 *
3175 * @par Lua函数原型
3176 * getToolDigitalOutput(index: number) -> boolean
3177 *
3178 * @par JSON-RPC请求示例
3179 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
3180 *
3181 * @par JSON-RPC响应示例
3182 * {"id":1,"jsonrpc":"2.0","result":false}
3183 *
3184 * \endchinese
3185 * \english
3186 * Get the value of tool digital output.
3187 *
3188 * @param index: Indicates the IO pin, starting from 0.
3189 * For example, 0 means the first pin.
3190 *
3191 * @return Returns true for high level; false for low level.
3192 *
3193 * @throws arcs::common_interface::AuboException
3194 *
3195 * @par Python function prototype
3196 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
3197 *
3198 * @par Lua function prototype
3199 * getToolDigitalOutput(index: number) -> boolean
3200 *
3201 * @par JSON-RPC request example
3202 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
3203 *
3204 * @par JSON-RPC response example
3205 * {"id":1,"jsonrpc":"2.0","result":false}
3206 *
3207 * \endenglish
3208 */
3209 bool getToolDigitalOutput(int index);
3210
3211 /**
3212 * \chinese
3213 * 获取所有的工具端数字输出值
3214 *
3215 * @return 所有的工具端数字输出值
3216 *
3217 * @throws arcs::common_interface::AuboException
3218 *
3219 * @par Python函数原型
3220 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3221 *
3222 * @par Lua函数原型
3223 * getToolDigitalOutputs() -> number
3224 *
3225 * @par JSON-RPC请求示例
3226 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
3227 *
3228 * @par JSON-RPC响应示例
3229 * {"id":1,"jsonrpc":"2.0","result":9}
3230 *
3231 * \endchinese
3232 * \english
3233 * Get all tool digital output values.
3234 *
3235 * @return All tool digital output values.
3236 *
3237 * @throws arcs::common_interface::AuboException
3238 *
3239 * @par Python function prototype
3240 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3241 *
3242 * @par Lua function prototype
3243 * getToolDigitalOutputs() -> number
3244 *
3245 * @par JSON-RPC request example
3246 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
3247 *
3248 * @par JSON-RPC response example
3249 * {"id":1,"jsonrpc":"2.0","result":9}
3250 *
3251 * \endenglish
3252 */
3254
3255 /**
3256 * \chinese
3257 * 获取可配值数字输出值
3258 *
3259 * @note 可用于获取安全IO的输出值
3260 *
3261 * @param index: 表示IO口的管脚,管脚编号从0开始。
3262 * 例如,0表示第一个管脚。
3263 *
3264 * @return 高电平返回true; 低电平返回false
3265 *
3266 * @throws arcs::common_interface::AuboException
3267 *
3268 * @par Python函数原型
3269 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
3270 * bool
3271 *
3272 * @par Lua函数原型
3273 * getConfigurableDigitalOutput(index: number) -> boolean
3274 *
3275 * @par JSON-RPC请求示例
3276 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
3277 *
3278 * @par JSON-RPC响应示例
3279 * {"id":1,"jsonrpc":"2.0","result":true}
3280 *
3281 * \endchinese
3282 * \english
3283 * Get the value of configurable digital output.
3284 *
3285 * @note Can be used to get the value of safety IO.
3286 *
3287 * @param index: Indicates the IO pin, starting from 0.
3288 * For example, 0 means the first pin.
3289 *
3290 * @return Returns true for high level; false for low level.
3291 *
3292 * @throws arcs::common_interface::AuboException
3293 *
3294 * @par Python function prototype
3295 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
3296 * bool
3297 *
3298 * @par Lua function prototype
3299 * getConfigurableDigitalOutput(index: number) -> boolean
3300 *
3301 * @par JSON-RPC request example
3302 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
3303 *
3304 * @par JSON-RPC response example
3305 * {"id":1,"jsonrpc":"2.0","result":true}
3306 *
3307 * \endenglish
3308 */
3310
3311 /**
3312 * \chinese
3313 * 获取所有的可配值数字输出值
3314 *
3315 * @note 可用于获取安全IO的输出值
3316 *
3317 * @return 所有的可配值数字输出\n
3318 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3319 * 后16位就是所有的输出值,
3320 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
3321 * 1表示高电平状态,0表示低电平状态.
3322 *
3323 * @throws arcs::common_interface::AuboException
3324 *
3325 * @par Python函数原型
3326 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3327 *
3328 * @par Lua函数原型
3329 * getConfigurableDigitalOutputs() -> number
3330 *
3331 * @par JSON-RPC请求示例
3332 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
3333 *
3334 * @par JSON-RPC响应示例
3335 * {"id":1,"jsonrpc":"2.0","result":1}
3336 *
3337 * \endchinese
3338 * \english
3339 * Get all configurable digital output values.
3340 *
3341 * @note Can be used to get the value of safety IO.
3342 *
3343 * @return All configurable digital output values.\n
3344 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
3345 * The lower 16 bits represent the status of all output pins,
3346 * the least significant bit indicates the output status of pin 0, the second least significant bit indicates pin 1, and so on.\n
3347 * 1 means high level, 0 means low level.
3348 *
3349 * @throws arcs::common_interface::AuboException
3350 *
3351 * @par Python function prototype
3352 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
3353 *
3354 * @par Lua function prototype
3355 * getConfigurableDigitalOutputs() -> number
3356 *
3357 * @par JSON-RPC request example
3358 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
3359 *
3360 * @par JSON-RPC response example
3361 * {"id":1,"jsonrpc":"2.0","result":1}
3362 *
3363 * \endenglish
3364 */
3366
3367 /**
3368 * \chinese
3369 * 获取标准模拟输入值
3370 *
3371 * @param index: 表示IO口的管脚,管脚编号从0开始。
3372 * 例如,0表示第一个管脚。
3373 *
3374 * @return 标准模拟输入值
3375 *
3376 * @throws arcs::common_interface::AuboException
3377 *
3378 * @par Python函数原型
3379 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3380 *
3381 * @par Lua函数原型
3382 * getStandardAnalogInput(index: number) -> number
3383 *
3384 * @par JSON-RPC请求示例
3385 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
3386 *
3387 * @par JSON-RPC响应示例
3388 * {"id":1,"jsonrpc":"2.0","result":0.0}
3389 *
3390 * \endchinese
3391 * \english
3392 * Get the value of standard analog input.
3393 *
3394 * @param index: Indicates the IO pin, starting from 0.
3395 * For example, 0 means the first pin.
3396 *
3397 * @return Standard analog input value.
3398 *
3399 * @throws arcs::common_interface::AuboException
3400 *
3401 * @par Python function prototype
3402 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3403 *
3404 * @par Lua function prototype
3405 * getStandardAnalogInput(index: number) -> number
3406 *
3407 * @par JSON-RPC request example
3408 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
3409 *
3410 * @par JSON-RPC response example
3411 * {"id":1,"jsonrpc":"2.0","result":0.0}
3412 *
3413 * \endenglish
3414 */
3415 double getStandardAnalogInput(int index);
3416
3417 /**
3418 * \chinese
3419 * 获取工具端模拟输入值
3420 *
3421 * @param index: 表示IO口的管脚,管脚编号从0开始。
3422 * 例如,0表示第一个管脚。
3423 *
3424 * @return 工具端模拟输入值
3425 *
3426 * @throws arcs::common_interface::AuboException
3427 *
3428 * @par Python函数原型
3429 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3430 *
3431 * @par Lua函数原型
3432 * getToolAnalogInput(index: number) -> number
3433 *
3434 * @par JSON-RPC请求示例
3435 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
3436 *
3437 * @par JSON-RPC响应示例
3438 * {"id":1,"jsonrpc":"2.0","result":0.0}
3439 *
3440 * \endchinese
3441 * \english
3442 * Get the value of tool analog input.
3443 *
3444 * @param index: Indicates the IO pin, starting from 0.
3445 * For example, 0 means the first pin.
3446 *
3447 * @return Tool analog input value.
3448 *
3449 * @throws arcs::common_interface::AuboException
3450 *
3451 * @par Python function prototype
3452 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3453 *
3454 * @par Lua function prototype
3455 * getToolAnalogInput(index: number) -> number
3456 *
3457 * @par JSON-RPC request example
3458 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
3459 *
3460 * @par JSON-RPC response example
3461 * {"id":1,"jsonrpc":"2.0","result":0.0}
3462 *
3463 * \endenglish
3464 */
3465 double getToolAnalogInput(int index);
3466
3467 /**
3468 * \chinese
3469 * 获取标准模拟输出值
3470 *
3471 * @param index: 表示IO口的管脚,管脚编号从0开始。
3472 * 例如,0表示第一个管脚。
3473 *
3474 * @return 标准模拟输出值
3475 *
3476 * @throws arcs::common_interface::AuboException
3477 *
3478 * @par Python函数原型
3479 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3480 *
3481 * @par Lua函数原型
3482 * getStandardAnalogOutput(index: number) -> number
3483 *
3484 * @par JSON-RPC请求示例
3485 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
3486 *
3487 * @par JSON-RPC响应示例
3488 * {"id":1,"jsonrpc":"2.0","result":0.0}
3489 *
3490 * \endchinese
3491 * \english
3492 * Get the value of standard analog output.
3493 *
3494 * @param index: Indicates the IO pin, starting from 0.
3495 * For example, 0 means the first pin.
3496 *
3497 * @return Standard analog output value.
3498 *
3499 * @throws arcs::common_interface::AuboException
3500 *
3501 * @par Python function prototype
3502 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3503 *
3504 * @par Lua function prototype
3505 * getStandardAnalogOutput(index: number) -> number
3506 *
3507 * @par JSON-RPC request example
3508 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
3509 *
3510 * @par JSON-RPC response example
3511 * {"id":1,"jsonrpc":"2.0","result":0.0}
3512 *
3513 * \endenglish
3514 */
3515 double getStandardAnalogOutput(int index);
3516
3517 /**
3518 * \chinese
3519 * 获取工具端模拟输出值
3520 *
3521 * @param index: 表示IO口的管脚,管脚编号从0开始。
3522 * 例如,0表示第一个管脚。
3523 *
3524 * @return 工具端模拟输出值
3525 *
3526 * @throws arcs::common_interface::AuboException
3527 *
3528 * @par Python函数原型
3529 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3530 *
3531 * @par Lua函数原型
3532 * getToolAnalogOutput(index: number) -> number
3533 *
3534 * @par JSON-RPC请求示例
3535 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
3536 *
3537 * @par JSON-RPC响应示例
3538 * {"id":1,"jsonrpc":"2.0","result":0.0}
3539 *
3540 * \endchinese
3541 * \english
3542 * Get the value of tool analog output.
3543 *
3544 * @param index: Indicates the IO pin, starting from 0.
3545 * For example, 0 means the first pin.
3546 *
3547 * @return Tool analog output value.
3548 *
3549 * @throws arcs::common_interface::AuboException
3550 *
3551 * @par Python function prototype
3552 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
3553 *
3554 * @par Lua function prototype
3555 * getToolAnalogOutput(index: number) -> number
3556 *
3557 * @par JSON-RPC request example
3558 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
3559 *
3560 * @par JSON-RPC response example
3561 * {"id":1,"jsonrpc":"2.0","result":0.0}
3562 *
3563 * \endenglish
3564 */
3565 double getToolAnalogOutput(int index);
3566
3567 /**
3568 * \chinese
3569 * 获取联动输入数量
3570 *
3571 * @return 联动输入数量
3572 *
3573 * @throws arcs::common_interface::AuboException
3574 *
3575 * @par Python函数原型
3576 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
3577 *
3578 * @par Lua函数原型
3579 * getStaticLinkInputNum() -> number
3580 *
3581 * @par JSON-RPC请求示例
3582 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
3583 *
3584 * @par JSON-RPC响应示例
3585 * {"id":1,"jsonrpc":"2.0","result":8}
3586 *
3587 * \endchinese
3588 * \english
3589 * Get the number of static link inputs.
3590 *
3591 * @return Number of static link inputs.
3592 *
3593 * @throws arcs::common_interface::AuboException
3594 *
3595 * @par Python function prototype
3596 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
3597 *
3598 * @par Lua function prototype
3599 * getStaticLinkInputNum() -> number
3600 *
3601 * @par JSON-RPC request example
3602 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
3603 *
3604 * @par JSON-RPC response example
3605 * {"id":1,"jsonrpc":"2.0","result":8}
3606 *
3607 * \endenglish
3608 */
3610
3611 /**
3612 * \chinese
3613 * 获取联动输出数量
3614 *
3615 * @return 联动输出数量
3616 *
3617 * @throws arcs::common_interface::AuboException
3618 *
3619 * @par Python函数原型
3620 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
3621 *
3622 * @par Lua函数原型
3623 * getStaticLinkOutputNum() -> number
3624 *
3625 * @par JSON-RPC请求示例
3626 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
3627 *
3628 * @par JSON-RPC响应示例
3629 * {"id":1,"jsonrpc":"2.0","result":0}
3630 *
3631 * \endchinese
3632 * \english
3633 * Get the number of static link outputs.
3634 *
3635 * @return Number of static link outputs.
3636 *
3637 * @throws arcs::common_interface::AuboException
3638 *
3639 * @par Python function prototype
3640 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
3641 *
3642 * @par Lua function prototype
3643 * getStaticLinkOutputNum() -> number
3644 *
3645 * @par JSON-RPC request example
3646 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
3647 *
3648 * @par JSON-RPC response example
3649 * {"id":1,"jsonrpc":"2.0","result":0}
3650 *
3651 * \endenglish
3652 */
3654
3655 /**
3656 * \chinese
3657 * 获取所有的联动输入值
3658 *
3659 * @return 所有的联动输入值\n
3660 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3661 * 后16位就是所有的联动输入状态值,
3662 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
3663 * 1表示高电平状态,0表示低电平状态.
3664 *
3665 * @throws arcs::common_interface::AuboException
3666 *
3667 * @par Python函数原型
3668 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
3669 *
3670 * @par Lua函数原型
3671 * getStaticLinkInputs() -> number
3672 *
3673 * @par JSON-RPC请求示例
3674 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
3675 *
3676 * @par JSON-RPC响应示例
3677 * {"id":1,"jsonrpc":"2.0","result":0}
3678 *
3679 * \endchinese
3680 * \english
3681 * Get all static link input values.
3682 *
3683 * @return All static link input values.\n
3684 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
3685 * The lower 16 bits represent the status of all static link inputs,
3686 * the least significant bit indicates the input status of pin 0, the second least significant bit indicates pin 1, and so on.\n
3687 * 1 means high level, 0 means low level.
3688 *
3689 * @throws arcs::common_interface::AuboException
3690 *
3691 * @par Python function prototype
3692 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
3693 *
3694 * @par Lua function prototype
3695 * getStaticLinkInputs() -> number
3696 *
3697 * @par JSON-RPC request example
3698 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
3699 *
3700 * @par JSON-RPC response example
3701 * {"id":1,"jsonrpc":"2.0","result":0}
3702 *
3703 * \endenglish
3704 */
3706
3707 /**
3708 * \chinese
3709 * 获取所有的联动输出值
3710 *
3711 * @return 返回所有的联动输出值 \n
3712 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
3713 * 后16位就是所有的联动输出状态值,
3714 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
3715 * 1表示高电平状态,0表示低电平状态.
3716 *
3717 * @throws arcs::common_interface::AuboException
3718 *
3719 * @par Python函数原型
3720 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
3721 *
3722 * @par Lua函数原型
3723 * getStaticLinkOutputs() -> number
3724 *
3725 * @par JSON-RPC请求示例
3726 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
3727 *
3728 * @par JSON-RPC响应示例
3729 * {"id":1,"jsonrpc":"2.0","result":0}
3730 *
3731 * \endchinese
3732 * \english
3733 * Get all static link output values.
3734 *
3735 * @return Returns all static link output values.\n
3736 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
3737 * The lower 16 bits represent the status of all static link outputs,
3738 * the least significant bit indicates the output status of pin 0, the second least significant bit indicates pin 1, and so on.\n
3739 * 1 means high level, 0 means low level.
3740 *
3741 * @throws arcs::common_interface::AuboException
3742 *
3743 * @par Python function prototype
3744 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
3745 *
3746 * @par Lua function prototype
3747 * getStaticLinkOutputs() -> number
3748 *
3749 * @par JSON-RPC request example
3750 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
3751 *
3752 * @par JSON-RPC response example
3753 * {"id":1,"jsonrpc":"2.0","result":0}
3754 *
3755 * \endenglish
3756 */
3758
3759 /**
3760 * \chinese
3761 * 机器人是否配置了编码器
3762 * 集成编码器的编号为 0
3763 *
3764 * @return 机器人配置编码器返回 true, 反之返回 false
3765 *
3766 * @throws arcs::common_interface::AuboException
3767 *
3768 * @par JSON-RPC请求示例
3769 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
3770 *
3771 * @par JSON-RPC响应示例
3772 * {"id":1,"jsonrpc":"2.0","result":true}
3773 *
3774 * \endchinese
3775 * \english
3776 * Whether the robot is equipped with an encoder.
3777 * The integrated encoder number is 0.
3778 *
3779 * @return Returns true if the robot is equipped with an encoder, otherwise false.
3780 *
3781 * @throws arcs::common_interface::AuboException
3782 *
3783 * @par JSON-RPC request example
3784 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
3785 *
3786 * @par JSON-RPC response example
3787 * {"id":1,"jsonrpc":"2.0","result":true}
3788 *
3789 * \endenglish
3790 */
3792 /**
3793 * \chinese
3794 * 设置集成编码器的解码方式
3795 *
3796 * @param type
3797 * 0-禁用编码器
3798 * 1-AB正交
3799 * 2-AB正交+Z
3800 * 3-AB差分正交
3801 * 4-AB差分正交+Z差分
3802 *
3803 * @param range_id
3804 * 0 表示32位有符号编码器,范围为 [-2147483648, 2147483647]
3805 * 1 表示8位无符号编码器,范围为 [0, 255]
3806 * 2 表示16位无符号编码器,范围为 [0, 65535]
3807 * 3 表示24位无符号编码器,范围为 [0, 16777215]
3808 * 4 表示32位无符号编码器,范围为 [0, 4294967295]
3809 *
3810 * @return 成功返回0;失败返回错误码
3811 * AUBO_NO_ACCESS
3812 * AUBO_BUSY
3813 * AUBO_BAD_STATE
3814 * -AUBO_INVL_ARGUMENT
3815 * -AUBO_BAD_STATE
3816 *
3817 * @throws arcs::common_interface::AuboException
3818 * \endchinese
3819 * \english
3820 * Set the decoding method of the integrated encoder.
3821 *
3822 * @param type
3823 * 0 - Disable encoder
3824 * 1 - AB quadrature
3825 * 2 - AB quadrature + Z
3826 * 3 - AB differential quadrature
3827 * 4 - AB differential quadrature + Z differential
3828 *
3829 * @param range_id
3830 * 0 is a 32-bit signed encoder, range [-2147483648, 2147483647]
3831 * 1 is an 8-bit unsigned encoder, range [0, 255]
3832 * 2 is a 16-bit unsigned encoder, range [0, 65535]
3833 * 3 is a 24-bit unsigned encoder, range [0, 16777215]
3834 * 4 is a 32-bit unsigned encoder, range [0, 4294967295]
3835 *
3836 * @return Returns 0 on success; error code on failure.
3837 * AUBO_NO_ACCESS
3838 * AUBO_BUSY
3839 * AUBO_BAD_STATE
3840 * -AUBO_INVL_ARGUMENT
3841 * -AUBO_BAD_STATE
3842 *
3843 * @throws arcs::common_interface::AuboException
3844 * \endenglish
3845 */
3846 int setEncDecoderType(int type, int range_id);
3847
3848 /**
3849 * \chinese
3850 * 设置集成编码器脉冲数
3851 *
3852 * @param tick 脉冲数
3853 *
3854 * @return 成功返回0;失败返回错误码
3855 * AUBO_NO_ACCESS
3856 * AUBO_BUSY
3857 * AUBO_BAD_STATE
3858 * -AUBO_INVL_ARGUMENT
3859 * -AUBO_BAD_STATE
3860 *
3861 * @throws arcs::common_interface::AuboException
3862 * \endchinese
3863 * \english
3864 * Set the tick count of the integrated encoder.
3865 *
3866 * @param tick Tick count
3867 *
3868 * @return Returns 0 on success; error code on failure.
3869 * AUBO_NO_ACCESS
3870 * AUBO_BUSY
3871 * AUBO_BAD_STATE
3872 * -AUBO_INVL_ARGUMENT
3873 * -AUBO_BAD_STATE
3874 *
3875 * @throws arcs::common_interface::AuboException
3876 * \endenglish
3877 */
3878 int setEncTickCount(int tick);
3879
3880 /**
3881 * \chinese
3882 * 获取编码器的解码方式
3883 *
3884 * @return 成功返回0;失败返回错误码
3885 * AUBO_NO_ACCESS
3886 * AUBO_BUSY
3887 * AUBO_BAD_STATE
3888 * -AUBO_BAD_STATE
3889 *
3890 * @throws arcs::common_interface::AuboException
3891 *
3892 * @par JSON-RPC请求示例
3893 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
3894 *
3895 * @par JSON-RPC响应示例
3896 * {"id":1,"jsonrpc":"2.0","result":0}
3897 *
3898 * \endchinese
3899 * \english
3900 * Get the decoder type of the encoder.
3901 *
3902 * @return Returns 0 on success; error code on failure.
3903 * AUBO_NO_ACCESS
3904 * AUBO_BUSY
3905 * AUBO_BAD_STATE
3906 * -AUBO_BAD_STATE
3907 *
3908 * @throws arcs::common_interface::AuboException
3909 *
3910 * @par JSON-RPC request example
3911 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
3912 *
3913 * @par JSON-RPC response example
3914 * {"id":1,"jsonrpc":"2.0","result":0}
3915 *
3916 * \endenglish
3917 */
3919
3920 /**
3921 * \chinese
3922 * 获取脉冲数
3923 *
3924 * @return 成功返回0;失败返回错误码
3925 * AUBO_NO_ACCESS
3926 * AUBO_BUSY
3927 * AUBO_BAD_STATE
3928 * -AUBO_BAD_STATE
3929 *
3930 * @throws arcs::common_interface::AuboException
3931 *
3932 * @par JSON-RPC请求示例
3933 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
3934 *
3935 * @par JSON-RPC响应示例
3936 * {"id":1,"jsonrpc":"2.0","result":0}
3937 *
3938 * \endchinese
3939 * \english
3940 * Get the tick count
3941 *
3942 * @return Returns 0 on success; error code on failure.
3943 * AUBO_NO_ACCESS
3944 * AUBO_BUSY
3945 * AUBO_BAD_STATE
3946 * -AUBO_BAD_STATE
3947 *
3948 * @throws arcs::common_interface::AuboException
3949 *
3950 * @par JSON-RPC request example
3951 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
3952 *
3953 * @par JSON-RPC response example
3954 * {"id":1,"jsonrpc":"2.0","result":0}
3955 *
3956 * \endenglish
3957 */
3959
3960 /**
3961 * \chinese
3962 * 防止在计数超出范围时计数错误
3963 *
3964 * @param delta_count
3965 *
3966 * @return 成功返回0;失败返回错误码
3967 * AUBO_NO_ACCESS
3968 * AUBO_BUSY
3969 * AUBO_BAD_STATE
3970 * -AUBO_BAD_STATE
3971 *
3972 * @throws arcs::common_interface::AuboException
3973 * \endchinese
3974 * \english
3975 * Prevent counting errors when the count exceeds the range
3976 *
3977 * @param delta_count
3978 *
3979 * @return Returns 0 on success; error code on failure.
3980 * AUBO_NO_ACCESS
3981 * AUBO_BUSY
3982 * AUBO_BAD_STATE
3983 * -AUBO_BAD_STATE
3984 *
3985 * @throws arcs::common_interface::AuboException
3986 * \endenglish
3987 */
3988 int unwindEncDeltaTickCount(int delta_count);
3989
3990 /**
3991 * \chinese
3992 * 获取末端按钮状态
3993 *
3994 * @return 按下返回true; 否则返回false
3995 *
3996 * @throws arcs::common_interface::AuboException
3997 *
3998 * @par Python函数原型
3999 * getToolButtonStatus() -> bool
4000 *
4001 * @par Lua函数原型
4002 * getToolButtonStatus() -> boolean
4003 *
4004 * @par JSON-RPC请求示例
4005 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
4006 *
4007 * @par JSON-RPC响应示例
4008 * {"id":1,"jsonrpc":"2.0","result":false}
4009 *
4010 * \endchinese
4011 * \english
4012 * Get the status of the tool button.
4013 *
4014 * @return Returns true if pressed; otherwise false.
4015 *
4016 * @throws arcs::common_interface::AuboException
4017 *
4018 * @par Python function prototype
4019 * getToolButtonStatus() -> bool
4020 *
4021 * @par Lua function prototype
4022 * getToolButtonStatus() -> boolean
4023 *
4024 * @par JSON-RPC request example
4025 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
4026 *
4027 * @par JSON-RPC response example
4028 * {"id":1,"jsonrpc":"2.0","result":false}
4029 *
4030 * \endenglish
4031 */
4033
4034 /**
4035 * \chinese
4036 * 获取手柄按键状态
4037 *
4038 * @note 获取手柄按键状态
4039 *
4040 * @return 所有的手柄按键输入值\n
4041 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
4042 * 后16位就是所有的输入状态值,
4043 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
4044 * 1表示高电平状态,0表示低电平状态
4045 *
4046 * @throws arcs::common_interface::AuboException
4047 *
4048 * @par Python函数原型
4049 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
4050 *
4051 * @par Lua函数原型
4052 * getHandleIoStatus() -> number
4053 *
4054 * @par JSON-RPC请求示例
4055 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
4056 *
4057 * @par JSON-RPC响应示例
4058 * {"id":1,"jsonrpc":"2.0","result":0}
4059 *
4060 * \endchinese
4061 * \english
4062 * Get the status of handle buttons.
4063 *
4064 * @note Get the status of handle buttons.
4065 *
4066 * @return All handle button input values.\n
4067 * For example, if the return value is 2863267846, its binary representation is 10101010101010100000000000000110.
4068 * The lower 16 bits represent the status of all input pins,
4069 * the least significant bit indicates the input status of pin 0, the second least significant bit indicates pin 1, and so on.\n
4070 * 1 means high level, 0 means low level.
4071 *
4072 * @throws arcs::common_interface::AuboException
4073 *
4074 * @par Python function prototype
4075 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
4076 *
4077 * @par Lua function prototype
4078 * getHandleIoStatus() -> number
4079 *
4080 * @par JSON-RPC request example
4081 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
4082 *
4083 * @par JSON-RPC response example
4084 * {"id":1,"jsonrpc":"2.0","result":0}
4085 *
4086 * \endenglish
4087 */
4089
4090 /**
4091 * \chinese
4092 * 获取手柄类型
4093 *
4094 * @return type
4095 *
4096 * @throws arcs::common_interface::AuboException
4097 *
4098 * @par Python函数原型
4099 * getHandleType() -> int
4100 *
4101 * @par Lua函数原型
4102 * getHandleType() -> int
4103 *
4104 * @par JSON-RPC请求示例
4105 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
4106 *
4107 * @par JSON-RPC响应示例
4108 * {"id":1,"jsonrpc":"2.0","result":0}
4109 *
4110 * \endchinese
4111 * \english
4112 * Get the handle type.
4113 *
4114 * @return type
4115 *
4116 * @throws arcs::common_interface::AuboException
4117 *
4118 * @par Python function prototype
4119 * getHandleType() -> int
4120 *
4121 * @par Lua function prototype
4122 * getHandleType() -> int
4123 *
4124 * @par JSON-RPC request example
4125 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
4126 *
4127 * @par JSON-RPC response example
4128 * {"id":1,"jsonrpc":"2.0","result":0}
4129 *
4130 * \endenglish
4131 */
4133
4134protected:
4135 void *d_;
4136};
4137using IoControlPtr = std::shared_ptr<IoControl>;
4138} // namespace common_interface
4139} // namespace arcs
4140
4141#endif // AUBO_SDK_IO_CONTROL_INTERFACE_H
IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取
Definition io_control.h:43
int setToolAnalogOutputDomain(int index, int domain)
设置工具端模拟输出范围
StandardInputAction getStandardDigitalInputAction(int index)
获取标准数字输入触发动作
int setToolAnalogInputDomain(int index, int domain)
设置工具端模拟输入的范围
bool getToolDigitalOutput(int index)
获取工具端数字输出值
int getConfigurableDigitalOutputNum()
获取可配置数字输出数量
int setConfigurableDigitalOutput(int index, bool value)
设置可配置数字输出值
StandardOutputRunState getToolAnalogOutputRunstate(int index)
获取工具端模拟输出状态选择
uint32_t getStaticLinkOutputs()
获取所有的联动输出值
uint32_t getStandardDigitalOutputs()
获取所有的标准数字输出值
StandardInputAction getConfigurableDigitalInputAction(int index)
获取可配置数字输入的输入触发动作
int setStandardDigitalInputAction(int index, StandardInputAction action)
设置标准数字输入触发动作
int setConfigurableDigitalInputAction(int index, StandardInputAction action)
设置可配置数字输入触发动作
int getConfigurableDigitalInputNum()
获取可配置数字输入数量
int getStandardAnalogOutputNum()
获取标准模拟输出数量
int getToolDigitalOutputNum()
获取工具端数字IO数量(包括数字输入和数字输出)
double getStandardAnalogOutput(int index)
获取标准模拟输出值
uint32_t getHandleIoStatus()
获取手柄按键状态
int setDigitalOutputRunstateDefault()
设置所有数字输出状态选择为无
StandardOutputRunState getStandardDigitalOutputRunstate(int index)
获取标准数字输出状态选择
int getStaticLinkOutputNum()
获取联动输出数量
int getEncTickCount()
获取脉冲数
int getStandardDigitalOutputNum()
获取标准数字输出数量
int getHandleType()
获取手柄类型
int setToolAnalogOutputRunstate(int index, StandardOutputRunState runstate)
设置工具端模拟输出状态选择
int getToolAnalogInputNum()
获取工具端模拟输入数量
int setStandardDigitalOutput(int index, bool value)
设置标准数字输出值
bool getStandardDigitalOutput(int index)
获取标准数字输出值
bool getToolDigitalInput(int index)
获取工具端数字输入值
StandardInputAction getToolDigitalInputAction(int index)
获取工具端数字输入触发动作
double getToolAnalogOutput(int index)
获取工具端模拟输出值
int getToolVoltageOutputDomain()
获取工具端电源电压值(单位V)
int getStandardDigitalInputNum()
获取标准数字输入数量
int getToolDigitalInputNum()
获取工具端数字IO数量(包括数字输入和数字输出)
bool getStandardDigitalInput(int index)
获取标准数字输入值
int setToolVoltageOutputDomain(int domain)
设置工具端电源电压值(单位V)
int setToolDigitalOutputPulse(int index, bool value, double duration)
设置工具端数字输出脉冲
uint32_t getToolDigitalOutputs()
获取所有的工具端数字输出值
int setToolDigitalInputAction(int index, StandardInputAction action)
设置工具数字输入触发动作
int setConfigurableDigitalOutputPulse(int index, bool value, double duration)
设置可配置数字输出脉冲
int setStandardAnalogOutputDomain(int index, int domain)
设置标准模拟输出的范围
double getToolAnalogInput(int index)
获取工具端模拟输入值
int setEncDecoderType(int type, int range_id)
设置集成编码器的解码方式
StandardOutputRunState getConfigurableDigitalOutputRunstate(int index)
获取可配置数字输出状态选择
int getStandardAnalogInputDomain(int index)
获取标准模式输入范围
int setToolIoInput(int index, bool input)
设置指定的工具端数字IO为输入或输出
int getToolAnalogOutputNum()
获取工具端模拟输出数量
StandardOutputRunState getStandardAnalogOutputRunstate(int index)
获取标准模拟输出状态选择
uint32_t getConfigurableDigitalInputs()
获取所有的可配置数字输入值
bool getToolButtonStatus()
获取末端按钮状态
int getStandardAnalogOutputDomain(int index)
获取标准模拟输出范围
int setStandardAnalogInputDomain(int index, int domain)
设置标准模拟输入的范围
int setDigitalInputActionDefault()
设置所有数字输入动作为无触发
uint32_t getToolDigitalInputs()
获取所有的工具端数字输入值
int getStandardAnalogInputNum()
获取标准模拟输入数量
int setToolAnalogOutput(int index, double value)
设置工具端模拟输出值
int setConfigurableDigitalOutputRunstate(int index, StandardOutputRunState runstate)
设置可配置数字输出状态选择
int setEncTickCount(int tick)
设置集成编码器脉冲数
bool hasEncoderSensor()
机器人是否配置了编码器 集成编码器的编号为 0
int getToolAnalogOutputDomain(int index)
获取工具端模拟输出范围
int getToolAnalogInputDomain(int index)
获取工具端模式输入范围
bool isToolIoInput(int index)
判断指定的工具端数字IO类型是否为输入
int setStandardDigitalOutputRunstate(int index, StandardOutputRunState runstate)
设置标准数字输出状态选择
int setToolDigitalOutputRunstate(int index, StandardOutputRunState runstate)
设置工具端数字输出状态选择
int setToolDigitalOutput(int index, bool value)
设置工具端数字输出值
int setStandardAnalogOutputRunstate(int index, StandardOutputRunState runstate)
设置标准模拟输出状态选择
StandardOutputRunState getToolDigitalOutputRunstate(int index)
获取工具端数字输出状态选择
uint32_t getConfigurableDigitalOutputs()
获取所有的可配值数字输出值
int unwindEncDeltaTickCount(int delta_count)
防止在计数超出范围时计数错误
uint32_t getStandardDigitalInputs()
获取所有的标准数字输入值
double getStandardAnalogInput(int index)
获取标准模拟输入值
int getEncDecoderType()
获取编码器的解码方式
int setStandardAnalogOutput(int index, double value)
设置标准模拟输出值
uint32_t getStaticLinkInputs()
获取所有的联动输入值
bool getConfigurableDigitalInput(int index)
获取可配置数字输入值
int getStaticLinkInputNum()
获取联动输入数量
bool getConfigurableDigitalOutput(int index)
获取可配值数字输出值
int setStandardDigitalOutputPulse(int index, bool value, double duration)
设置数字输出脉冲
StandardInputAction
The StandardInputAction enum
Definition type_def.h:530
std::shared_ptr< IoControl > IoControlPtr
StandardOutputRunState
标准输出运行状态
Definition type_def.h:522
数据类型的定义