优化xbox,盖世小鸡蓝牙手柄控制,增加动作集控制
This commit is contained in:
1 parent
9cc5186a58
commit
e33a6b894d
10 files changed
+606
-356
No files matched your search
@@ -0,0 +1,46 @@
|
||||
/* ---------------------------------
|
||||
* 蓝牙手柄(Xbox)模块
|
||||
* 包含:蓝牙实体、状态变量、连接处理函数
|
||||
* 不包含:手柄数据解析逻辑(processControllerData)
|
||||
------------------------------------- */
|
||||
#ifndef XBOX_BLUETOOTH_H
|
||||
#define XBOX_BLUETOOTH_H
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <XboxSeriesXControllerESP32_asukiaaa.hpp> // Xbox手柄库
|
||||
|
||||
/************ Xbox手柄全局实体 *************/
|
||||
// 连接目标手柄的MAC地址(保持原地址不变)
|
||||
XboxSeriesXControllerESP32_asukiaaa::Core xboxController("0a:27:12:5c:71:79");
|
||||
|
||||
|
||||
/************ 外部函数声明 *************/
|
||||
// 声明主文件中的数据处理函数(在主文件中实现)
|
||||
extern void processControllerData(const XboxControllerNotificationParser& data);
|
||||
|
||||
/************ 蓝牙手柄核心函数 *************/
|
||||
|
||||
// 初始化蓝牙手柄(供主文件setup()调用)
|
||||
void xboxControllerInit() {
|
||||
// 启动蓝牙连接
|
||||
xboxController.begin();
|
||||
}
|
||||
|
||||
// 处理蓝牙手柄通知(循环调用,保持连接并接收数据)
|
||||
void process_xbox_notif() {
|
||||
xboxController.onLoop(); // 维持蓝牙连接状态
|
||||
|
||||
if (xboxController.isConnected()) {
|
||||
if (xboxController.isWaitingForFirstNotification()) {
|
||||
// 可添加调试信息(如"等待手柄数据...")
|
||||
} else {
|
||||
// 接收数据后,调用主文件的解析函数
|
||||
processControllerData(xboxController.xboxNotif);
|
||||
}
|
||||
} else {
|
||||
// 可添加调试信息(如"手柄未连接")
|
||||
}
|
||||
}
|
||||
|
||||
#endif // XBOX_BLUETOOTH_H
|
||||
|
||||
Reference in new issue
Block a user