4#ifndef AUBO_SDK_IO_CONTROL_INTERFACE_H
5#define AUBO_SDK_IO_CONTROL_INTERFACE_H
10#include <aubo/global_config.h>
14namespace common_interface {
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)
IoControl类提供了一系列的接口对机器人标配的一些数字、模拟IO进行配置,输出状态设置、读取
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
std::shared_ptr< IoControl > IoControlPtr
StandardOutputRunState
标准输出运行状态