ARCS SDK API  0.24.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 
13 namespace arcs {
14 namespace 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  */
28 class ARCS_ABI_EXPORT IoControl
29 {
30 public:
31  IoControl();
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  */
48  int getStandardDigitalInputNum();
49 
50  /**
51  * 获取工具端数字IO数量(包括数字输入和数字输出)
52  *
53  * @return 工具端数字IO数量(包括数字输入和数字输出)
54  *
55  * @throws arcs::common_interface::AuboException
56  *
57  * @par Python函数原型
58  * getToolDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
59  *
60  * @par Lua函数原型
61  * getToolDigitalInputNum() -> number
62  *
63  */
64  int getToolDigitalInputNum();
65 
66  /**
67  * 获取可配置数字输入数量
68  *
69  * @return 可配置数字输入数量
70  *
71  * @throws arcs::common_interface::AuboException
72  *
73  * @par Python函数原型
74  * getConfigurableDigitalInputNum(self: pyaubo_sdk.IoControl) -> int
75  *
76  * @par Lua函数原型
77  * getConfigurableDigitalInputNum() -> number
78  *
79  */
80  int getConfigurableDigitalInputNum();
81 
82  /**
83  * 获取标准数字输出数量
84  *
85  * @return 标准数字输出数量
86  *
87  * @throws arcs::common_interface::AuboException
88  *
89  * @par Python函数原型
90  * getStandardDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
91  *
92  * @par Lua函数原型
93  * getStandardDigitalOutputNum() -> number
94  *
95  */
96  int getStandardDigitalOutputNum();
97 
98  /**
99  * 获取工具端数字IO数量(包括数字输入和数字输出)
100  *
101  * @return 工具端数字IO数量(包括数字输入和数字输出)
102  *
103  * @throws arcs::common_interface::AuboException
104  *
105  * @par Python函数原型
106  * getToolDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
107  *
108  * @par Lua函数原型
109  * getToolDigitalOutputNum() -> number
110  *
111  */
112  int getToolDigitalOutputNum();
113 
114  /**
115  * 设置指定的工具端数字IO为输入或输出
116  *
117  * 工具端数字IO比较特殊,IO可以配置为输入或者输出
118  *
119  * @param index: 表示IO口的管脚,管脚编号从0开始。
120  * 例如,0表示第一个管脚。
121  * @param input: 表示指定IO是否为输入。
122  * input 为true时,设置指定IO为输入,否则为输出
123  * @return 成功返回0;失败返回错误码
124  * AUBO_BUSY
125  * AUBO_BAD_STATE
126  * -AUBO_INVL_ARGUMENT
127  * -AUBO_BAD_STATE
128  *
129  * @throws arcs::common_interface::AuboException
130  *
131  * @par Python函数原型
132  * setToolIoInput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool) -> int
133  *
134  * @par Lua函数原型
135  * setToolIoInput(index: number, input: boolean) -> nil
136  *
137  */
138  int setToolIoInput(int index, bool input);
139 
140  /**
141  * 判断指定的工具端数字IO类型是否为输入
142  *
143  * @param index: 表示IO口的管脚,管脚编号从0开始。
144  * 例如,0表示第一个管脚。
145  * @return 当指定的IO为输入时返回 true, 否则为 false
146  *
147  * @throws arcs::common_interface::AuboException
148  *
149  * @par Python函数原型
150  * isToolIoInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
151  *
152  * @par Lua函数原型
153  * isToolIoInput(index: number) -> boolean
154  *
155  */
156  bool isToolIoInput(int index);
157 
158  /**
159  * 获取可配置数字输出数量
160  *
161  * @return 可配置数字输出数量
162  *
163  * @throws arcs::common_interface::AuboException
164  *
165  * @par Python函数原型
166  * getConfigurableDigitalOutputNum(self: pyaubo_sdk.IoControl) -> int
167  *
168  * @par Lua函数原型
169  * getConfigurableDigitalOutputNum() -> number
170  *
171  */
172  int getConfigurableDigitalOutputNum();
173 
174  /**
175  * 获取标准模拟输入数量
176  *
177  * @return 标准模拟输入数量
178  *
179  * @throws arcs::common_interface::AuboException
180  *
181  * @par Python函数原型
182  * getStandardAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
183  *
184  * @par Lua函数原型
185  * getStandardAnalogInputNum() -> number
186  *
187  */
188  int getStandardAnalogInputNum();
189 
190  /**
191  * 获取工具端模拟输入数量
192  *
193  * @return 工具端模拟输入数量
194  *
195  * @throws arcs::common_interface::AuboException
196  *
197  * @par Python函数原型
198  * getToolAnalogInputNum(self: pyaubo_sdk.IoControl) -> int
199  *
200  * @par Lua函数原型
201  * getToolAnalogInputNum() -> number
202  *
203  */
204  int getToolAnalogInputNum();
205 
206  /**
207  * 获取标准模拟输出数量
208  *
209  * @return 标准模拟输出数量
210  *
211  * @throws arcs::common_interface::AuboException
212  *
213  * @par Python函数原型
214  * getStandardAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
215  *
216  * @par Lua函数原型
217  * getStandardAnalogOutputNum() -> number
218  *
219  */
220  int getStandardAnalogOutputNum();
221 
222  /**
223  * 获取工具端模拟输出数量
224  *
225  * @return 工具端模拟输出数量
226  *
227  * @throws arcs::common_interface::AuboException
228  *
229  * @par Python函数原型
230  * getToolAnalogOutputNum(self: pyaubo_sdk.IoControl) -> int
231  *
232  * @par Lua函数原型
233  * getToolAnalogOutputNum() -> number
234  *
235  */
236  int getToolAnalogOutputNum();
237 
238  /**
239  * 设置所有数字输入动作为无触发
240  *
241  * @note
242  * 当输入动作为无触发时,用户设置数字输入值为高电平,不会触发机器人发生动作
243  *
244  * @return 成功返回0;失败返回错误码
245  * AUBO_BUSY
246  * AUBO_BAD_STATE
247  * -AUBO_BAD_STATE
248  *
249  * @throws arcs::common_interface::AuboException
250  *
251  * @par Python函数原型
252  * setDigitalInputActionDefault(self: pyaubo_sdk.IoControl) -> int
253  *
254  * @par Lua函数原型
255  * setDigitalInputActionDefault() -> nil
256  *
257  */
258  int setDigitalInputActionDefault();
259 
260  /**
261  * 设置标准数字输入触发动作
262  *
263  * @note
264  * 当给输入设置为无触发动作(StandardInputAction::Default)时,
265  * 用户设置数字输入值为高电平,不会触发机器人发生动作。\n
266  * 当给输入设置触发动作时,用户设置数字输入值为高电平,会触发机器人执行相应的动作。\n
267  * 例如,当设置DI0的触发动作为拖动示教(StandardInputAction::Handguide)时,
268  * 用户设置DI0为高电平,机器人会进入拖动示教。
269  * 设置DI0为低电平,机器人会退出拖动示教。
270  *
271  * @param index: 表示IO口的管脚,管脚编号从0开始。
272  * 例如,0表示第一个管脚。
273  * @param action: 触发动作
274  *
275  * @return 成功返回0;失败返回错误码
276  * AUBO_REQUEST_IGNORE
277  * AUBO_BUSY
278  * AUBO_BAD_STATE
279  * -AUBO_INVL_ARGUMENT
280  * -AUBO_BAD_STATE
281  *
282  * @throws arcs::common_interface::AuboException
283  *
284  * @par Python函数原型
285  * setStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
286  * arg1: arcs::common_interface::StandardInputAction) -> int
287  *
288  * @par Lua函数原型
289  * setStandardDigitalInputAction(index: number, action: number) -> nil
290  *
291  */
292  int setStandardDigitalInputAction(int index, StandardInputAction action);
293 
294  /**
295  * 设置工具数字输入触发动作
296  *
297  * @note
298  * 当给输入设置为无触发动作(StandardInputAction::Default)时,
299  * 用户设置工具数字输入值为高电平,不会触发机器人发生动作。\n
300  * 当给输入设置触发动作时,用户设置工具数字输入值为高电平,会触发机器人执行相应的动作。\n
301  * 例如,当设置TOOL_IO[0]的类型为输入而且触发动作为拖动示教(StandardInputAction::Handguide)时,
302  * 用户设置TOOL_IO[0]为高电平,机器人会进入拖动示教。
303  * 设置TOOL_IO[0]为低电平,机器人会退出拖动示教。
304  *
305  * @param index: 表示IO口的管脚,管脚编号从0开始。
306  * 例如,0表示第一个管脚。
307  * @param action: 触发动作
308  *
309  * @return 成功返回0;失败返回错误码
310  * AUBO_REQUEST_IGNORE
311  * AUBO_BUSY
312  * AUBO_BAD_STATE
313  * -AUBO_INVL_ARGUMENT
314  * -AUBO_BAD_STATE
315  *
316  * @throws arcs::common_interface::AuboException
317  *
318  * @par Python函数原型
319  * setToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int, arg1:
320  * arcs::common_interface::StandardInputAction) -> int
321  *
322  * @par Lua函数原型
323  * setToolDigitalInputAction(index: number, action: number) -> nil
324  *
325  */
326  int setToolDigitalInputAction(int index, StandardInputAction action);
327 
328  /**
329  * 设置可配置数字输入触发动作
330  *
331  * @param index: 表示IO口的管脚,管脚编号从0开始。
332  * 例如,0表示第一个管脚。
333  * @param action: 触发动作
334  *
335  * @return 成功返回0;失败返回错误码
336  * AUBO_REQUEST_IGNORE
337  * AUBO_BUSY
338  * AUBO_BAD_STATE
339  * -AUBO_INVL_ARGUMENT
340  * -AUBO_BAD_STATE
341  *
342  * @throws arcs::common_interface::AuboException
343  *
344  * @note 需要将可配置输入的安全输入动作设置为
345  * SafetyInputAction::Unassigned时这个函数的配置才会生效
346  *
347  * @par Python函数原型
348  * setConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int,
349  * arg1: arcs::common_interface::StandardInputAction) -> int
350  *
351  * @par Lua函数原型
352  * setConfigurableDigitalInputAction(index: number, action: number) -> nil
353  *
354  */
355  int setConfigurableDigitalInputAction(int index,
356  StandardInputAction action);
357 
358  /**
359  * 获取标准数字输入触发动作
360  *
361  * @param index: 表示IO口的管脚,管脚编号从0开始。
362  * 例如,0表示第一个管脚。
363  * @return 标准数字输入触发动作
364  *
365  * @par Python函数原型
366  * getStandardDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
367  * arcs::common_interface::StandardInputAction
368  *
369  * @par Lua函数原型
370  * getStandardDigitalInputAction(index: number) -> number
371  *
372  */
373  StandardInputAction getStandardDigitalInputAction(int index);
374 
375  /**
376  * 获取工具端数字输入触发动作
377  *
378  * @param index: 表示IO口的管脚,管脚编号从0开始。
379  * 例如,0表示第一个管脚。
380  * @return 工具端数字输入触发动作
381  *
382  * @par Python函数原型
383  * getToolDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int) ->
384  * arcs::common_interface::StandardInputAction
385  *
386  * @par Lua函数原型
387  * getToolDigitalInputAction(index: number) -> number
388  *
389  */
390  StandardInputAction getToolDigitalInputAction(int index);
391 
392  /**
393  * 获取可配置数字输入的输入触发动作
394  *
395  * @param index: 表示IO口的管脚,管脚编号从0开始。
396  * 例如,0表示第一个管脚。
397  * @return 返回输入触发动作
398  *
399  * @par Python函数原型
400  * getConfigurableDigitalInputAction(self: pyaubo_sdk.IoControl, arg0: int)
401  * -> arcs::common_interface::StandardInputAction
402  *
403  * @par Lua函数原型
404  * getConfigurableDigitalInputAction(index: number) -> number
405  *
406  */
407  StandardInputAction getConfigurableDigitalInputAction(int index);
408 
409  /**
410  * 设置所有数字输出状态选择为无
411  *
412  * @note
413  * 当给输出状态设置为无(StandardOutputRunState::None)时,
414  * 用户可以设置数字输出值。\n
415  * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
416  * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
417  * 机器人进入拖动示教,DO0会自动变为高电平。
418  * 机器人退出拖动示教,DO0会自动变为低电平。
419  *
420  * @return 成功返回0;失败返回错误码
421  * AUBO_BUSY
422  * AUBO_BAD_STATE
423  * -AUBO_BAD_STATE
424  *
425  * @throws arcs::common_interface::AuboException
426  *
427  * @par Python函数原型
428  * setDigitalOutputRunstateDefault(self: pyaubo_sdk.IoControl) -> int
429  *
430  * @par Lua函数原型
431  * setDigitalOutputRunstateDefault() -> nil
432  *
433  */
434  int setDigitalOutputRunstateDefault();
435 
436  /**
437  * 设置标准数字输出状态选择
438  *
439  * @note
440  * 当给输出状态设置为无(StandardOutputRunState::None)时,
441  * 用户可以设置数字输出值。\n
442  * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
443  * 例如,当设置DO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
444  * 机器人进入拖动示教,DO0会自动变为高电平。
445  * 机器人退出拖动示教,DO0会自动变为低电平。
446  *
447  * @param index: 表示IO口的管脚,管脚编号从0开始。
448  * 例如,0表示第一个管脚。
449  * @param runstate: 输出状态选择
450  *
451  * @return 成功返回0;失败返回错误码
452  * AUBO_REQUEST_IGNORE
453  * AUBO_BUSY
454  * AUBO_BAD_STATE
455  * -AUBO_INVL_ARGUMENT
456  * -AUBO_BAD_STATE
457  *
458  * @throws arcs::common_interface::AuboException
459  *
460  * @par Python函数原型
461  * setStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
462  * arg1: arcs::common_interface::StandardOutputRunState) -> int
463  *
464  * @par Lua函数原型
465  * setStandardDigitalOutputRunstate(index: number, runstate: number) -> nil
466  *
467  */
468  int setStandardDigitalOutputRunstate(int index,
469  StandardOutputRunState runstate);
470 
471  /**
472  * 设置工具端数字输出状态选择
473  *
474  * @note
475  * 当给输出状态设置为无(StandardOutputRunState::None)时,
476  * 用户可以设置数字输出值。\n
477  * 当给输出设置状态时,用户不可设置数字输出值,控制器会自动设置数字输出值。\n
478  * 例如,当设置TOOL_IO[0]类型为输出且输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
479  * 机器人进入拖动示教,TOOL_IO[0]会自动变为高电平。
480  * 机器人退出拖动示教,TOOL_IO[0]会自动变为低电平。
481  *
482  * @param index: 表示IO口的管脚,管脚编号从0开始。
483  * 例如,0表示第一个管脚。
484  * @param runstate: 输出状态选择
485  *
486  * @return 成功返回0;失败返回错误码
487  * AUBO_REQUEST_IGNORE
488  * AUBO_BUSY
489  * AUBO_BAD_STATE
490  * -AUBO_INVL_ARGUMENT
491  * -AUBO_BAD_STATE
492  *
493  * @throws arcs::common_interface::AuboException
494  *
495  * @par Python函数原型
496  * setToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
497  * arcs::common_interface::StandardOutputRunState) -> int
498  *
499  * @par Lua函数原型
500  * setToolDigitalOutputRunstate(index: number, runstate: number) -> nil
501  *
502  */
503  int setToolDigitalOutputRunstate(int index,
504  StandardOutputRunState runstate);
505 
506  /**
507  * 设置可配置数字输出状态选择
508  *
509  * @param index: 表示IO口的管脚,管脚编号从0开始。
510  * 例如,0表示第一个管脚。
511  * @param runstate: 输出状态选择
512  *
513  * @return 成功返回0;失败返回错误码
514  * AUBO_REQUEST_IGNORE
515  * AUBO_BUSY
516  * AUBO_BAD_STATE
517  * -AUBO_INVL_ARGUMENT
518  * -AUBO_BAD_STATE
519  *
520  * @throws arcs::common_interface::AuboException
521  *
522  * @par Python函数原型
523  * setConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
524  * int, arg1: arcs::common_interface::StandardOutputRunState) -> int
525  *
526  * @par Lua函数原型
527  * setConfigurableDigitalOutputRunstate(index: number, runstate: number) ->
528  * nil
529  *
530  */
531  int setConfigurableDigitalOutputRunstate(int index,
532  StandardOutputRunState runstate);
533 
534  /**
535  * 获取标准数字输出状态选择
536  *
537  * @param index: 表示IO口的管脚,管脚编号从0开始。
538  * 例如,0表示第一个管脚。
539  * @return 输出状态选择
540  *
541  * @throws arcs::common_interface::AuboException
542  *
543  * @par Python函数原型
544  * getStandardDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int)
545  * -> arcs::common_interface::StandardOutputRunState
546  *
547  * @par Lua函数原型
548  * getStandardDigitalOutputRunstate(index: number) -> number
549  *
550  */
551  StandardOutputRunState getStandardDigitalOutputRunstate(int index);
552 
553  /**
554  * 获取工具端数字输出状态选择
555  *
556  * @param index: 表示IO口的管脚,管脚编号从0开始。
557  * 例如,0表示第一个管脚。
558  * @return 输出状态选择
559  *
560  * @throws arcs::common_interface::AuboException
561  *
562  * @par Python函数原型
563  * getToolDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
564  * arcs::common_interface::StandardOutputRunState
565  *
566  * @par Lua函数原型
567  * getToolDigitalOutputRunstate(index: number) -> number
568  *
569  */
570  StandardOutputRunState getToolDigitalOutputRunstate(int index);
571 
572  /**
573  * 获取可配置数字输出状态选择
574  *
575  * @param index: 表示IO口的管脚,管脚编号从0开始。
576  * 例如,0表示第一个管脚。
577  * @return 输出状态选择
578  *
579  * @throws arcs::common_interface::AuboException
580  *
581  * @par Python函数原型
582  * getConfigurableDigitalOutputRunstate(self: pyaubo_sdk.IoControl, arg0:
583  * int)
584  * -> arcs::common_interface::StandardOutputRunState
585  *
586  * @par Lua函数原型
587  * getConfigurableDigitalOutputRunstate(index: number) -> number
588  *
589  */
590  StandardOutputRunState getConfigurableDigitalOutputRunstate(int index);
591 
592  /**
593  * 设置标准模拟输出状态选择
594  *
595  * @note
596  * 当给输出状态设置为无(StandardOutputRunState::None)时,
597  * 用户可以设置模拟输出值。\n
598  * 当给输出设置状态时,用户不可设置模拟输出值,控制器会自动设置模拟输出值。\n
599  * 例如,当设置AO0的输出状态为高电平指示正在拖动示教(StandardOutputRunState::Handguiding)时,
600  * 机器人进入拖动示教,AO0的值会自动变为最大值。
601  * 机器人退出拖动示教,AO0的值会自动变为0。
602  *
603  * @param index: 表示IO口的管脚,管脚编号从0开始。
604  * 例如,0表示第一个管脚。
605  * @param runstate: 输出状态选择
606  * @return 成功返回0;失败返回错误码
607  * AUBO_REQUEST_IGNORE
608  * AUBO_BUSY
609  * AUBO_BAD_STATE
610  * -AUBO_INVL_ARGUMENT
611  * -AUBO_BAD_STATE
612  *
613  * @throws arcs::common_interface::AuboException
614  *
615  * @par Python函数原型
616  * setStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int,
617  * arg1: arcs::common_interface::StandardOutputRunState) -> int
618  *
619  * @par Lua函数原型
620  * setStandardAnalogOutputRunstate(index: number, runstate: number) -> nil
621  *
622  */
623  int setStandardAnalogOutputRunstate(int index,
624  StandardOutputRunState runstate);
625 
626  /**
627  * 设置工具端模拟输出状态选择
628  *
629  * @param index: 表示IO口的管脚,管脚编号从0开始。
630  * 例如,0表示第一个管脚。
631  * @param runstate: 输出状态选择
632  * @return 成功返回0;失败返回错误码
633  * AUBO_REQUEST_IGNORE
634  * AUBO_BUSY
635  * AUBO_BAD_STATE
636  * -AUBO_INVL_ARGUMENT
637  * -AUBO_BAD_STATE
638  *
639  * @throws arcs::common_interface::AuboException
640  *
641  * @par Python函数原型
642  * setToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int, arg1:
643  * arcs::common_interface::StandardOutputRunState) -> int
644  *
645  * @par Lua函数原型
646  * setToolAnalogOutputRunstate(index: number, runstate: number) -> nil
647  *
648  */
649  int setToolAnalogOutputRunstate(int index, StandardOutputRunState runstate);
650 
651  /**
652  * 获取标准模拟输出状态选择
653  *
654  * @param index: 表示IO口的管脚,管脚编号从0开始。
655  * 例如,0表示第一个管脚。
656  * @return 标准模拟输出状态选择
657  *
658  * @throws arcs::common_interface::AuboException
659  *
660  * @par Python函数原型
661  * getStandardAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
662  * arcs::common_interface::StandardOutputRunState
663  *
664  * @par Lua函数原型
665  * getStandardAnalogOutputRunstate(index: number) -> number
666  *
667  */
668  StandardOutputRunState getStandardAnalogOutputRunstate(int index);
669 
670  /**
671  * 获取工具端模拟输出状态选择
672  *
673  * @param index: 表示IO口的管脚,管脚编号从0开始。
674  * 例如,0表示第一个管脚。
675  * @return 工具端模拟输出状态选择
676  *
677  * @throws arcs::common_interface::AuboException
678  *
679  * @par Python函数原型
680  * getToolAnalogOutputRunstate(self: pyaubo_sdk.IoControl, arg0: int) ->
681  * arcs::common_interface::StandardOutputRunState
682  *
683  * @par Lua函数原型
684  * getToolAnalogOutputRunstate(index: number) -> number
685  *
686  */
687  StandardOutputRunState getToolAnalogOutputRunstate(int index);
688 
689  /**
690  * 设置标准模拟输入的范围
691  *
692  * @param index: 表示IO口的管脚,管脚编号从0开始。
693  * 例如,0表示第一个管脚。
694  * @param domain: 输入的范围
695  *
696  * @return 成功返回0;失败返回错误码
697  * AUBO_REQUEST_IGNORE
698  * AUBO_BUSY
699  * AUBO_BAD_STATE
700  * -AUBO_INVL_ARGUMENT
701  * -AUBO_BAD_STATE
702  *
703  * @throws arcs::common_interface::AuboException
704  *
705  * @par Python函数原型
706  * setStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
707  * int) -> int
708  *
709  * @par Lua函数原型
710  * setStandardAnalogInputDomain(index: number, domain: number) -> nil
711  *
712  */
713  int setStandardAnalogInputDomain(int index, int domain);
714 
715  /**
716  * 设置工具端模拟输入的范围
717  *
718  * @param index: 表示IO口的管脚,管脚编号从0开始。
719  * 例如,0表示第一个管脚。
720  * @param domain: 输入的范围
721  * @return 成功返回0;失败返回错误码
722  * AUBO_REQUEST_IGNORE
723  * AUBO_BUSY
724  * AUBO_BAD_STATE
725  * -AUBO_INVL_ARGUMENT
726  * -AUBO_BAD_STATE
727  *
728  * @throws arcs::common_interface::AuboException
729  *
730  * @par Python函数原型
731  * setToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
732  * int) -> int
733  *
734  * @par Lua函数原型
735  * setToolAnalogInputDomain(index: number, domain: number) -> nil
736  *
737  */
738  int setToolAnalogInputDomain(int index, int domain);
739 
740  /**
741  * 获取标准模式输入范围
742  *
743  * @param index: 表示IO口的管脚,管脚编号从0开始。
744  * 例如,0表示第一个管脚。
745  * @return 标准模式输入范围
746  *
747  * @throws arcs::common_interface::AuboException
748  *
749  * @par Python函数原型
750  * getStandardAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
751  * int
752  *
753  * @par Lua函数原型
754  * getStandardAnalogInputDomain(index: number) -> number
755  *
756  */
757  int getStandardAnalogInputDomain(int index);
758 
759  /**
760  * 获取工具端模式输入范围
761  *
762  * @param index: 表示IO口的管脚,管脚编号从0开始。
763  * 例如,0表示第一个管脚。
764  * @return 工具端模式输入范围
765  *
766  * @throws arcs::common_interface::AuboException
767  *
768  * @par Python函数原型
769  * getToolAnalogInputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
770  *
771  * @par Lua函数原型
772  * getToolAnalogInputDomain(index: number) -> number
773  *
774  */
775  int getToolAnalogInputDomain(int index);
776 
777  /**
778  * 设置标准模拟输出的范围
779  *
780  * @param index: 表示IO口的管脚,管脚编号从0开始。
781  * 例如,0表示第一个管脚。
782  * @param domain: 输出的范围
783  *
784  * @return 成功返回0;失败返回错误码
785  * AUBO_REQUEST_IGNORE
786  * AUBO_BUSY
787  * AUBO_BAD_STATE
788  * -AUBO_INVL_ARGUMENT
789  * -AUBO_BAD_STATE
790  *
791  * @throws arcs::common_interface::AuboException
792  *
793  * @par Python函数原型
794  * setStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int,
795  * arg1: int) -> int
796  *
797  * @par Lua函数原型
798  * setStandardAnalogOutputDomain(index: number, domain: number) -> nil
799  *
800  */
801  int setStandardAnalogOutputDomain(int index, int domain);
802 
803  /**
804  * 设置工具端模拟输出范围
805  *
806  * @param index: 表示IO口的管脚,管脚编号从0开始。
807  * 例如,0表示第一个管脚。
808  * @param domain: 输出的范围
809  *
810  * @return 成功返回0;失败返回错误码
811  * AUBO_REQUEST_IGNORE
812  * AUBO_BUSY
813  * AUBO_BAD_STATE
814  * -AUBO_INVL_ARGUMENT
815  * -AUBO_BAD_STATE
816  *
817  * @throws arcs::common_interface::AuboException
818  *
819  * @par Python函数原型
820  * setToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int, arg1:
821  * int) -> int
822  *
823  * @par Lua函数原型
824  * setToolAnalogOutputDomain(index: number, domain: number) -> nil
825  *
826  */
827  int setToolAnalogOutputDomain(int index, int domain);
828 
829  /**
830  * 获取标准模拟输出范围
831  *
832  * @param index: 表示IO口的管脚,管脚编号从0开始。
833  * 例如,0表示第一个管脚。
834  * @return 标准模拟输出范围
835  *
836  * @throws arcs::common_interface::AuboException
837  *
838  * @par Python函数原型
839  * getStandardAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) ->
840  * int
841  *
842  * @par Lua函数原型
843  * getStandardAnalogOutputDomain(index: number) -> number
844  *
845  */
846  int getStandardAnalogOutputDomain(int index);
847 
848  /**
849  * 获取工具端模拟输出范围
850  *
851  * @param index: 表示IO口的管脚,管脚编号从0开始。
852  * 例如,0表示第一个管脚。
853  * @return 工具端模拟输出范围
854  *
855  * @throws arcs::common_interface::AuboException
856  *
857  * @par Python函数原型
858  * getToolAnalogOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
859  *
860  * @par Lua函数原型
861  * getToolAnalogOutputDomain(index: number) -> number
862  *
863  */
864  int getToolAnalogOutputDomain(int index);
865 
866  /**
867  * 设置工具端电源电压值(单位V)
868  *
869  * @param domain: 工具端电源电压值,可选三个档位,分别为0、12和24。\n
870  * 0表示0V, 12表示12V, 24表示24V。
871  *
872  * @return 成功返回0; 失败返回错误码
873  * AUBO_REQUEST_IGNORE
874  * AUBO_BUSY
875  * AUBO_BAD_STATE
876  * -AUBO_INVL_ARGUMENT
877  * -AUBO_BAD_STATE
878  *
879  * @throws arcs::common_interface::AuboException
880  *
881  * @par Python函数原型
882  * setToolVoltageOutputDomain(self: pyaubo_sdk.IoControl, arg0: int) -> int
883  *
884  * @par Lua函数原型
885  * setToolVoltageOutputDomain(domain: number) -> nil
886  *
887  */
888  int setToolVoltageOutputDomain(int domain);
889 
890  /**
891  * 获取工具端电源电压值(单位V)
892  *
893  * @return 工具端电源电压值(单位V)
894  *
895  * @throws arcs::common_interface::AuboException
896  *
897  * @par Python函数原型
898  * getToolVoltageOutputDomain(self: pyaubo_sdk.IoControl) -> int
899  *
900  * @par Lua函数原型
901  * getToolVoltageOutputDomain() -> number
902  *
903  */
904  int getToolVoltageOutputDomain();
905 
906  /**
907  * 设置标准数字输出值
908  *
909  * @param index: 表示IO口的管脚,
910 
911  * @param value: 输出值
912  * @return 成功返回0;失败返回错误码
913  * AUBO_REQUEST_IGNORE
914  * AUBO_BUSY
915  * AUBO_BAD_STATE
916  * -AUBO_INVL_ARGUMENT
917  * -AUBO_BAD_STATE
918  *
919  * @throws arcs::common_interface::AuboException
920  *
921  * @par Python函数原型
922  * setStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
923  * bool) -> int
924  *
925  * @par Lua函数原型
926  * setStandardDigitalOutput(index: number, value: boolean) -> nil
927  *
928  */
929  int setStandardDigitalOutput(int index, bool value);
930 
931  /**
932  * 设置数字输出脉冲
933  *
934  * @param index
935  * @param value
936  * @param duration
937  *
938  * @return 成功返回0;失败返回错误码
939  * AUBO_REQUEST_IGNORE
940  * AUBO_BUSY
941  * AUBO_BAD_STATE
942  * -AUBO_INVL_ARGUMENT
943  * -AUBO_BAD_STATE
944  *
945  * @throws arcs::common_interface::AuboException
946  *
947  * @par Python函数原型
948  * setStandardDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
949  * arg1: bool, arg2: float) -> int
950  *
951  * @par Lua函数原型
952  * setStandardDigitalOutputPulse(index: number, value: boolean, duration:
953  * number) -> nil
954  *
955  */
956  int setStandardDigitalOutputPulse(int index, bool value, double duration);
957 
958  /**
959  * 设置工具端数字输出值
960  *
961  * @param index: 表示IO口的管脚,管脚编号从0开始。
962  * 例如,0表示第一个管脚。
963  * @param value: 数字输出值
964  *
965  * @return 成功返回0;失败返回错误码
966  * AUBO_REQUEST_IGNORE
967  * AUBO_BUSY
968  * AUBO_BAD_STATE
969  * -AUBO_INVL_ARGUMENT
970  * -AUBO_BAD_STATE
971  *
972  * @throws arcs::common_interface::AuboException
973  *
974  * @par Python函数原型
975  * setToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: bool)
976  * -> int
977  *
978  * @par Lua函数原型
979  * setToolDigitalOutput(index: number, value: boolean) -> nil
980  *
981  */
982  int setToolDigitalOutput(int index, bool value);
983 
984  /**
985  * 设置工具端数字输出脉冲
986  *
987  * @param index
988  * @param value
989  * @param duration
990  *
991  * @return 成功返回0;失败返回错误码
992  * AUBO_REQUEST_IGNORE
993  * AUBO_BUSY
994  * AUBO_BAD_STATE
995  * -AUBO_INVL_ARGUMENT
996  * -AUBO_BAD_STATE
997  *
998  * @throws arcs::common_interface::AuboException
999  *
1000  * @par Python函数原型
1001  * setToolDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1002  * bool, arg2: float) -> int
1003  *
1004  * @par Lua函数原型
1005  * setToolDigitalOutputPulse(index: number, value: boolean, duration:
1006  * number) -> nil
1007  *
1008  */
1009  int setToolDigitalOutputPulse(int index, bool value, double duration);
1010 
1011  /**
1012  * 设置可配置数字输出值
1013  *
1014  * @param index: 表示IO口的管脚,管脚编号从0开始。
1015  * 例如,0表示第一个管脚。
1016  * @param value: 数字输出值
1017  *
1018  * @return 成功返回0;失败返回错误码
1019  * AUBO_REQUEST_IGNORE
1020  * AUBO_BUSY
1021  * AUBO_BAD_STATE
1022  * -AUBO_INVL_ARGUMENT
1023  * -AUBO_BAD_STATE
1024  *
1025  * @throws arcs::common_interface::AuboException
1026  *
1027  * @par Python函数原型
1028  * setConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1029  * bool) -> int
1030  *
1031  * @par Lua函数原型
1032  * setConfigurableDigitalOutput(index: number, value: boolean) -> nil
1033  *
1034  */
1035  int setConfigurableDigitalOutput(int index, bool value);
1036 
1037  /**
1038  * 设置可配置数字输出脉冲
1039  *
1040  * @param index
1041  * @param value
1042  * @param duration
1043  *
1044  * @return 成功返回0;失败返回错误码
1045  * AUBO_REQUEST_IGNORE
1046  * AUBO_BUSY
1047  * AUBO_BAD_STATE
1048  * -AUBO_INVL_ARGUMENT
1049  * -AUBO_BAD_STATE
1050  *
1051  * @throws arcs::common_interface::AuboException
1052  *
1053  * @par Python函数原型
1054  * setConfigurableDigitalOutputPulse(self: pyaubo_sdk.IoControl, arg0: int,
1055  * arg1: bool, arg2: float) -> int
1056  *
1057  * @par Lua函数原型
1058  * setConfigurableDigitalOutputPulse(index: number, value: boolean,
1059  * duration: number) -> nil
1060  *
1061  */
1062  int setConfigurableDigitalOutputPulse(int index, bool value,
1063  double duration);
1064 
1065  /**
1066  * 设置标准模拟输出值
1067  *
1068  * @param index: 表示IO口的管脚,管脚编号从0开始。
1069  * 例如,0表示第一个管脚。
1070  * @param value: 模拟输出值
1071  *
1072  * @return 成功返回0;失败返回错误码
1073  * AUBO_REQUEST_IGNORE
1074  * AUBO_BUSY
1075  * AUBO_BAD_STATE
1076  * -AUBO_INVL_ARGUMENT
1077  * -AUBO_BAD_STATE
1078  *
1079  * @throws arcs::common_interface::AuboException
1080  *
1081  * @par Python函数原型
1082  * setStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1:
1083  * float) -> int
1084  *
1085  * @par Lua函数原型
1086  * setStandardAnalogOutput(index: number, value: number) -> nil
1087  *
1088  */
1089  int setStandardAnalogOutput(int index, double value);
1090 
1091  /**
1092  * 设置工具端模拟输出值
1093  *
1094  * @param index: 表示IO口的管脚,管脚编号从0开始。
1095  * 例如,0表示第一个管脚。
1096  * @param value: 模拟输出
1097  *
1098  * @return 成功返回0;失败返回错误码
1099  * AUBO_REQUEST_IGNORE
1100  * AUBO_BUSY
1101  * AUBO_BAD_STATE
1102  * -AUBO_INVL_ARGUMENT
1103  * -AUBO_BAD_STATE
1104  *
1105  * @throws arcs::common_interface::AuboException
1106  *
1107  * @par Python函数原型
1108  * setToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int, arg1: float)
1109  * -> int
1110  *
1111  * @par Lua函数原型
1112  * setToolAnalogOutput(index: number, value: number) -> nil
1113  *
1114  */
1115  int setToolAnalogOutput(int index, double value);
1116 
1117  /**
1118  * 获取标准数字输入值
1119  *
1120  * @param index: 表示IO口的管脚,管脚编号从0开始。
1121  * 例如,0表示第一个管脚。
1122  *
1123  * @return 高电平返回true; 低电平返回false
1124  *
1125  * @throws arcs::common_interface::AuboException
1126  *
1127  * @par Python函数原型
1128  * getStandardDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1129  *
1130  * @par Lua函数原型
1131  * getStandardDigitalInput(index: number) -> boolean
1132  *
1133  */
1134  bool getStandardDigitalInput(int index);
1135 
1136  /**
1137  * 获取所有的标准数字输入值
1138  *
1139  * @return 所有的标准数字输入值 \n
1140  * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1141  * 后16位就是所有的标准数字输入状态值,
1142  * 最后一位表示DI00的输入状态值,倒数第二位表示DI01的输入状态值,以此类推。\n
1143  * 1表示高电平状态,0表示低电平状态
1144  *
1145  * @throws arcs::common_interface::AuboException
1146  *
1147  * @par Python函数原型
1148  * getStandardDigitalInputs(self: pyaubo_sdk.IoControl) -> int
1149  *
1150  * @par Lua函数原型
1151  * getStandardDigitalInputs() -> number
1152  *
1153  */
1154  uint32_t getStandardDigitalInputs();
1155 
1156  /**
1157  * 获取工具端数字输入值
1158  *
1159  * @param index: 表示IO口的管脚,管脚编号从0开始。
1160  * 例如,0表示第一个管脚。
1161  *
1162  * @return 高电平返回true; 低电平返回false
1163  *
1164  * @throws arcs::common_interface::AuboException
1165  *
1166  * @par Python函数原型
1167  * getToolDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1168  *
1169  * @par Lua函数原型
1170  * getToolDigitalInput(index: number) -> boolean
1171  *
1172  */
1173  bool getToolDigitalInput(int index);
1174 
1175  /**
1176  * 获取所有的工具端数字输入值
1177  *
1178  * @return 返回所有的工具端数字输入值
1179  *
1180  * @throws arcs::common_interface::AuboException
1181  *
1182  * @par Python函数原型
1183  * getToolDigitalInputs(self: pyaubo_sdk.IoControl) -> int
1184  *
1185  * @par Lua函数原型
1186  * getToolDigitalInputs() -> number
1187  *
1188  */
1189  uint32_t getToolDigitalInputs();
1190 
1191  /**
1192  * 获取可配置数字输入值
1193  *
1194  * @note 可用于获取安全IO的输入值
1195  *
1196  * @param index: 表示IO口的管脚,管脚编号从0开始。
1197  * 例如,0表示第一个管脚。
1198  *
1199  * @return 高电平返回true; 低电平返回false
1200  *
1201  * @throws arcs::common_interface::AuboException
1202  *
1203  * @par Python函数原型
1204  * getConfigurableDigitalInput(self: pyaubo_sdk.IoControl, arg0: int) ->
1205  * bool
1206  *
1207  * @par Lua函数原型
1208  * getConfigurableDigitalInput(index: number) -> boolean
1209  *
1210  */
1211  bool getConfigurableDigitalInput(int index);
1212 
1213  /**
1214  * 获取所有的可配置数字输入值
1215  *
1216  * @note 可用于获取安全IO的输入值
1217  *
1218  * @return 所有的可配置数字输入值\n
1219  * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1220  * 后16位就是所有的输入状态值,
1221  * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
1222  * 1表示高电平状态,0表示低电平状态
1223  *
1224  * @throws arcs::common_interface::AuboException
1225  *
1226  * @par Python函数原型
1227  * getConfigurableDigitalInputs(self: pyaubo_sdk.IoControl) -> int
1228  *
1229  * @par Lua函数原型
1230  * getConfigurableDigitalInputs() -> number
1231  *
1232  */
1233  uint32_t getConfigurableDigitalInputs();
1234 
1235  /**
1236  * 获取标准数字输出值
1237  *
1238  * @param index: 表示IO口的管脚,管脚编号从0开始。
1239  * 例如,0表示第一个管脚。
1240  *
1241  * @return 高电平返回true; 低电平返回false
1242  *
1243  * @throws arcs::common_interface::AuboException
1244  *
1245  * @par Python函数原型
1246  * getStandardDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1247  *
1248  * @par Lua函数原型
1249  * getStandardDigitalOutput(index: number) -> boolean
1250  *
1251  */
1252  bool getStandardDigitalOutput(int index);
1253 
1254  /**
1255  * 获取所有的标准数字输出值
1256  *
1257  * @return 所有的标准数字输出值 \n
1258  * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1259  * 后16位就是所有的标准数字输出状态值,
1260  * 最后一位表示DI00的输出状态值,倒数第二位表示DI01的输出状态值,以此类推。\n
1261  * 1表示高电平状态,0表示低电平状态.
1262  *
1263  * @throws arcs::common_interface::AuboException
1264  *
1265  * @par Python函数原型
1266  * getStandardDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
1267  *
1268  * @par Lua函数原型
1269  * getStandardDigitalOutputs() -> number
1270  *
1271  */
1272  uint32_t getStandardDigitalOutputs();
1273 
1274  /**
1275  * 获取工具端数字输出值
1276  *
1277  * @param index: 表示IO口的管脚,管脚编号从0开始。
1278  * 例如,0表示第一个管脚。
1279  *
1280  * @return 高电平返回true; 低电平返回false
1281  *
1282  * @throws arcs::common_interface::AuboException
1283  *
1284  * @par Python函数原型
1285  * getToolDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) -> bool
1286  *
1287  * @par Lua函数原型
1288  * getToolDigitalOutput(index: number) -> boolean
1289  *
1290  */
1291  bool getToolDigitalOutput(int index);
1292 
1293  /**
1294  * 获取所有的工具端数字输出值
1295  *
1296  * @return 所有的工具端数字输出值
1297  *
1298  * @throws arcs::common_interface::AuboException
1299  *
1300  * @par Python函数原型
1301  * getToolDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
1302  *
1303  * @par Lua函数原型
1304  * getToolDigitalOutputs() -> number
1305  *
1306  */
1307  uint32_t getToolDigitalOutputs();
1308 
1309  /**
1310  * 获取可配值数字输出值
1311  *
1312  * @note 可用于获取安全IO的输出值
1313  *
1314  * @param index: 表示IO口的管脚,管脚编号从0开始。
1315  * 例如,0表示第一个管脚。
1316  *
1317  * @return 高电平返回true; 低电平返回false
1318  *
1319  * @throws arcs::common_interface::AuboException
1320  *
1321  * @par Python函数原型
1322  * getConfigurableDigitalOutput(self: pyaubo_sdk.IoControl, arg0: int) ->
1323  * bool
1324  *
1325  * @par Lua函数原型
1326  * getConfigurableDigitalOutput(index: number) -> boolean
1327  *
1328  */
1329  bool getConfigurableDigitalOutput(int index);
1330 
1331  /**
1332  * 获取所有的可配值数字输出值
1333  *
1334  * @note 可用于获取安全IO的输出值
1335  *
1336  * @return 所有的可配值数字输出\n
1337  * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1338  * 后16位就是所有的输出值,
1339  * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
1340  * 1表示高电平状态,0表示低电平状态.
1341  *
1342  * @throws arcs::common_interface::AuboException
1343  *
1344  * @par Python函数原型
1345  * getConfigurableDigitalOutputs(self: pyaubo_sdk.IoControl) -> int
1346  *
1347  * @par Lua函数原型
1348  * getConfigurableDigitalOutputs() -> number
1349  *
1350  */
1351  uint32_t getConfigurableDigitalOutputs();
1352 
1353  /**
1354  * 获取标准模拟输入值
1355  *
1356  * @param index: 表示IO口的管脚,管脚编号从0开始。
1357  * 例如,0表示第一个管脚。
1358  *
1359  * @return 标准模拟输入值
1360  *
1361  * @throws arcs::common_interface::AuboException
1362  *
1363  * @par Python函数原型
1364  * getStandardAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1365  *
1366  * @par Lua函数原型
1367  * getStandardAnalogInput(index: number) -> number
1368  *
1369  */
1370  double getStandardAnalogInput(int index);
1371 
1372  /**
1373  * 获取工具端模拟输入值
1374  *
1375  * @param index: 表示IO口的管脚,管脚编号从0开始。
1376  * 例如,0表示第一个管脚。
1377  *
1378  * @return 工具端模拟输入值
1379  *
1380  * @throws arcs::common_interface::AuboException
1381  *
1382  * @par Python函数原型
1383  * getToolAnalogInput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1384  *
1385  * @par Lua函数原型
1386  * getToolAnalogInput(index: number) -> number
1387  *
1388  */
1389  double getToolAnalogInput(int index);
1390 
1391  /**
1392  * 获取标准模拟输出值
1393  *
1394  * @param index: 表示IO口的管脚,管脚编号从0开始。
1395  * 例如,0表示第一个管脚。
1396  *
1397  * @return 标准模拟输出值
1398  *
1399  * @throws arcs::common_interface::AuboException
1400  *
1401  * @par Python函数原型
1402  * getStandardAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1403  *
1404  * @par Lua函数原型
1405  * getStandardAnalogOutput(index: number) -> number
1406  *
1407  */
1408  double getStandardAnalogOutput(int index);
1409 
1410  /**
1411  * 获取工具端模拟输出值
1412  *
1413  * @param index: 表示IO口的管脚,管脚编号从0开始。
1414  * 例如,0表示第一个管脚。
1415  *
1416  * @return 工具端模拟输出值
1417  *
1418  * @throws arcs::common_interface::AuboException
1419  *
1420  * @par Python函数原型
1421  * getToolAnalogOutput(self: pyaubo_sdk.IoControl, arg0: int) -> float
1422  *
1423  * @par Lua函数原型
1424  * getToolAnalogOutput(index: number) -> number
1425  *
1426  */
1427  double getToolAnalogOutput(int index);
1428 
1429  /**
1430  * 获取联动输入数量
1431  *
1432  * @return 联动输入数量
1433  *
1434  * @throws arcs::common_interface::AuboException
1435  *
1436  * @par Python函数原型
1437  * getStaticLinkInputNum(self: pyaubo_sdk.IoControl) -> int
1438  *
1439  * @par Lua函数原型
1440  * getStaticLinkInputNum() -> number
1441  *
1442  */
1443  int getStaticLinkInputNum();
1444 
1445  /**
1446  * 获取联动输出数量
1447  *
1448  * @return 联动输出数量
1449  *
1450  * @throws arcs::common_interface::AuboException
1451  *
1452  * @par Python函数原型
1453  * getStaticLinkOutputNum(self: pyaubo_sdk.IoControl) -> int
1454  *
1455  * @par Lua函数原型
1456  * getStaticLinkOutputNum() -> number
1457  *
1458  */
1459  int getStaticLinkOutputNum();
1460 
1461  /**
1462  * 获取所有的联动输入值
1463  *
1464  * @return 所有的联动输入值\n
1465  * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1466  * 后16位就是所有的联动输入状态值,
1467  * 最后一位表示管脚0的输入状态值,倒数第二位表示管脚1的输入状态值,以此类推。\n
1468  * 1表示高电平状态,0表示低电平状态.
1469  *
1470  * @throws arcs::common_interface::AuboException
1471  *
1472  * @par Python函数原型
1473  * getStaticLinkInputs(self: pyaubo_sdk.IoControl) -> int
1474  *
1475  * @par Lua函数原型
1476  * getStaticLinkInputs() -> number
1477  *
1478  */
1479  uint32_t getStaticLinkInputs();
1480 
1481  /**
1482  * 获取所有的联动输出值
1483  *
1484  * @return 返回所有的联动输出值 \n
1485  * 例如,当返回值是2863267846时,换成2进制后是10101010101010100000000000000110。
1486  * 后16位就是所有的联动输出状态值,
1487  * 最后一位表示管脚0的输出状态值,倒数第二位表示管脚1的输出状态值,以此类推。\n
1488  * 1表示高电平状态,0表示低电平状态.
1489  *
1490  * @throws arcs::common_interface::AuboException
1491  *
1492  * @par Python函数原型
1493  * getStaticLinkOutputs(self: pyaubo_sdk.IoControl) -> int
1494  *
1495  * @par Lua函数原型
1496  * getStaticLinkOutputs() -> number
1497  *
1498  */
1499  uint32_t getStaticLinkOutputs();
1500 
1501  /**
1502  * 机器人是否配置了编码器
1503  *
1504  * @return 机器人配置编码器返回 true, 反之返回 false
1505  *
1506  * @throws arcs::common_interface::AuboException
1507  *
1508  */
1509  bool hasEncoderSensor();
1510 
1511  /**
1512  * 设置编码器的解码方式
1513  *
1514  * @param type
1515  * @param range_id
1516  * 0 is a 32 bit signed encoder, range [-2147483648, 2147483647]
1517  * 1 is a 8 bit unsigned encoder, range [0, 255]
1518  * 2 is a 16 bit unsigned encoder, range [0, 65535]
1519  * 3 is a 24 bit unsigned encoder, range [0, 16777215]
1520  * 4 is a 32 bit unsigned encoder, range [0, 4294967295]
1521  *
1522  * @return 成功返回0;失败返回错误码
1523  * AUBO_NO_ACCESS
1524  * AUBO_BUSY
1525  * AUBO_BAD_STATE
1526  * -AUBO_INVL_ARGUMENT
1527  * -AUBO_BAD_STATE
1528  *
1529  * @throws arcs::common_interface::AuboException
1530  *
1531  */
1532  int setEncDecoderType(int type, int range_id);
1533 
1534  /**
1535  * 设置脉冲数
1536  *
1537  * @param rick
1538  *
1539  * @return 成功返回0;失败返回错误码
1540  * AUBO_NO_ACCESS
1541  * AUBO_BUSY
1542  * AUBO_BAD_STATE
1543  * -AUBO_INVL_ARGUMENT
1544  * -AUBO_BAD_STATE
1545  *
1546  * @throws arcs::common_interface::AuboException
1547  *
1548  */
1549  int setEncTickCount(int tick);
1550 
1551  /**
1552  * 获取编码器的解码方式
1553  *
1554  * @return 成功返回0;失败返回错误码
1555  * AUBO_NO_ACCESS
1556  * AUBO_BUSY
1557  * AUBO_BAD_STATE
1558  * -AUBO_BAD_STATE
1559  *
1560  * @throws arcs::common_interface::AuboException
1561  *
1562  */
1563  int getEncDecoderType();
1564 
1565  /**
1566  * 获取脉冲数
1567  *
1568  * @return 成功返回0;失败返回错误码
1569  * AUBO_NO_ACCESS
1570  * AUBO_BUSY
1571  * AUBO_BAD_STATE
1572  * -AUBO_BAD_STATE
1573  *
1574  * @throws arcs::common_interface::AuboException
1575  *
1576  */
1577  int getEncTickCount();
1578 
1579  /**
1580  * 防止在计数超出范围时计数错误
1581  *
1582  * @param delta_count
1583  *
1584  * @return 成功返回0;失败返回错误码
1585  * AUBO_NO_ACCESS
1586  * AUBO_BUSY
1587  * AUBO_BAD_STATE
1588  * -AUBO_BAD_STATE
1589  *
1590  * @throws arcs::common_interface::AuboException
1591  *
1592  */
1593  int unwindEncDeltaTickCount(int delta_count);
1594 
1595  /**
1596  * 获取末端按钮状态
1597  *
1598  * @return 按下返回true; 否则返回false
1599  *
1600  * @throws arcs::common_interface::AuboException
1601  *
1602  * @par Python函数原型
1603  * getToolButtonStatus() -> bool
1604  *
1605  * @par Lua函数原型
1606  * getToolButtonStatus() -> boolean
1607  *
1608  */
1609  bool getToolButtonStatus();
1610 
1611 protected:
1612  void *d_;
1613 };
1614 using IoControlPtr = std::shared_ptr<IoControl>;
1615 
1616 // clang-format off
1617 #define IoControl_DECLARES \
1618  _FUNC(IoControl, 0, getStandardDigitalInputNum) \
1619  _FUNC(IoControl, 0, getToolDigitalInputNum) \
1620  _FUNC(IoControl, 0, getConfigurableDigitalInputNum) \
1621  _FUNC(IoControl, 0, getStandardDigitalOutputNum) \
1622  _FUNC(IoControl, 0, getToolDigitalOutputNum) \
1623  _INST(IoControl, 2, setToolIoInput, index, input) \
1624  _FUNC(IoControl, 1, isToolIoInput, index) \
1625  _FUNC(IoControl, 0, getConfigurableDigitalOutputNum) \
1626  _FUNC(IoControl, 0, getStandardAnalogInputNum) \
1627  _FUNC(IoControl, 0, getToolAnalogInputNum) \
1628  _FUNC(IoControl, 0, getStandardAnalogOutputNum) \
1629  _FUNC(IoControl, 0, getToolAnalogOutputNum) \
1630  _INST(IoControl, 0, setDigitalInputActionDefault) \
1631  _INST(IoControl, 2, setStandardDigitalInputAction, index, action) \
1632  _INST(IoControl, 2, setToolDigitalInputAction, index, action) \
1633  _INST(IoControl, 2, setConfigurableDigitalInputAction, index, action) \
1634  _FUNC(IoControl, 1, getStandardDigitalInputAction, index) \
1635  _FUNC(IoControl, 1, getToolDigitalInputAction, index) \
1636  _FUNC(IoControl, 1, getConfigurableDigitalInputAction, index) \
1637  _INST(IoControl, 0, setDigitalOutputRunstateDefault) \
1638  _INST(IoControl, 2, setStandardDigitalOutputRunstate, index, runstate) \
1639  _INST(IoControl, 2, setToolDigitalOutputRunstate, index, runstate) \
1640  _INST(IoControl, 2, setConfigurableDigitalOutputRunstate, index, runstate) \
1641  _FUNC(IoControl, 1, getStandardDigitalOutputRunstate, index) \
1642  _FUNC(IoControl, 1, getToolDigitalOutputRunstate, index) \
1643  _FUNC(IoControl, 1, getConfigurableDigitalOutputRunstate, index) \
1644  _INST(IoControl, 2, setStandardAnalogOutputRunstate, index, runstate) \
1645  _INST(IoControl, 2, setToolAnalogOutputRunstate, index, runstate) \
1646  _FUNC(IoControl, 1, getStandardAnalogOutputRunstate, index) \
1647  _FUNC(IoControl, 1, getToolAnalogOutputRunstate, index) \
1648  _INST(IoControl, 2, setStandardAnalogInputDomain, index, domain) \
1649  _INST(IoControl, 2, setToolAnalogInputDomain, index, domain) \
1650  _FUNC(IoControl, 1, getStandardAnalogInputDomain, index) \
1651  _FUNC(IoControl, 1, getToolAnalogInputDomain, index) \
1652  _INST(IoControl, 2, setStandardAnalogOutputDomain, index, domain) \
1653  _INST(IoControl, 2, setToolAnalogOutputDomain, index, domain) \
1654  _INST(IoControl, 1, setToolVoltageOutputDomain, domain) \
1655  _FUNC(IoControl, 0, getToolVoltageOutputDomain) \
1656  _FUNC(IoControl, 1, getStandardAnalogOutputDomain, index) \
1657  _FUNC(IoControl, 1, getToolAnalogOutputDomain, index) \
1658  _INST(IoControl, 2, setStandardDigitalOutput, index, value) \
1659  _INST(IoControl, 3, setStandardDigitalOutputPulse, index, value, duration) \
1660  _INST(IoControl, 2, setToolDigitalOutput, index, value) \
1661  _INST(IoControl, 3, setToolDigitalOutputPulse, index, value, duration) \
1662  _INST(IoControl, 2, setConfigurableDigitalOutput, index, value) \
1663  _INST(IoControl, 3, setConfigurableDigitalOutputPulse, index, value, duration) \
1664  _INST(IoControl, 2, setStandardAnalogOutput, index, value) \
1665  _INST(IoControl, 2, setToolAnalogOutput, index, value) \
1666  _FUNC(IoControl, 1, getStandardDigitalInput, index) \
1667  _FUNC(IoControl, 0, getStandardDigitalInputs) \
1668  _FUNC(IoControl, 1, getToolDigitalInput, index) \
1669  _FUNC(IoControl, 0, getToolDigitalInputs) \
1670  _FUNC(IoControl, 1, getConfigurableDigitalInput, index) \
1671  _FUNC(IoControl, 0, getConfigurableDigitalInputs) \
1672  _FUNC(IoControl, 1, getStandardAnalogInput, index) \
1673  _FUNC(IoControl, 1, getToolAnalogInput, index) \
1674  _FUNC(IoControl, 1, getStandardDigitalOutput, index) \
1675  _FUNC(IoControl, 0, getStandardDigitalOutputs) \
1676  _FUNC(IoControl, 1, getToolDigitalOutput, index) \
1677  _FUNC(IoControl, 0, getToolDigitalOutputs) \
1678  _FUNC(IoControl, 1, getConfigurableDigitalOutput, index) \
1679  _FUNC(IoControl, 0, getConfigurableDigitalOutputs) \
1680  _FUNC(IoControl, 1, getStandardAnalogOutput, index) \
1681  _FUNC(IoControl, 1, getToolAnalogOutput, index) \
1682  _FUNC(IoControl, 0, getStaticLinkInputNum) \
1683  _FUNC(IoControl, 0, getStaticLinkOutputNum) \
1684  _FUNC(IoControl, 0, getStaticLinkInputs) \
1685  _FUNC(IoControl, 0, getStaticLinkOutputs) \
1686  _FUNC(IoControl, 0, hasEncoderSensor) \
1687  _FUNC(IoControl, 2, setEncDecoderType, type, range_id) \
1688  _FUNC(IoControl, 1, setEncTickCount, tick) \
1689  _FUNC(IoControl, 0, getEncDecoderType) \
1690  _FUNC(IoControl, 0, getEncTickCount) \
1691  _FUNC(IoControl, 1, unwindEncDeltaTickCount, delta_count) \
1692  _FUNC(IoControl, 0, getToolButtonStatus)
1693 
1694 // clang-format on
1695 } // namespace common_interface
1696 } // namespace arcs
1697 
1698 #endif // AUBO_SDK_IO_CONTROL_INTERFACE_H
数据类型的定义
StandardOutputRunState
标准输出运行状态
Definition: type_def.h:487
IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取 ...
Definition: io_control.h:28
StandardInputAction
The StandardInputAction enum.
Definition: type_def.h:495
std::shared_ptr< IoControl > IoControlPtr
Definition: io_control.h:1614
Definition: aubo_api.h:17