/* * cmd_adapter模组 */ #pragma once #ifdef __cplusplus extern "C" { #endif /* Includes ----------------------------------------------------------------- */ #include "component\user_math.h" #include "gimbal.h" #include "remote_control.h" #include "chassis.h" #include "shoot.h" #include "dr16.h" #include "module\cmd\cmd_types.h" #define CMD_OK (0) #define CMD_ERR (-1) #define CMD_ERR_NULL (-2) #define CMD_ERR_INITED (-3) #define CMD_ERR_NO_DEV (-4) /* ========================================================================== */ /* 适配器接口定义 */ /* ========================================================================== */ /* 适配器操作函数指针类型 */ typedef int8_t (*CMD_AdapterInitFunc)(void *device_data); typedef int8_t (*CMD_AdapterGetInputFunc)(void *device_data, CMD_RawInput_t *output); typedef bool (*CMD_AdapterIsOnlineFunc)(void *device_data); typedef struct { const char *name; /* 适配器名称 */ CMD_InputSource_t source; /* 对应的输入源 */ void *device_data; /* 设备数据指针 */ CMD_AdapterInitFunc init; /* 初始化函数 */ CMD_AdapterGetInputFunc get_input; /* 获取输入函数 */ CMD_AdapterIsOnlineFunc is_online; /* 在线检测函数 */ } CMD_InputAdapter_t; #ifdef __cplusplus } #endif