ARCS SDK API  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 * IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取
18 *
19 * 1. 获取各种IO的数量 \n
20 * 2. 配置IO的输入输出功能 \n
21 * 3. 可配置IO的配置 \n
22 * 4. 模拟IO的输入输出范围设置、读取
23 *
24 * 标准数字输入输出:控制柜IO面板上的标准IO \n
25 * 工具端数字输入输出:通过工具末端航插暴露的数字IO \n
26 * 可配置输入输出:可以配置为安全IO或者普通数字IO \n
27 */
28class ARCS_ABI_EXPORT IoControl
29{
30public:
32 virtual ~IoControl();
33
34 /**
35 * 获取标准数字输入数量
36 *
37 * @return 标准数字输入数量
38 *
39 * @throws arcs::common_interface::AuboException
40 *
41 * @par Python函数原型
42 * getStandardDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
43 *
44 * @par Lua函数原型
45 * getStandardDigitalInputNum() -> number
46 *
47 * @par JSON-RPC请求示例
48 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputNum","params":[],"id":1}
49 *
50 * @par JSON-RPC响应示例
51 * {"id":1,"jsonrpc":"2.0","result":16}
52 *
53 */
55
56 /**
57 * 获取工具端数字IO数量(包括数字输入和数字输出)
58 *
59 * @return 工具端数字IO数量(包括数字输入和数字输出)
60 *
61 * @throws arcs::common_interface::AuboException
62 *
63 * @par Python函数原型
64 * getToolDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
65 *
66 * @par Lua函数原型
67 * getToolDigitalInputNum() -> number
68 *
69 * @par JSON-RPC请求示例
70 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputNum","params":[],"id":1}
71 *
72 * @par JSON-RPC响应示例
73 * {"id":1,"jsonrpc":"2.0","result":4}
74 *
75 */
77
78 /**
79 * 获取可配置数字输入数量
80 *
81 * @return 可配置数字输入数量
82 *
83 * @throws arcs::common_interface::AuboException
84 *
85 * @par Python函数原型
86 * getConfigurableDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
87 *
88 * @par Lua函数原型
89 * getConfigurableDigitalInputNum() -> number
90 *
91 * @par JSON-RPC请求示例
92 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputNum","params":[],"id":1}
93 *
94 * @par JSON-RPC响应示例
95 * {"id":1,"jsonrpc":"2.0","result":16}
96 *
97 */
99
100 /**
101 * 获取标准数字输出数量
102 *
103 * @return 标准数字输出数量
104 *
105 * @throws arcs::common_interface::AuboException
106 *
107 * @par Python函数原型
108 * getStandardDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
109 *
110 * @par Lua函数原型
111 * getStandardDigitalOutputNum() -> number
112 *
113 * @par JSON-RPC请求示例
114 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputNum","params":[],"id":1}
115 *
116 * @par JSON-RPC响应示例
117 * {"id":1,"jsonrpc":"2.0","result":8}
118 *
119 */
121
122 /**
123 * 获取工具端数字IO数量(包括数字输入和数字输出)
124 *
125 * @return 工具端数字IO数量(包括数字输入和数字输出)
126 *
127 * @throws arcs::common_interface::AuboException
128 *
129 * @par Python函数原型
130 * getToolDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
131 *
132 * @par Lua函数原型
133 * getToolDigitalOutputNum() -> number
134 *
135 * @par JSON-RPC请求示例
136 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputNum","params":[],"id":1}
137 *
138 * @par JSON-RPC响应示例
139 * {"id":1,"jsonrpc":"2.0","result":4}
140 *
141 */
143
144 /**
145 * 设置指定的工具端数字IO为输入或输出
146 *
147 * 工具端数字IO比较特殊,IO可以配置为输入或者输出
148 *
149 * @param index: 表示IO口的管脚,管脚编号从0开始。
150 * 例如,0表示第一个管脚。
151 * @param input: 表示指定IO是否为输入。
152 * input 为true时,设置指定IO为输入,否则为输出
153 * @return 成功返回0;失败返回错误码
154 * AUBO_BUSY
155 * AUBO_BAD_STATE
156 * -AUBO_INVL_ARGUMENT
157 * -AUBO_BAD_STATE
158 *
159 * @throws arcs::common_interface::AuboException
160 *
161 * @par Python函数原型
162 * setToolIoInput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool) -> int
163 *
164 * @par Lua函数原型
165 * setToolIoInput(index: number, input: boolean) -> nil
166 *
167 * @par JSON-RPC请求示例
168 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolIoInput","params":[0,true],"id":1}
169 *
170 * @par JSON-RPC响应示例
171 * {"id":1,"jsonrpc":"2.0","result":0}
172 *
173 */
174 int setToolIoInput(int index, bool input);
175
176 /**
177 * 判断指定的工具端数字IO类型是否为输入
178 *
179 * @param index: 表示IO口的管脚,管脚编号从0开始。
180 * 例如,0表示第一个管脚。
181 * @return 当指定的IO为输入时返回 true, 否则为 false
182 *
183 * @throws arcs::common_interface::AuboException
184 *
185 * @par Python函数原型
186 * isToolIoInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
187 *
188 * @par Lua函数原型
189 * isToolIoInput(index: number) -> boolean
190 *
191 * @par JSON-RPC请求示例
192 * {"jsonrpc":"2.0","method":"rob1.IoControl.isToolIoInput","params":[0],"id":1}
193 *
194 * @par JSON-RPC响应示例
195 * {"id":1,"jsonrpc":"2.0","result":true}
196 *
197 */
198 bool isToolIoInput(int index);
199
200 /**
201 * 获取可配置数字输出数量
202 *
203 * @return 可配置数字输出数量
204 *
205 * @throws arcs::common_interface::AuboException
206 *
207 * @par Python函数原型
208 * getConfigurableDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
209 *
210 * @par Lua函数原型
211 * getConfigurableDigitalOutputNum() -> number
212 *
213 * @par JSON-RPC请求示例
214 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputNum","params":[],"id":1}
215 *
216 * @par JSON-RPC响应示例
217 * {"id":1,"jsonrpc":"2.0","result":16}
218 *
219 */
221
222 /**
223 * 获取标准模拟输入数量
224 *
225 * @return 标准模拟输入数量
226 *
227 * @throws arcs::common_interface::AuboException
228 *
229 * @par Python函数原型
230 * getStandardAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
231 *
232 * @par Lua函数原型
233 * getStandardAnalogInputNum() -> number
234 *
235 * @par JSON-RPC请求示例
236 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputNum","params":[],"id":1}
237 *
238 * @par JSON-RPC响应示例
239 * {"id":1,"jsonrpc":"2.0","result":2}
240 *
241 */
243
244 /**
245 * 获取工具端模拟输入数量
246 *
247 * @return 工具端模拟输入数量
248 *
249 * @throws arcs::common_interface::AuboException
250 *
251 * @par Python函数原型
252 * getToolAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
253 *
254 * @par Lua函数原型
255 * getToolAnalogInputNum() -> number
256 *
257 * @par JSON-RPC请求示例
258 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputNum","params":[],"id":1}
259 *
260 * @par JSON-RPC响应示例
261 * {"id":1,"jsonrpc":"2.0","result":2}
262 *
263 */
265
266 /**
267 * 获取标准模拟输出数量
268 *
269 * @return 标准模拟输出数量
270 *
271 * @throws arcs::common_interface::AuboException
272 *
273 * @par Python函数原型
274 * getStandardAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
275 *
276 * @par Lua函数原型
277 * getStandardAnalogOutputNum() -> number
278 *
279 * @par JSON-RPC请求示例
280 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputNum","params":[],"id":1}
281 *
282 * @par JSON-RPC响应示例
283 * {"id":1,"jsonrpc":"2.0","result":2}
284 *
285 */
287
288 /**
289 * 获取工具端模拟输出数量
290 *
291 * @return 工具端模拟输出数量
292 *
293 * @throws arcs::common_interface::AuboException
294 *
295 * @par Python函数原型
296 * getToolAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
297 *
298 * @par Lua函数原型
299 * getToolAnalogOutputNum() -> number
300 *
301 * @par JSON-RPC请求示例
302 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputNum","params":[],"id":1}
303 *
304 * @par JSON-RPC响应示例
305 * {"id":1,"jsonrpc":"2.0","result":0}
306 *
307 */
309
310 /**
311 * 设置所有数字输入动作为无触发
312 *
313 * @note
314 * 当输入动作为无触发时,用户设置数字输入值为高电平,不会触发机器人发生动作
315 *
316 * @return 成功返回0;失败返回错误码
317 * AUBO_BUSY
318 * AUBO_BAD_STATE
319 * -AUBO_BAD_STATE
320 *
321 * @throws arcs::common_interface::AuboException
322 *
323 * @par Python函数原型
324 * setDigitalInputActionDefault(self: pyaubo_sdk.IoControl) -> int
325 *
326 * @par Lua函数原型
327 * setDigitalInputActionDefault() -> nil
328 *
329 * @par JSON-RPC请求示例
330 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalInputActionDefault","params":[],"id":1}
331 *
332 * @par JSON-RPC响应示例
333 * {"id":1,"jsonrpc":"2.0","result":0}
334 *
335 */
337
338 /**
339 * 设置标准数字输入触发动作
340 *
341 * @note
342 * 当给输入设置为无触发动作(StandardInputAction::Default)时,
343 * 用户设置数字输入值为高电平,不会触发机器人发生动作。\n
344 * 当给输入设置触发动作时,用户设置数字输入值为高电平,会触发机器人执行相应的动作。\n
345 * 例如,当设置DI0的触发动作为拖动示教(StandardInputAction::Handguide)时,
346 * 用户设置DI0为高电平,机器人会进入拖动示教。
347 * 设置DI0为低电平,机器人会退出拖动示教。
348 *
349 * @param index: 表示IO口的管脚,管脚编号从0开始。
350 * 例如,0表示第一个管脚。
351 * @param action: 触发动作
352 *
353 * @return 成功返回0;失败返回错误码
354 * AUBO_REQUEST_IGNORE
355 * AUBO_BUSY
356 * AUBO_BAD_STATE
357 * -AUBO_INVL_ARGUMENT
358 * -AUBO_BAD_STATE
359 *
360 * @throws arcs::common_interface::AuboException
361 *
362 * @par Python函数原型
363 * setStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
364 * arg1: arcs::common_interface::StandardInputAction) -> int
365 *
366 * @par Lua函数原型
367 * setStandardDigitalInputAction(index: number, action: number) -> nil
368 *
369 * @par JSON-RPC请求示例
370 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalInputAction","params":[0,"Handguide"],"id":1}
371 *
372 * @par JSON-RPC响应示例
373 * {"id":1,"jsonrpc":"2.0","result":0}
374 *
375 */
377
378 /**
379 * 设置工具数字输入触发动作
380 *
381 * @note
382 * 当给输入设置为无触发动作(StandardInputAction::Default)时,
383 * 用户设置工具数字输入值为高电平,不会触发机器人发生动作。\n
384 * 当给输入设置触发动作时,用户设置工具数字输入值为高电平,会触发机器人执行相应的动作。\n
385 * 例如,当设置TOOL_IO[0]的类型为输入而且触发动作为拖动示教(StandardInputAction::Handguide)时,
386 * 用户设置TOOL_IO[0]为高电平,机器人会进入拖动示教。
387 * 设置TOOL_IO[0]为低电平,机器人会退出拖动示教。
388 *
389 * @param index: 表示IO口的管脚,管脚编号从0开始。
390 * 例如,0表示第一个管脚。
391 * @param action: 触发动作
392 *
393 * @return 成功返回0;失败返回错误码
394 * AUBO_REQUEST_IGNORE
395 * AUBO_BUSY
396 * AUBO_BAD_STATE
397 * -AUBO_INVL_ARGUMENT
398 * -AUBO_BAD_STATE
399 *
400 * @throws arcs::common_interface::AuboException
401 *
402 * @par Python函数原型
403 * setToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int, arg1:
404 * arcs::common_interface::StandardInputAction) -> int
405 *
406 * @par Lua函数原型
407 * setToolDigitalInputAction(index: number, action: number) -> nil
408 *
409 * @par JSON-RPC请求示例
410 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalInputAction","params":[0,"Handguide"],"id":1}
411 *
412 * @par JSON-RPC响应示例
413 * {"id":1,"jsonrpc":"2.0","result":0}
414 *
415 */
417
418 /**
419 * 设置可配置数字输入触发动作
420 *
421 * @param index: 表示IO口的管脚,管脚编号从0开始。
422 * 例如,0表示第一个管脚。
423 * @param action: 触发动作
424 *
425 * @return 成功返回0;失败返回错误码
426 * AUBO_REQUEST_IGNORE
427 * AUBO_BUSY
428 * AUBO_BAD_STATE
429 * -AUBO_INVL_ARGUMENT
430 * -AUBO_BAD_STATE
431 *
432 * @throws arcs::common_interface::AuboException
433 *
434 * @note 需要将可配置输入的安全输入动作设置为
435 * SafetyInputAction::Unassigned时这个函数的配置才会生效
436 *
437 * @par Python函数原型
438 * setConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
439 * arg1: arcs::common_interface::StandardInputAction) -> int
440 *
441 * @par Lua函数原型
442 * setConfigurableDigitalInputAction(index: number, action: number) -> nil
443 *
444 * @par JSON-RPC请求示例
445 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalInputAction","params":[0,"Handguide"],"id":1}
446 *
447 * @par JSON-RPC响应示例
448 * {"id":1,"jsonrpc":"2.0","result":0}
449 *
450 */
452 StandardInputAction action);
453
454 /**
455 * 获取标准数字输入触发动作
456 *
457 * @param index: 表示IO口的管脚,管脚编号从0开始。
458 * 例如,0表示第一个管脚。
459 * @return 标准数字输入触发动作
460 *
461 * @par Python函数原型
462 * getStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
463 * arcs::common_interface::StandardInputAction
464 *
465 * @par Lua函数原型
466 * getStandardDigitalInputAction(index: number) -> number
467 *
468 * @par JSON-RPC请求示例
469 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputAction","params":[0],"id":1}
470 *
471 * @par JSON-RPC响应示例
472 * {"id":1,"jsonrpc":"2.0","result":"Default"}
473 *
474 */
476
477 /**
478 * 获取工具端数字输入触发动作
479 *
480 * @param index: 表示IO口的管脚,管脚编号从0开始。
481 * 例如,0表示第一个管脚。
482 * @return 工具端数字输入触发动作
483 *
484 * @par Python函数原型
485 * getToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
486 * arcs::common_interface::StandardInputAction
487 *
488 * @par Lua函数原型
489 * getToolDigitalInputAction(index: number) -> number
490 *
491 * @par JSON-RPC请求示例
492 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputAction","params":[0],"id":1}
493 *
494 * @par JSON-RPC响应示例
495 * {"id":1,"jsonrpc":"2.0","result":"Default"}
496 *
497 */
499
500 /**
501 * 获取可配置数字输入的输入触发动作
502 *
503 * @param index: 表示IO口的管脚,管脚编号从0开始。
504 * 例如,0表示第一个管脚。
505 * @return 返回输入触发动作
506 *
507 * @par Python函数原型
508 * getConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int)
509 * -> arcs::common_interface::StandardInputAction
510 *
511 * @par Lua函数原型
512 * getConfigurableDigitalInputAction(index: number) -> number
513 *
514 * @par JSON-RPC请求示例
515 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputAction","params":[0],"id":1}
516 *
517 * @par JSON-RPC响应示例
518 * {"id":1,"jsonrpc":"2.0","result":"Default"}
519 *
520 */
522
523 /**
524 * 设置所有数字输出状态选择为无
525 *
526 * @note
527 * 当给输出状态设置为无(StandardOutputRunState::None)时,
528 * 用户可以设置数字输出值。\n
529 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
530 * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
531 * 机器人进入拖动示教,DO0会自动变为高电平。
532 * 机器人退出拖动示教,DO0会自动变为低电平。
533 *
534 * @return 成功返回0;失败返回错误码
535 * AUBO_BUSY
536 * AUBO_BAD_STATE
537 * -AUBO_BAD_STATE
538 *
539 * @throws arcs::common_interface::AuboException
540 *
541 * @par Python函数原型
542 * setDigitalOutputRunstateDefault(self: pyaubo_sdk.IoControl) -> int
543 *
544 * @par Lua函数原型
545 * setDigitalOutputRunstateDefault() -> nil
546 *
547 * @par JSON-RPC请求示例
548 * {"jsonrpc":"2.0","method":"rob1.IoControl.setDigitalOutputRunstateDefault","params":[],"id":1}
549 *
550 * @par JSON-RPC响应示例
551 * {"id":1,"jsonrpc":"2.0","result":0}
552 *
553 */
555
556 /**
557 * 设置标准数字输出状态选择
558 *
559 * @note
560 * 当给输出状态设置为无(StandardOutputRunState::None)时,
561 * 用户可以设置数字输出值。\n
562 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
563 * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
564 * 机器人进入拖动示教,DO0会自动变为高电平。
565 * 机器人退出拖动示教,DO0会自动变为低电平。
566 *
567 * @param index: 表示IO口的管脚,管脚编号从0开始。
568 * 例如,0表示第一个管脚。
569 * @param runstate: 输出状态选择
570 *
571 * @return 成功返回0;失败返回错误码
572 * AUBO_REQUEST_IGNORE
573 * AUBO_BUSY
574 * AUBO_BAD_STATE
575 * -AUBO_INVL_ARGUMENT
576 * -AUBO_BAD_STATE
577 *
578 * @throws arcs::common_interface::AuboException
579 *
580 * @par Python函数原型
581 * setStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
582 * arg1: arcs::common_interface::StandardOutputRunState) -> int
583 *
584 * @par Lua函数原型
585 * setStandardDigitalOutputRunstate(index: number, runstate: number) -> nil
586 *
587 * @par JSON-RPC请求示例
588 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputRunstate","params":[0,"PowerOn"],"id":1}
589 *
590 * @par JSON-RPC响应示例
591 * {"id":1,"jsonrpc":"2.0","result":0}
592 *
593 */
595 StandardOutputRunState runstate);
596
597 /**
598 * 设置工具端数字输出状态选择
599 *
600 * @note
601 * 当给输出状态设置为无(StandardOutputRunState::None)时,
602 * 用户可以设置数字输出值。\n
603 * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
604 * 例如,当设置TOOL_IO[0]类型为输出且输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
605 * 机器人进入拖动示教,TOOL_IO[0]会自动变为高电平。
606 * 机器人退出拖动示教,TOOL_IO[0]会自动变为低电平。
607 *
608 * @param index: 表示IO口的管脚,管脚编号从0开始。
609 * 例如,0表示第一个管脚。
610 * @param runstate: 输出状态选择
611 *
612 * @return 成功返回0;失败返回错误码
613 * AUBO_REQUEST_IGNORE
614 * AUBO_BUSY
615 * AUBO_BAD_STATE
616 * -AUBO_INVL_ARGUMENT
617 * -AUBO_BAD_STATE
618 *
619 * @throws arcs::common_interface::AuboException
620 *
621 * @par Python函数原型
622 * setToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
623 * arcs::common_interface::StandardOutputRunState) -> int
624 *
625 * @par Lua函数原型
626 * setToolDigitalOutputRunstate(index: number, runstate: number) -> nil
627 *
628 * @par JSON-RPC请求示例
629 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputRunstate","params":[0,"None"],"id":1}
630 *
631 * @par JSON-RPC响应示例
632 * {"id":1,"jsonrpc":"2.0","result":0}
633 *
634 */
636 StandardOutputRunState runstate);
637
638 /**
639 * 设置可配置数字输出状态选择
640 *
641 * @param index: 表示IO口的管脚,管脚编号从0开始。
642 * 例如,0表示第一个管脚。
643 * @param runstate: 输出状态选择
644 *
645 * @return 成功返回0;失败返回错误码
646 * AUBO_REQUEST_IGNORE
647 * AUBO_BUSY
648 * AUBO_BAD_STATE
649 * -AUBO_INVL_ARGUMENT
650 * -AUBO_BAD_STATE
651 *
652 * @throws arcs::common_interface::AuboException
653 *
654 * @par Python函数原型
655 * setConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
656 * int, arg1: arcs::common_interface::StandardOutputRunState) -> int
657 *
658 * @par Lua函数原型
659 * setConfigurableDigitalOutputRunstate(index: number, runstate: number) ->
660 * nil
661 *
662 * @par JSON-RPC请求示例
663 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputRunstate","params":[0,"None"],"id":1}
664 *
665 * @par JSON-RPC响应示例
666 * {"id":1,"jsonrpc":"2.0","result":0}
667 *
668 */
670 StandardOutputRunState runstate);
671
672 /**
673 * 获取标准数字输出状态选择
674 *
675 * @param index: 表示IO口的管脚,管脚编号从0开始。
676 * 例如,0表示第一个管脚。
677 * @return 输出状态选择
678 *
679 * @throws arcs::common_interface::AuboException
680 *
681 * @par Python函数原型
682 * getStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int)
683 * -> arcs::common_interface::StandardOutputRunState
684 *
685 * @par Lua函数原型
686 * getStandardDigitalOutputRunstate(index: number) -> number
687 *
688 * @par JSON-RPC请求示例
689 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputRunstate","params":[0],"id":1}
690 *
691 * @par JSON-RPC响应示例
692 * {"id":1,"jsonrpc":"2.0","result":"None"}
693 *
694 */
696
697 /**
698 * 获取工具端数字输出状态选择
699 *
700 * @param index: 表示IO口的管脚,管脚编号从0开始。
701 * 例如,0表示第一个管脚。
702 * @return 输出状态选择
703 *
704 * @throws arcs::common_interface::AuboException
705 *
706 * @par Python函数原型
707 * getToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
708 * arcs::common_interface::StandardOutputRunState
709 *
710 * @par Lua函数原型
711 * getToolDigitalOutputRunstate(index: number) -> number
712 *
713 * @par JSON-RPC请求示例
714 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputRunstate","params":[0],"id":1}
715 *
716 * @par JSON-RPC响应示例
717 * {"id":1,"jsonrpc":"2.0","result":"None"}
718 *
719 */
721
722 /**
723 * 获取可配置数字输出状态选择
724 *
725 * @param index: 表示IO口的管脚,管脚编号从0开始。
726 * 例如,0表示第一个管脚。
727 * @return 输出状态选择
728 *
729 * @throws arcs::common_interface::AuboException
730 *
731 * @par Python函数原型
732 * getConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
733 * int)
734 * -> arcs::common_interface::StandardOutputRunState
735 *
736 * @par Lua函数原型
737 * getConfigurableDigitalOutputRunstate(index: number) -> number
738 *
739 * @par JSON-RPC请求示例
740 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputRunstate","params":[0],"id":1}
741 *
742 * @par JSON-RPC响应示例
743 * {"id":1,"jsonrpc":"2.0","result":"None"}
744 *
745 */
747
748 /**
749 * 设置标准模拟输出状态选择
750 *
751 * @note
752 * 当给输出状态设置为无(StandardOutputRunState::None)时,
753 * 用户可以设置模拟输出值。\n
754 * 当给输出设置状态时,用户不可设置模拟输出值,控制器会自动设置模拟输出值。\n
755 * 例如,当设置AO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
756 * 机器人进入拖动示教,AO0的值会自动变为最大值。
757 * 机器人退出拖动示教,AO0的值会自动变为0。
758 *
759 * @param index: 表示IO口的管脚,管脚编号从0开始。
760 * 例如,0表示第一个管脚。
761 * @param runstate: 输出状态选择
762 * @return 成功返回0;失败返回错误码
763 * AUBO_REQUEST_IGNORE
764 * AUBO_BUSY
765 * AUBO_BAD_STATE
766 * -AUBO_INVL_ARGUMENT
767 * -AUBO_BAD_STATE
768 *
769 * @throws arcs::common_interface::AuboException
770 *
771 * @par Python函数原型
772 * setStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
773 * arg1: arcs::common_interface::StandardOutputRunState) -> int
774 *
775 * @par Lua函数原型
776 * setStandardAnalogOutputRunstate(index: number, runstate: number) -> nil
777 *
778 * @par JSON-RPC请求示例
779 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputRunstate","params":[0,"None"],"id":1}
780 *
781 * @par JSON-RPC响应示例
782 * {"id":1,"jsonrpc":"2.0","result":0}
783 *
784 */
786 StandardOutputRunState runstate);
787
788 /**
789 * 设置工具端模拟输出状态选择
790 *
791 * @param index: 表示IO口的管脚,管脚编号从0开始。
792 * 例如,0表示第一个管脚。
793 * @param runstate: 输出状态选择
794 * @return 成功返回0;失败返回错误码
795 * AUBO_REQUEST_IGNORE
796 * AUBO_BUSY
797 * AUBO_BAD_STATE
798 * -AUBO_INVL_ARGUMENT
799 * -AUBO_BAD_STATE
800 *
801 * @throws arcs::common_interface::AuboException
802 *
803 * @par Python函数原型
804 * setToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
805 * arcs::common_interface::StandardOutputRunState) -> int
806 *
807 * @par Lua函数原型
808 * setToolAnalogOutputRunstate(index: number, runstate: number) -> nil
809 *
810 * @par JSON-RPC请求示例
811 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutputRunstate","params":[0,"None"],"id":1}
812 *
813 * @par JSON-RPC响应示例
814 * {"id":1,"jsonrpc":"2.0","result":0}
815 *
816 */
818
819 /**
820 * 获取标准模拟输出状态选择
821 *
822 * @param index: 表示IO口的管脚,管脚编号从0开始。
823 * 例如,0表示第一个管脚。
824 * @return 标准模拟输出状态选择
825 *
826 * @throws arcs::common_interface::AuboException
827 *
828 * @par Python函数原型
829 * getStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
830 * arcs::common_interface::StandardOutputRunState
831 *
832 * @par Lua函数原型
833 * getStandardAnalogOutputRunstate(index: number) -> number
834 *
835 * @par JSON-RPC请求示例
836 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputRunstate","params":[0],"id":1}
837 *
838 * @par JSON-RPC响应示例
839 * {"id":1,"jsonrpc":"2.0","result":"None"}
840 *
841 */
843
844 /**
845 * 获取工具端模拟输出状态选择
846 *
847 * @param index: 表示IO口的管脚,管脚编号从0开始。
848 * 例如,0表示第一个管脚。
849 * @return 工具端模拟输出状态选择
850 *
851 * @throws arcs::common_interface::AuboException
852 *
853 * @par Python函数原型
854 * getToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
855 * arcs::common_interface::StandardOutputRunState
856 *
857 * @par Lua函数原型
858 * getToolAnalogOutputRunstate(index: number) -> number
859 *
860 * @par JSON-RPC请求示例
861 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputRunstate","params":[0],"id":1}
862 *
863 * @par JSON-RPC响应示例
864 * {"id":1,"jsonrpc":"2.0","result":"None"}
865 *
866 */
868
869 /**
870 * 设置标准模拟输入的范围
871 *
872 * @param index: 表示IO口的管脚,管脚编号从0开始。
873 * 例如,0表示第一个管脚。
874 * @param domain: 输入的范围
875 *
876 * @return 成功返回0;失败返回错误码
877 * AUBO_REQUEST_IGNORE
878 * AUBO_BUSY
879 * AUBO_BAD_STATE
880 * -AUBO_INVL_ARGUMENT
881 * -AUBO_BAD_STATE
882 *
883 * @throws arcs::common_interface::AuboException
884 *
885 * @par Python函数原型
886 * setStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
887 * int) -> int
888 *
889 * @par Lua函数原型
890 * setStandardAnalogInputDomain(index: number, domain: number) -> nil
891 *
892 * @par JSON-RPC请求示例
893 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogInputDomain","params":[0,8],"id":1}
894 *
895 * @par JSON-RPC响应示例
896 * {"id":1,"jsonrpc":"2.0","result":0}
897 *
898 */
899 int setStandardAnalogInputDomain(int index, int domain);
900
901 /**
902 * 设置工具端模拟输入的范围
903 *
904 * @param index: 表示IO口的管脚,管脚编号从0开始。
905 * 例如,0表示第一个管脚。
906 * @param domain: 输入的范围
907 * @return 成功返回0;失败返回错误码
908 * AUBO_REQUEST_IGNORE
909 * AUBO_BUSY
910 * AUBO_BAD_STATE
911 * -AUBO_INVL_ARGUMENT
912 * -AUBO_BAD_STATE
913 *
914 * @throws arcs::common_interface::AuboException
915 *
916 * @par Python函数原型
917 * setToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
918 * int) -> int
919 *
920 * @par Lua函数原型
921 * setToolAnalogInputDomain(index: number, domain: number) -> nil
922 *
923 * @par JSON-RPC请求示例
924 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogInputDomain","params":[0,8],"id":1}
925 *
926 * @par JSON-RPC响应示例
927 * {"id":1,"jsonrpc":"2.0","result":0}
928 *
929 */
930 int setToolAnalogInputDomain(int index, int domain);
931
932 /**
933 * 获取标准模式输入范围
934 *
935 * @param index: 表示IO口的管脚,管脚编号从0开始。
936 * 例如,0表示第一个管脚。
937 * @return 标准模式输入范围
938 *
939 * @throws arcs::common_interface::AuboException
940 *
941 * @par Python函数原型
942 * getStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
943 * int
944 *
945 * @par Lua函数原型
946 * getStandardAnalogInputDomain(index: number) -> number
947 *
948 * @par JSON-RPC请求示例
949 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInputDomain","params":[0],"id":1}
950 *
951 * @par JSON-RPC响应示例
952 * {"id":1,"jsonrpc":"2.0","result":0}
953 *
954 */
956
957 /**
958 * 获取工具端模式输入范围
959 *
960 * @param index: 表示IO口的管脚,管脚编号从0开始。
961 * 例如,0表示第一个管脚。
962 * @return 工具端模式输入范围
963 *
964 * @throws arcs::common_interface::AuboException
965 *
966 * @par Python函数原型
967 * getToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
968 *
969 * @par Lua函数原型
970 * getToolAnalogInputDomain(index: number) -> number
971 *
972 * @par JSON-RPC请求示例
973 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInputDomain","params":[0],"id":1}
974 *
975 * @par JSON-RPC响应示例
976 * {"id":1,"jsonrpc":"2.0","result":10}
977 *
978 */
980
981 /**
982 * 设置标准模拟输出的范围
983 *
984 * @param index: 表示IO口的管脚,管脚编号从0开始。
985 * 例如,0表示第一个管脚。
986 * @param domain: 输出的范围
987 *
988 * @return 成功返回0;失败返回错误码
989 * AUBO_REQUEST_IGNORE
990 * AUBO_BUSY
991 * AUBO_BAD_STATE
992 * -AUBO_INVL_ARGUMENT
993 * -AUBO_BAD_STATE
994 *
995 * @throws arcs::common_interface::AuboException
996 *
997 * @par Python函数原型
998 * setStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int,
999 * arg1: int) -> int
1000 *
1001 * @par Lua函数原型
1002 * setStandardAnalogOutputDomain(index: number, domain: number) -> nil
1003 *
1004 * @par JSON-RPC请求示例
1005 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardAnalogOutputDomain","params":[0,8],"id":1}
1006 *
1007 * @par JSON-RPC响应示例
1008 * {"id":1,"jsonrpc":"2.0","result":0}
1009 *
1010 */
1011 int setStandardAnalogOutputDomain(int index, int domain);
1012
1013 /**
1014 * 设置工具端模拟输出范围
1015 *
1016 * @param index: 表示IO口的管脚,管脚编号从0开始。
1017 * 例如,0表示第一个管脚。
1018 * @param domain: 输出的范围
1019 *
1020 * @return 成功返回0;失败返回错误码
1021 * AUBO_REQUEST_IGNORE
1022 * AUBO_BUSY
1023 * AUBO_BAD_STATE
1024 * -AUBO_INVL_ARGUMENT
1025 * -AUBO_BAD_STATE
1026 *
1027 * @throws arcs::common_interface::AuboException
1028 *
1029 * @par Python函数原型
1030 * setToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1031 * int) -> int
1032 *
1033 * @par Lua函数原型
1034 * setToolAnalogOutputDomain(index: number, domain: number) -> nil
1035 *
1036 */
1037 int setToolAnalogOutputDomain(int index, int domain);
1038
1039 /**
1040 * 获取标准模拟输出范围
1041 *
1042 * @param index: 表示IO口的管脚,管脚编号从0开始。
1043 * 例如,0表示第一个管脚。
1044 * @return 标准模拟输出范围
1045 *
1046 * @throws arcs::common_interface::AuboException
1047 *
1048 * @par Python函数原型
1049 * getStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
1050 * int
1051 *
1052 * @par Lua函数原型
1053 * getStandardAnalogOutputDomain(index: number) -> number
1054 *
1055 * @par JSON-RPC请求示例
1056 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutputDomain","params":[0],"id":1}
1057 *
1058 * @par JSON-RPC响应示例
1059 * {"id":1,"jsonrpc":"2.0","result":0}
1060 *
1061 */
1063
1064 /**
1065 * 获取工具端模拟输出范围
1066 *
1067 * @param index: 表示IO口的管脚,管脚编号从0开始。
1068 * 例如,0表示第一个管脚。
1069 * @return 工具端模拟输出范围
1070 *
1071 * @throws arcs::common_interface::AuboException
1072 *
1073 * @par Python函数原型
1074 * getToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
1075 *
1076 * @par Lua函数原型
1077 * getToolAnalogOutputDomain(index: number) -> number
1078 *
1079 * @par JSON-RPC请求示例
1080 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutputDomain","params":[0],"id":1}
1081 *
1082 * @par JSON-RPC响应示例
1083 * {"id":1,"jsonrpc":"2.0","result":0}
1084 *
1085 */
1087
1088 /**
1089 * 设置工具端电源电压值(单位V)
1090 *
1091 * @param domain: 工具端电源电压值,可选三个档位,分别为0、12和24。\n
1092 * 0表示0V, 12表示12V, 24表示24V。
1093 *
1094 * @return 成功返回0; 失败返回错误码
1095 * AUBO_REQUEST_IGNORE
1096 * AUBO_BUSY
1097 * AUBO_BAD_STATE
1098 * -AUBO_INVL_ARGUMENT
1099 * -AUBO_BAD_STATE
1100 *
1101 * @throws arcs::common_interface::AuboException
1102 *
1103 * @par Python函数原型
1104 * setToolVoltageOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
1105 *
1106 * @par Lua函数原型
1107 * setToolVoltageOutputDomain(domain: number) -> nil
1108 *
1109 * @par JSON-RPC请求示例
1110 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolVoltageOutputDomain","params":[24],"id":1}
1111 *
1112 * @par JSON-RPC响应示例
1113 * {"id":1,"jsonrpc":"2.0","result":0}
1114 *
1115 */
1117
1118 /**
1119 * 获取工具端电源电压值(单位V)
1120 *
1121 * @return 工具端电源电压值(单位V)
1122 *
1123 * @throws arcs::common_interface::AuboException
1124 *
1125 * @par Python函数原型
1126 * getToolVoltageOutputDomain(self: pyaubo_sdk.IoControl) -> int
1127 *
1128 * @par Lua函数原型
1129 * getToolVoltageOutputDomain() -> number
1130 *
1131 * @par JSON-RPC请求示例
1132 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolVoltageOutputDomain","params":[],"id":1}
1133 *
1134 * @par JSON-RPC响应示例
1135 * {"id":1,"jsonrpc":"2.0","result":0}
1136 *
1137 */
1139
1140 /**
1141 * 设置标准数字输出值
1142 *
1143 * @param index: 表示IO口的管脚,
1144
1145 * @param value: 输出值
1146 * @return 成功返回0;失败返回错误码
1147 * AUBO_REQUEST_IGNORE
1148 * AUBO_BUSY
1149 * AUBO_BAD_STATE
1150 * -AUBO_INVL_ARGUMENT
1151 * -AUBO_BAD_STATE
1152 *
1153 * @throws arcs::common_interface::AuboException
1154 *
1155 * @par Python函数原型
1156 * setStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1157 * bool) -> int
1158 *
1159 * @par Lua函数原型
1160 * setStandardDigitalOutput(index: number, value: boolean) -> nil
1161 *
1162 * @par JSON-RPC请求示例
1163 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutput","params":[0,true],"id":1}
1164 *
1165 * @par JSON-RPC响应示例
1166 * {"id":1,"jsonrpc":"2.0","result":0}
1167 *
1168 */
1169 int setStandardDigitalOutput(int index, bool value);
1170
1171 /**
1172 * 设置数字输出脉冲
1173 *
1174 * @param index
1175 * @param value
1176 * @param duration
1177 *
1178 * @return 成功返回0;失败返回错误码
1179 * AUBO_REQUEST_IGNORE
1180 * AUBO_BUSY
1181 * AUBO_BAD_STATE
1182 * -AUBO_INVL_ARGUMENT
1183 * -AUBO_BAD_STATE
1184 *
1185 * @throws arcs::common_interface::AuboException
1186 *
1187 * @par Python函数原型
1188 * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
1189 * arg1: bool, arg2: float) -> int
1190 *
1191 * @par Lua函数原型
1192 * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
1193 * number) -> nil
1194 *
1195 * @par JSON-RPC请求示例
1196 * {"jsonrpc":"2.0","method":"rob1.IoControl.setStandardDigitalOutputPulse","params":[0,true,0.5],"id":1}
1197 *
1198 * @par JSON-RPC响应示例
1199 * {"id":1,"jsonrpc":"2.0","result":0}
1200 *
1201 */
1202 int setStandardDigitalOutputPulse(int index, bool value, double duration);
1203
1204 /**
1205 * 设置工具端数字输出值
1206 *
1207 * @param index: 表示IO口的管脚,管脚编号从0开始。
1208 * 例如,0表示第一个管脚。
1209 * @param value: 数字输出值
1210 *
1211 * @return 成功返回0;失败返回错误码
1212 * AUBO_REQUEST_IGNORE
1213 * AUBO_BUSY
1214 * AUBO_BAD_STATE
1215 * -AUBO_INVL_ARGUMENT
1216 * -AUBO_BAD_STATE
1217 *
1218 * @throws arcs::common_interface::AuboException
1219 *
1220 * @par Python函数原型
1221 * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
1222 * -> int
1223 *
1224 * @par Lua函数原型
1225 * setToolDigitalOutput(index: number, value: boolean) -> nil
1226 *
1227 * @par JSON-RPC请求示例
1228 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutput","params":[0,true],"id":1}
1229 *
1230 * @par JSON-RPC响应示例
1231 * {"id":1,"jsonrpc":"2.0","result":0}
1232 *
1233 */
1234 int setToolDigitalOutput(int index, bool value);
1235
1236 /**
1237 * 设置工具端数字输出脉冲
1238 *
1239 * @param index
1240 * @param value
1241 * @param duration
1242 *
1243 * @return 成功返回0;失败返回错误码
1244 * AUBO_REQUEST_IGNORE
1245 * AUBO_BUSY
1246 * AUBO_BAD_STATE
1247 * -AUBO_INVL_ARGUMENT
1248 * -AUBO_BAD_STATE
1249 *
1250 * @throws arcs::common_interface::AuboException
1251 *
1252 * @par Python函数原型
1253 * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1254 * bool, arg2: float) -> int
1255 *
1256 * @par Lua函数原型
1257 * setToolDigitalOutputPulse(index: number, value: boolean, duration:
1258 * number) -> nil
1259 *
1260 * @par JSON-RPC请求示例
1261 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolDigitalOutputPulse","params":[0,true,0.5],"id":1}
1262 *
1263 * @par JSON-RPC响应示例
1264 * {"id":1,"jsonrpc":"2.0","result":0}
1265 *
1266 */
1267 int setToolDigitalOutputPulse(int index, bool value, double duration);
1268
1269 /**
1270 * 设置可配置数字输出值
1271 *
1272 * @param index: 表示IO口的管脚,管脚编号从0开始。
1273 * 例如,0表示第一个管脚。
1274 * @param value: 数字输出值
1275 *
1276 * @return 成功返回0;失败返回错误码
1277 * AUBO_REQUEST_IGNORE
1278 * AUBO_BUSY
1279 * AUBO_BAD_STATE
1280 * -AUBO_INVL_ARGUMENT
1281 * -AUBO_BAD_STATE
1282 *
1283 * @throws arcs::common_interface::AuboException
1284 *
1285 * @par Python函数原型
1286 * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1287 * bool) -> int
1288 *
1289 * @par Lua函数原型
1290 * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
1291 *
1292 * @par JSON-RPC请求示例
1293 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutput","params":[0,true],"id":1}
1294 *
1295 * @par JSON-RPC响应示例
1296 * {"id":1,"jsonrpc":"2.0","result":0}
1297 *
1298 */
1299 int setConfigurableDigitalOutput(int index, bool value);
1300
1301 /**
1302 * 设置可配置数字输出脉冲
1303 *
1304 * @param index
1305 * @param value
1306 * @param duration
1307 *
1308 * @return 成功返回0;失败返回错误码
1309 * AUBO_REQUEST_IGNORE
1310 * AUBO_BUSY
1311 * AUBO_BAD_STATE
1312 * -AUBO_INVL_ARGUMENT
1313 * -AUBO_BAD_STATE
1314 *
1315 * @throws arcs::common_interface::AuboException
1316 *
1317 * @par Python函数原型
1318 * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
1319 * arg1: bool, arg2: float) -> int
1320 *
1321 * @par Lua函数原型
1322 * setConfigurableDigitalOutputPulse(index: number, value: boolean,
1323 * duration: number) -> nil
1324 *
1325 * @par JSON-RPC请求示例
1326 * {"jsonrpc":"2.0","method":"rob1.IoControl.setConfigurableDigitalOutputPulse","params":[0,true,0.5],"id":1}
1327 *
1328 * @par JSON-RPC响应示例
1329 * {"id":1,"jsonrpc":"2.0","result":0}
1330 *
1331 */
1332 int setConfigurableDigitalOutputPulse(int index, bool value,
1333 double duration);
1334
1335 /**
1336 * 设置标准模拟输出值
1337 *
1338 * @param index: 表示IO口的管脚,管脚编号从0开始。
1339 * 例如,0表示第一个管脚。
1340 * @param value: 模拟输出值
1341 *
1342 * @return 成功返回0;失败返回错误码
1343 * AUBO_REQUEST_IGNORE
1344 * AUBO_BUSY
1345 * AUBO_BAD_STATE
1346 * -AUBO_INVL_ARGUMENT
1347 * -AUBO_BAD_STATE
1348 *
1349 * @throws arcs::common_interface::AuboException
1350 *
1351 * @par Python函数原型
1352 * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1353 * float) -> int
1354 *
1355 * @par Lua函数原型
1356 * setStandardAnalogOutput(index: number, value: number) -> nil
1357 *
1358 */
1359 int setStandardAnalogOutput(int index, double value);
1360
1361 /**
1362 * 设置工具端模拟输出值
1363 *
1364 * @param index: 表示IO口的管脚,管脚编号从0开始。
1365 * 例如,0表示第一个管脚。
1366 * @param value: 模拟输出
1367 *
1368 * @return 成功返回0;失败返回错误码
1369 * AUBO_REQUEST_IGNORE
1370 * AUBO_BUSY
1371 * AUBO_BAD_STATE
1372 * -AUBO_INVL_ARGUMENT
1373 * -AUBO_BAD_STATE
1374 *
1375 * @throws arcs::common_interface::AuboException
1376 *
1377 * @par Python函数原型
1378 * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
1379 * -> int
1380 *
1381 * @par Lua函数原型
1382 * setToolAnalogOutput(index: number, value: number) -> nil
1383 *
1384 * @par JSON-RPC请求示例
1385 * {"jsonrpc":"2.0","method":"rob1.IoControl.setToolAnalogOutput","params":[0,0.5],"id":1}
1386 *
1387 * @par JSON-RPC响应示例
1388 * {"id":1,"jsonrpc":"2.0","result":13}
1389 *
1390 */
1391 int setToolAnalogOutput(int index, double value);
1392
1393 /**
1394 * 获取标准数字输入值
1395 *
1396 * @param index: 表示IO口的管脚,管脚编号从0开始。
1397 * 例如,0表示第一个管脚。
1398 *
1399 * @return 高电平返回true; 低电平返回false
1400 *
1401 * @throws arcs::common_interface::AuboException
1402 *
1403 * @par Python函数原型
1404 * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1405 *
1406 * @par Lua函数原型
1407 * getStandardDigitalInput(index: number) -> boolean
1408 *
1409 * @par JSON-RPC请求示例
1410 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInput","params":[0],"id":1}
1411 *
1412 * @par JSON-RPC响应示例
1413 * {"id":1,"jsonrpc":"2.0","result":false}
1414 *
1415 */
1417
1418 /**
1419 * 获取所有的标准数字输入值
1420 *
1421 * @return 所有的标准数字输入值 \n
1422 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1423 * 后16位就是所有的标准数字输入状态值,
1424 * 最后一位表示DI00的输入状态值,倒数第二位表示DI01的输入状态值,以此类推。\n
1425 * 1表示高电平状态,0表示低电平状态
1426 *
1427 * @throws arcs::common_interface::AuboException
1428 *
1429 * @par Python函数原型
1430 * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
1431 *
1432 * @par Lua函数原型
1433 * getStandardDigitalInputs() -> number
1434 *
1435 * @par JSON-RPC请求示例
1436 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalInputs","params":[],"id":1}
1437 *
1438 * @par JSON-RPC响应示例
1439 * {"id":1,"jsonrpc":"2.0","result":0}
1440 *
1441 */
1443
1444 /**
1445 * 获取工具端数字输入值
1446 *
1447 * @param index: 表示IO口的管脚,管脚编号从0开始。
1448 * 例如,0表示第一个管脚。
1449 *
1450 * @return 高电平返回true; 低电平返回false
1451 *
1452 * @throws arcs::common_interface::AuboException
1453 *
1454 * @par Python函数原型
1455 * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1456 *
1457 * @par Lua函数原型
1458 * getToolDigitalInput(index: number) -> boolean
1459 *
1460 * @par JSON-RPC请求示例
1461 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInput","params":[0],"id":1}
1462 *
1463 * @par JSON-RPC响应示例
1464 * {"id":1,"jsonrpc":"2.0","result":false}
1465 *
1466 */
1467 bool getToolDigitalInput(int index);
1468
1469 /**
1470 * 获取所有的工具端数字输入值
1471 *
1472 * @return 返回所有的工具端数字输入值
1473 *
1474 * @throws arcs::common_interface::AuboException
1475 *
1476 * @par Python函数原型
1477 * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
1478 *
1479 * @par Lua函数原型
1480 * getToolDigitalInputs() -> number
1481 *
1482 * @par JSON-RPC请求示例
1483 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalInputs","params":[],"id":1}
1484 *
1485 * @par JSON-RPC响应示例
1486 * {"id":1,"jsonrpc":"2.0","result":0}
1487 *
1488 */
1490
1491 /**
1492 * 获取可配置数字输入值
1493 *
1494 * @note 可用于获取安全IO的输入值
1495 *
1496 * @param index: 表示IO口的管脚,管脚编号从0开始。
1497 * 例如,0表示第一个管脚。
1498 *
1499 * @return 高电平返回true; 低电平返回false
1500 *
1501 * @throws arcs::common_interface::AuboException
1502 *
1503 * @par Python函数原型
1504 * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) ->
1505 * bool
1506 *
1507 * @par Lua函数原型
1508 * getConfigurableDigitalInput(index: number) -> boolean
1509 *
1510 * @par JSON-RPC请求示例
1511 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInput","params":[0],"id":1}
1512 *
1513 * @par JSON-RPC响应示例
1514 * {"id":1,"jsonrpc":"2.0","result":false}
1515 *
1516 */
1518
1519 /**
1520 * 获取所有的可配置数字输入值
1521 *
1522 * @note 可用于获取安全IO的输入值
1523 *
1524 * @return 所有的可配置数字输入值\n
1525 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1526 * 后16位就是所有的输入状态值,
1527 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
1528 * 1表示高电平状态,0表示低电平状态
1529 *
1530 * @throws arcs::common_interface::AuboException
1531 *
1532 * @par Python函数原型
1533 * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
1534 *
1535 * @par Lua函数原型
1536 * getConfigurableDigitalInputs() -> number
1537 *
1538 * @par JSON-RPC请求示例
1539 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalInputs","params":[],"id":1}
1540 *
1541 * @par JSON-RPC响应示例
1542 * {"id":1,"jsonrpc":"2.0","result":0}
1543 *
1544 */
1546
1547 /**
1548 * 获取标准数字输出值
1549 *
1550 * @param index: 表示IO口的管脚,管脚编号从0开始。
1551 * 例如,0表示第一个管脚。
1552 *
1553 * @return 高电平返回true; 低电平返回false
1554 *
1555 * @throws arcs::common_interface::AuboException
1556 *
1557 * @par Python函数原型
1558 * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1559 *
1560 * @par Lua函数原型
1561 * getStandardDigitalOutput(index: number) -> boolean
1562 *
1563 * @par JSON-RPC请求示例
1564 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutput","params":[0],"id":1}
1565 *
1566 * @par JSON-RPC响应示例
1567 * {"id":1,"jsonrpc":"2.0","result":true}
1568 *
1569 */
1571
1572 /**
1573 * 获取所有的标准数字输出值
1574 *
1575 * @return 所有的标准数字输出值 \n
1576 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1577 * 后16位就是所有的标准数字输出状态值,
1578 * 最后一位表示DI00的输出状态值,倒数第二位表示DI01的输出状态值,以此类推。\n
1579 * 1表示高电平状态,0表示低电平状态.
1580 *
1581 * @throws arcs::common_interface::AuboException
1582 *
1583 * @par Python函数原型
1584 * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
1585 *
1586 * @par Lua函数原型
1587 * getStandardDigitalOutputs() -> number
1588 *
1589 * @par JSON-RPC请求示例
1590 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardDigitalOutputs","params":[],"id":1}
1591 *
1592 * @par JSON-RPC响应示例
1593 * {"id":1,"jsonrpc":"2.0","result":69}
1594 *
1595 */
1597
1598 /**
1599 * 获取工具端数字输出值
1600 *
1601 * @param index: 表示IO口的管脚,管脚编号从0开始。
1602 * 例如,0表示第一个管脚。
1603 *
1604 * @return 高电平返回true; 低电平返回false
1605 *
1606 * @throws arcs::common_interface::AuboException
1607 *
1608 * @par Python函数原型
1609 * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1610 *
1611 * @par Lua函数原型
1612 * getToolDigitalOutput(index: number) -> boolean
1613 *
1614 * @par JSON-RPC请求示例
1615 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutput","params":[0],"id":1}
1616 *
1617 * @par JSON-RPC响应示例
1618 * {"id":1,"jsonrpc":"2.0","result":false}
1619 *
1620 */
1621 bool getToolDigitalOutput(int index);
1622
1623 /**
1624 * 获取所有的工具端数字输出值
1625 *
1626 * @return 所有的工具端数字输出值
1627 *
1628 * @throws arcs::common_interface::AuboException
1629 *
1630 * @par Python函数原型
1631 * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
1632 *
1633 * @par Lua函数原型
1634 * getToolDigitalOutputs() -> number
1635 *
1636 * @par JSON-RPC请求示例
1637 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolDigitalOutputs","params":[],"id":1}
1638 *
1639 * @par JSON-RPC响应示例
1640 * {"id":1,"jsonrpc":"2.0","result":9}
1641 *
1642 */
1644
1645 /**
1646 * 获取可配值数字输出值
1647 *
1648 * @note 可用于获取安全IO的输出值
1649 *
1650 * @param index: 表示IO口的管脚,管脚编号从0开始。
1651 * 例如,0表示第一个管脚。
1652 *
1653 * @return 高电平返回true; 低电平返回false
1654 *
1655 * @throws arcs::common_interface::AuboException
1656 *
1657 * @par Python函数原型
1658 * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
1659 * bool
1660 *
1661 * @par Lua函数原型
1662 * getConfigurableDigitalOutput(index: number) -> boolean
1663 *
1664 * @par JSON-RPC请求示例
1665 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutput","params":[0],"id":1}
1666 *
1667 * @par JSON-RPC响应示例
1668 * {"id":1,"jsonrpc":"2.0","result":true}
1669 *
1670 */
1672
1673 /**
1674 * 获取所有的可配值数字输出值
1675 *
1676 * @note 可用于获取安全IO的输出值
1677 *
1678 * @return 所有的可配值数字输出\n
1679 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1680 * 后16位就是所有的输出值,
1681 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
1682 * 1表示高电平状态,0表示低电平状态.
1683 *
1684 * @throws arcs::common_interface::AuboException
1685 *
1686 * @par Python函数原型
1687 * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
1688 *
1689 * @par Lua函数原型
1690 * getConfigurableDigitalOutputs() -> number
1691 *
1692 * @par JSON-RPC请求示例
1693 * {"jsonrpc":"2.0","method":"rob1.IoControl.getConfigurableDigitalOutputs","params":[],"id":1}
1694 *
1695 * @par JSON-RPC响应示例
1696 * {"id":1,"jsonrpc":"2.0","result":1}
1697 *
1698 */
1700
1701 /**
1702 * 获取标准模拟输入值
1703 *
1704 * @param index: 表示IO口的管脚,管脚编号从0开始。
1705 * 例如,0表示第一个管脚。
1706 *
1707 * @return 标准模拟输入值
1708 *
1709 * @throws arcs::common_interface::AuboException
1710 *
1711 * @par Python函数原型
1712 * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1713 *
1714 * @par Lua函数原型
1715 * getStandardAnalogInput(index: number) -> number
1716 *
1717 * @par JSON-RPC请求示例
1718 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogInput","params":[0],"id":1}
1719 *
1720 * @par JSON-RPC响应示例
1721 * {"id":1,"jsonrpc":"2.0","result":0.0}
1722 *
1723 */
1724 double getStandardAnalogInput(int index);
1725
1726 /**
1727 * 获取工具端模拟输入值
1728 *
1729 * @param index: 表示IO口的管脚,管脚编号从0开始。
1730 * 例如,0表示第一个管脚。
1731 *
1732 * @return 工具端模拟输入值
1733 *
1734 * @throws arcs::common_interface::AuboException
1735 *
1736 * @par Python函数原型
1737 * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1738 *
1739 * @par Lua函数原型
1740 * getToolAnalogInput(index: number) -> number
1741 *
1742 * @par JSON-RPC请求示例
1743 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogInput","params":[0],"id":1}
1744 *
1745 * @par JSON-RPC响应示例
1746 * {"id":1,"jsonrpc":"2.0","result":0.0}
1747 *
1748 */
1749 double getToolAnalogInput(int index);
1750
1751 /**
1752 * 获取标准模拟输出值
1753 *
1754 * @param index: 表示IO口的管脚,管脚编号从0开始。
1755 * 例如,0表示第一个管脚。
1756 *
1757 * @return 标准模拟输出值
1758 *
1759 * @throws arcs::common_interface::AuboException
1760 *
1761 * @par Python函数原型
1762 * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1763 *
1764 * @par Lua函数原型
1765 * getStandardAnalogOutput(index: number) -> number
1766 *
1767 * @par JSON-RPC请求示例
1768 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStandardAnalogOutput","params":[0],"id":1}
1769 *
1770 * @par JSON-RPC响应示例
1771 * {"id":1,"jsonrpc":"2.0","result":0.0}
1772 *
1773 */
1774 double getStandardAnalogOutput(int index);
1775
1776 /**
1777 * 获取工具端模拟输出值
1778 *
1779 * @param index: 表示IO口的管脚,管脚编号从0开始。
1780 * 例如,0表示第一个管脚。
1781 *
1782 * @return 工具端模拟输出值
1783 *
1784 * @throws arcs::common_interface::AuboException
1785 *
1786 * @par Python函数原型
1787 * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1788 *
1789 * @par Lua函数原型
1790 * getToolAnalogOutput(index: number) -> number
1791 *
1792 * @par JSON-RPC请求示例
1793 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolAnalogOutput","params":[0],"id":1}
1794 *
1795 * @par JSON-RPC响应示例
1796 * {"id":1,"jsonrpc":"2.0","result":0.0}
1797 *
1798 */
1799 double getToolAnalogOutput(int index);
1800
1801 /**
1802 * 获取联动输入数量
1803 *
1804 * @return 联动输入数量
1805 *
1806 * @throws arcs::common_interface::AuboException
1807 *
1808 * @par Python函数原型
1809 * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
1810 *
1811 * @par Lua函数原型
1812 * getStaticLinkInputNum() -> number
1813 *
1814 * @par JSON-RPC请求示例
1815 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputNum","params":[],"id":1}
1816 *
1817 * @par JSON-RPC响应示例
1818 * {"id":1,"jsonrpc":"2.0","result":8}
1819 *
1820 */
1822
1823 /**
1824 * 获取联动输出数量
1825 *
1826 * @return 联动输出数量
1827 *
1828 * @throws arcs::common_interface::AuboException
1829 *
1830 * @par Python函数原型
1831 * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
1832 *
1833 * @par Lua函数原型
1834 * getStaticLinkOutputNum() -> number
1835 *
1836 * @par JSON-RPC请求示例
1837 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputNum","params":[],"id":1}
1838 *
1839 * @par JSON-RPC响应示例
1840 * {"id":1,"jsonrpc":"2.0","result":0}
1841 *
1842 */
1844
1845 /**
1846 * 获取所有的联动输入值
1847 *
1848 * @return 所有的联动输入值\n
1849 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1850 * 后16位就是所有的联动输入状态值,
1851 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
1852 * 1表示高电平状态,0表示低电平状态.
1853 *
1854 * @throws arcs::common_interface::AuboException
1855 *
1856 * @par Python函数原型
1857 * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
1858 *
1859 * @par Lua函数原型
1860 * getStaticLinkInputs() -> number
1861 *
1862 * @par JSON-RPC请求示例
1863 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkInputs","params":[],"id":1}
1864 *
1865 * @par JSON-RPC响应示例
1866 * {"id":1,"jsonrpc":"2.0","result":0}
1867 *
1868 */
1870
1871 /**
1872 * 获取所有的联动输出值
1873 *
1874 * @return 返回所有的联动输出值 \n
1875 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1876 * 后16位就是所有的联动输出状态值,
1877 * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
1878 * 1表示高电平状态,0表示低电平状态.
1879 *
1880 * @throws arcs::common_interface::AuboException
1881 *
1882 * @par Python函数原型
1883 * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
1884 *
1885 * @par Lua函数原型
1886 * getStaticLinkOutputs() -> number
1887 *
1888 * @par JSON-RPC请求示例
1889 * {"jsonrpc":"2.0","method":"rob1.IoControl.getStaticLinkOutputs","params":[],"id":1}
1890 *
1891 * @par JSON-RPC响应示例
1892 * {"id":1,"jsonrpc":"2.0","result":0}
1893 *
1894 */
1896
1897 /**
1898 * 机器人是否配置了编码器
1899 * 集成编码器的编号为 0
1900 *
1901 * @return 机器人配置编码器返回 true, 反之返回 false
1902 *
1903 * @throws arcs::common_interface::AuboException
1904 *
1905 * @par JSON-RPC请求示例
1906 * {"jsonrpc":"2.0","method":"rob1.IoControl.hasEncoderSensor","params":[],"id":1}
1907 *
1908 * @par JSON-RPC响应示例
1909 * {"id":1,"jsonrpc":"2.0","result":true}
1910 *
1911 */
1913
1914 /**
1915 * 设置集成编码器的解码方式
1916 *
1917 * @param type
1918 * 0-禁用编码器
1919 * 1-AB正交
1920 * 2-AB正交+Z
1921 * 3-AB差分正交
1922 * 4-AB差分正交+Z差分
1923 *
1924 * @param range_id
1925 * 0 is a 32 bit signed encoder, range [-2147483648, 2147483647]
1926 * 1 is a 8 bit unsigned encoder, range [0, 255]
1927 * 2 is a 16 bit unsigned encoder, range [0, 65535]
1928 * 3 is a 24 bit unsigned encoder, range [0, 16777215]
1929 * 4 is a 32 bit unsigned encoder, range [0, 4294967295]
1930 *
1931 * @return 成功返回0;失败返回错误码
1932 * AUBO_NO_ACCESS
1933 * AUBO_BUSY
1934 * AUBO_BAD_STATE
1935 * -AUBO_INVL_ARGUMENT
1936 * -AUBO_BAD_STATE
1937 *
1938 * @throws arcs::common_interface::AuboException
1939 *
1940 */
1941 int setEncDecoderType(int type, int range_id);
1942
1943 /**
1944 * 设置集成编码器脉冲数
1945 *
1946 * @param rick
1947 *
1948 * @return 成功返回0;失败返回错误码
1949 * AUBO_NO_ACCESS
1950 * AUBO_BUSY
1951 * AUBO_BAD_STATE
1952 * -AUBO_INVL_ARGUMENT
1953 * -AUBO_BAD_STATE
1954 *
1955 * @throws arcs::common_interface::AuboException
1956 *
1957 */
1958 int setEncTickCount(int tick);
1959
1960 /**
1961 * 获取编码器的解码方式
1962 *
1963 * @return 成功返回0;失败返回错误码
1964 * AUBO_NO_ACCESS
1965 * AUBO_BUSY
1966 * AUBO_BAD_STATE
1967 * -AUBO_BAD_STATE
1968 *
1969 * @throws arcs::common_interface::AuboException
1970 *
1971 * @par JSON-RPC请求示例
1972 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncDecoderType","params":[],"id":1}
1973 *
1974 * @par JSON-RPC响应示例
1975 * {"id":1,"jsonrpc":"2.0","result":0}
1976 *
1977 */
1979
1980 /**
1981 * 获取脉冲数
1982 *
1983 * @return 成功返回0;失败返回错误码
1984 * AUBO_NO_ACCESS
1985 * AUBO_BUSY
1986 * AUBO_BAD_STATE
1987 * -AUBO_BAD_STATE
1988 *
1989 * @throws arcs::common_interface::AuboException
1990 *
1991 * @par JSON-RPC请求示例
1992 * {"jsonrpc":"2.0","method":"rob1.IoControl.getEncTickCount","params":[],"id":1}
1993 *
1994 * @par JSON-RPC响应示例
1995 * {"id":1,"jsonrpc":"2.0","result":0}
1996 *
1997 */
1999
2000 /**
2001 * 防止在计数超出范围时计数错误
2002 *
2003 * @param delta_count
2004 *
2005 * @return 成功返回0;失败返回错误码
2006 * AUBO_NO_ACCESS
2007 * AUBO_BUSY
2008 * AUBO_BAD_STATE
2009 * -AUBO_BAD_STATE
2010 *
2011 * @throws arcs::common_interface::AuboException
2012 *
2013 */
2014 int unwindEncDeltaTickCount(int delta_count);
2015
2016 /**
2017 * 获取末端按钮状态
2018 *
2019 * @return 按下返回true; 否则返回false
2020 *
2021 * @throws arcs::common_interface::AuboException
2022 *
2023 * @par Python函数原型
2024 * getToolButtonStatus() -> bool
2025 *
2026 * @par Lua函数原型
2027 * getToolButtonStatus() -> boolean
2028 *
2029 * @par JSON-RPC请求示例
2030 * {"jsonrpc":"2.0","method":"rob1.IoControl.getToolButtonStatus","params":[],"id":1}
2031 *
2032 * @par JSON-RPC响应示例
2033 * {"id":1,"jsonrpc":"2.0","result":false}
2034 *
2035 */
2037
2038 /**
2039 * 获取手柄按键状态
2040 *
2041 * @note 获取手柄按键状态
2042 *
2043 * @return 所有的手柄按键输入值\n
2044 * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
2045 * 后16位就是所有的输入状态值,
2046 * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
2047 * 1表示高电平状态,0表示低电平状态
2048 *
2049 * @throws arcs::common_interface::AuboException
2050 *
2051 * @par Python函数原型
2052 * getHandleIoStatus(self: pyaubo_sdk.IoControl) -> int
2053 *
2054 * @par Lua函数原型
2055 * getHandleIoStatus() -> number
2056 *
2057 * @par JSON-RPC请求示例
2058 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleIoStatus","params":[],"id":1}
2059 *
2060 * @par JSON-RPC响应示例
2061 * {"id":1,"jsonrpc":"2.0","result":0}
2062 *
2063 */
2065
2066 /**
2067 * 获取手柄类型
2068 *
2069 * @return type
2070 *
2071 * @throws arcs::common_interface::AuboException
2072 *
2073 * @par Python函数原型
2074 * getHandleType() -> int
2075 *
2076 * @par Lua函数原型
2077 * getHandleType() -> int
2078 *
2079 * @par JSON-RPC请求示例
2080 * {"jsonrpc":"2.0","method":"rob1.IoControl.getHandleType","params":[],"id":1}
2081 *
2082 * @par JSON-RPC响应示例
2083 * {"id":1,"jsonrpc":"2.0","result":0}
2084 *
2085 */
2087
2088protected:
2089 void *d_;
2090};
2091using IoControlPtr = std::shared_ptr<IoControl>;
2092
2093// clang-format off
2094#define IoControl_DECLARES \
2095 _FUNC(IoControl, 0, getStandardDigitalInputNum) \
2096 _FUNC(IoControl, 0, getToolDigitalInputNum) \
2097 _FUNC(IoControl, 0, getConfigurableDigitalInputNum) \
2098 _FUNC(IoControl, 0, getStandardDigitalOutputNum) \
2099 _FUNC(IoControl, 0, getToolDigitalOutputNum) \
2100 _INST(IoControl, 2, setToolIoInput, index, input) \
2101 _FUNC(IoControl, 1, isToolIoInput, index) \
2102 _FUNC(IoControl, 0, getConfigurableDigitalOutputNum) \
2103 _FUNC(IoControl, 0, getStandardAnalogInputNum) \
2104 _FUNC(IoControl, 0, getToolAnalogInputNum) \
2105 _FUNC(IoControl, 0, getStandardAnalogOutputNum) \
2106 _FUNC(IoControl, 0, getToolAnalogOutputNum) \
2107 _INST(IoControl, 0, setDigitalInputActionDefault) \
2108 _INST(IoControl, 2, setStandardDigitalInputAction, index, action) \
2109 _INST(IoControl, 2, setToolDigitalInputAction, index, action) \
2110 _INST(IoControl, 2, setConfigurableDigitalInputAction, index, action) \
2111 _FUNC(IoControl, 1, getStandardDigitalInputAction, index) \
2112 _FUNC(IoControl, 1, getToolDigitalInputAction, index) \
2113 _FUNC(IoControl, 1, getConfigurableDigitalInputAction, index) \
2114 _INST(IoControl, 0, setDigitalOutputRunstateDefault) \
2115 _INST(IoControl, 2, setStandardDigitalOutputRunstate, index, runstate) \
2116 _INST(IoControl, 2, setToolDigitalOutputRunstate, index, runstate) \
2117 _INST(IoControl, 2, setConfigurableDigitalOutputRunstate, index, runstate) \
2118 _FUNC(IoControl, 1, getStandardDigitalOutputRunstate, index) \
2119 _FUNC(IoControl, 1, getToolDigitalOutputRunstate, index) \
2120 _FUNC(IoControl, 1, getConfigurableDigitalOutputRunstate, index) \
2121 _INST(IoControl, 2, setStandardAnalogOutputRunstate, index, runstate) \
2122 _INST(IoControl, 2, setToolAnalogOutputRunstate, index, runstate) \
2123 _FUNC(IoControl, 1, getStandardAnalogOutputRunstate, index) \
2124 _FUNC(IoControl, 1, getToolAnalogOutputRunstate, index) \
2125 _INST(IoControl, 2, setStandardAnalogInputDomain, index, domain) \
2126 _INST(IoControl, 2, setToolAnalogInputDomain, index, domain) \
2127 _FUNC(IoControl, 1, getStandardAnalogInputDomain, index) \
2128 _FUNC(IoControl, 1, getToolAnalogInputDomain, index) \
2129 _INST(IoControl, 2, setStandardAnalogOutputDomain, index, domain) \
2130 _INST(IoControl, 2, setToolAnalogOutputDomain, index, domain) \
2131 _INST(IoControl, 1, setToolVoltageOutputDomain, domain) \
2132 _FUNC(IoControl, 0, getToolVoltageOutputDomain) \
2133 _FUNC(IoControl, 1, getStandardAnalogOutputDomain, index) \
2134 _FUNC(IoControl, 1, getToolAnalogOutputDomain, index) \
2135 _INST(IoControl, 2, setStandardDigitalOutput, index, value) \
2136 _INST(IoControl, 3, setStandardDigitalOutputPulse, index, value, duration) \
2137 _INST(IoControl, 2, setToolDigitalOutput, index, value) \
2138 _INST(IoControl, 3, setToolDigitalOutputPulse, index, value, duration) \
2139 _INST(IoControl, 2, setConfigurableDigitalOutput, index, value) \
2140 _INST(IoControl, 3, setConfigurableDigitalOutputPulse, index, value, duration) \
2141 _INST(IoControl, 2, setStandardAnalogOutput, index, value) \
2142 _INST(IoControl, 2, setToolAnalogOutput, index, value) \
2143 _FUNC(IoControl, 1, getStandardDigitalInput, index) \
2144 _FUNC(IoControl, 0, getStandardDigitalInputs) \
2145 _FUNC(IoControl, 1, getToolDigitalInput, index) \
2146 _FUNC(IoControl, 0, getToolDigitalInputs) \
2147 _FUNC(IoControl, 1, getConfigurableDigitalInput, index) \
2148 _FUNC(IoControl, 0, getConfigurableDigitalInputs) \
2149 _FUNC(IoControl, 1, getStandardAnalogInput, index) \
2150 _FUNC(IoControl, 1, getToolAnalogInput, index) \
2151 _FUNC(IoControl, 1, getStandardDigitalOutput, index) \
2152 _FUNC(IoControl, 0, getStandardDigitalOutputs) \
2153 _FUNC(IoControl, 1, getToolDigitalOutput, index) \
2154 _FUNC(IoControl, 0, getToolDigitalOutputs) \
2155 _FUNC(IoControl, 1, getConfigurableDigitalOutput, index) \
2156 _FUNC(IoControl, 0, getConfigurableDigitalOutputs) \
2157 _FUNC(IoControl, 1, getStandardAnalogOutput, index) \
2158 _FUNC(IoControl, 1, getToolAnalogOutput, index) \
2159 _FUNC(IoControl, 0, getStaticLinkInputNum) \
2160 _FUNC(IoControl, 0, getStaticLinkOutputNum) \
2161 _FUNC(IoControl, 0, getStaticLinkInputs) \
2162 _FUNC(IoControl, 0, getStaticLinkOutputs) \
2163 _FUNC(IoControl, 0, hasEncoderSensor) \
2164 _FUNC(IoControl, 2, setEncDecoderType, type, range_id) \
2165 _FUNC(IoControl, 1, setEncTickCount, tick) \
2166 _FUNC(IoControl, 0, getEncDecoderType) \
2167 _FUNC(IoControl, 0, getEncTickCount) \
2168 _FUNC(IoControl, 1, unwindEncDeltaTickCount, delta_count) \
2169 _FUNC(IoControl, 0, getToolButtonStatus) \
2170 _FUNC(IoControl, 0, getHandleIoStatus) \
2171 _FUNC(IoControl, 0, getHandleType)
2172
2173// clang-format on
2174} // namespace common_interface
2175} // namespace arcs
2176
2177#endif // AUBO_SDK_IO_CONTROL_INTERFACE_H
IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取
Definition io_control.h:29
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:498
std::shared_ptr< IoControl > IoControlPtr
StandardOutputRunState
标准输出运行状态
Definition type_def.h:490
数据类型的定义