Steering_Wheel_Infatry/User/module/cmd/cmd_adapter.h
2025-12-27 17:01:04 +08:00

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