Files
99_7018_lmx/apps/earphone/xtell_remote_control/task_func.h

101 lines
3.1 KiB
C
Raw Normal View History

2025-12-02 16:25:20 +08:00
#ifndef __RC_APP_MAIN_H__
#define __RC_APP_MAIN_H__
#include "typedef.h"
// =================================================================================
// 常量定义 (Constants)
// =================================================================================
// 假设UID的前1个字节用于区分设备类型
#define UID_PREFIX_MAIN_BOARD 0xA1 // 主板UID前缀
#define UID_PREFIX_REMOTE_CONTROL 0xA2 // 遥控器UID前缀
#define UID_LENGTH 8 // RFID UID 的标准长度
// 定时器调用间隔 (ms)
#define RC_RFID_CALLBACK_INTERVAL_MS 500 // RFID轮询间隔500ms
#define RC_BLE_CALLBACK_INTERVAL_MS 1000 // BLE状态机处理间隔, 1s
// =================================================================================
// 枚举与结构体定义 (Enums & Structs)
// =================================================================================
/**
* @brief
*/
typedef enum {
RC_STATE_IDLE, // 空闲状态,等待初始化
RC_STATE_DISCONNECTED, // 未连接主板 (正在扫描或等待)
RC_STATE_CONNECTING, // 正在连接主板
RC_STATE_CONNECTED, // 已连接主板
} RC_State_t;
2025-12-10 17:40:26 +08:00
/**
* @brief
*/
typedef enum {
TEAM_NO, //未组队
TEAM_YES,
} RC_State_t;
2025-12-02 16:25:20 +08:00
/**
* @brief RFID读取到的设备类型
*/
typedef enum {
RFID_DEVICE_TYPE_UNKNOWN, // 未知设备
RFID_DEVICE_TYPE_MAIN_BOARD, // 船体主板
RFID_DEVICE_TYPE_REMOTE_CONTROL // 其他遥控器
} RFID_Device_Type_t;
/**
* @brief
*/
typedef struct {
RC_State_t state; // 当前状态机状态
2025-12-10 17:40:26 +08:00
RC_State_t team; //当前是否组队
2025-12-03 15:11:15 +08:00
u8 paired_mac_addr[UID_LENGTH]; // 已配对主板的MAC地址(包含前缀)
2025-12-02 16:25:20 +08:00
// ... 可在此处添加更多运行时需要管理的数据
} RC_Context_t;
// =================================================================================
// 公共函数声明 (Public Function Prototypes)
// =================================================================================
/**
* @brief
* @details
* -
* - RFID和BLE处理定时器
*/
void rc_app_main_init(void);
/**
* @brief RFID回调处理函数 ()
* @details
* - RFID读取函数
* - UID并执行相应逻辑 (/)
*/
void rc_rfid_callback_handler(void *priv);
/**
* @brief BLE回调处理函数 ()
* @details
* - BLE连接状态
* - 线
*/
void rc_ble_callback_handler(void *priv);
/**
* @brief BLE连接状态回调 ()
* @param status 0: , :
* @param addr
* @details
* - BLE连接成功后
* -
*/
// void rc_ble_connection_status_callback(u8 status, u8 *addr); // No longer needed
#endif // __RC_APP_MAIN_H__