55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
/*
|
|
* 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
|