作为主设备去连接其他蓝牙设备

This commit is contained in:
lmx
2025-12-03 10:44:14 +08:00
parent 754a529211
commit 86199b822e
24 changed files with 18 additions and 16 deletions

View File

@ -245,8 +245,7 @@ INCLUDES := \
-Iinclude_lib/media/aispeech/enc/include \ -Iinclude_lib/media/aispeech/enc/include \
-Icpu/br28/audio_hearing \ -Icpu/br28/audio_hearing \
-Iinclude_lib/media/cvp \ -Iinclude_lib/media/cvp \
-Iapps/earphone/xtell_Sensor \ -Iapps/earphone/xtell_remote_control \
-Iapps/earphone/remote_control/ \
-I$(SYS_INC_DIR) \ -I$(SYS_INC_DIR) \
@ -616,8 +615,7 @@ c_SRC_FILES := \
# 定义需要自动搜索 .c 文件的目录列表 # 定义需要自动搜索 .c 文件的目录列表
C_SRC_DIRS := \ C_SRC_DIRS := \
apps/earphone/remote_control \ apps/earphone/xtell_remote_control \
apps/earphone/xtell_Sensor \
# 使用 shell 的 find 命令递归查找所有 .c 文件 # 使用 shell 的 find 命令递归查找所有 .c 文件
# foreach 遍历 C_SRC_DIRS 中的每一个目录 # foreach 遍历 C_SRC_DIRS 中的每一个目录

View File

@ -24,7 +24,7 @@
/** /**
* @brief Type A卡片事件 * @brief Type A卡片事件uid8
* @details * @details
* ISO/IEC 14443 Type A卡片的完整激活流程 * ISO/IEC 14443 Type A卡片的完整激活流程
* 1. Type A协议 * 1. Type A协议
@ -34,7 +34,7 @@
* 5. RF场 * 5. RF场
* @return * @return
*/ */
void TYPE_A_EVENT(void) void TYPE_A_EVENT(char* uid)
{ {
unsigned char result; unsigned char result;
int i; int i;
@ -75,6 +75,7 @@ void TYPE_A_EVENT(void)
xlog("-> UID = "); xlog("-> UID = ");
for (i = 0; i < PICC_A.UID_Length; i++) for (i = 0; i < PICC_A.UID_Length; i++)
{ {
uid[i] = PICC_A.UID[i];
xlog("%02X", PICC_A.UID[i]); xlog("%02X", PICC_A.UID[i]);
} }
xlog("\r\n"); xlog("\r\n");

View File

@ -45,7 +45,7 @@
#include "default_event_handler.h" #include "default_event_handler.h"
#include "debug.h" #include "debug.h"
#include "system/event.h" #include "system/event.h"
#include "../remote_control/nvs.h" #include "../nvs/nvs.h"
#if (JL_EARPHONE_APP_EN) #if (JL_EARPHONE_APP_EN)
#include "rcsp_adv_bluetooth.h" #include "rcsp_adv_bluetooth.h"
#endif #endif

View File

@ -300,7 +300,7 @@ static const char *const phy_result[] = { // PHY速率类型字符串
}; };
// --- 接口操作结构体 --- // --- 接口操作结构体 ---
static const struct ble_client_operation_t client_operation = { const struct ble_client_operation_t client_operation = {
.scan_enable = bt_ble_scan_enable, .scan_enable = bt_ble_scan_enable,
.disconnect = ble_disconnect, .disconnect = ble_disconnect,
.get_buffer_vaild = get_buffer_vaild_len, .get_buffer_vaild = get_buffer_vaild_len,

View File

@ -1,5 +1,5 @@
#include "RC_app_main.h" #include "task_func.h"
#include "nvs.h" #include "./nvs/nvs.h"
#include "timer.h" #include "timer.h"
#include "system/includes.h" #include "system/includes.h"
@ -21,7 +21,7 @@
// 外部函数声明 // 外部函数声明
// ================================================================================= // =================================================================================
extern void TYPE_V_EVENT(char* uid); extern void TYPE_V_EVENT(char* uid);
extern void TYPE_A_EVENT(char* uid);
// ================================================================================= // =================================================================================
// 静态函数声明 // 静态函数声明
@ -41,7 +41,7 @@ static void rc_ble_state_set_disconnected(void);
static RC_Context_t g_rc_context; // 全局上下文实例 static RC_Context_t g_rc_context; // 全局上下文实例
static u16 g_rfid_timer_id = 0; // RFID 定时器ID static u16 g_rfid_timer_id = 0; // RFID 定时器ID
static u16 g_ble_timer_id = 0; // BLE 定时器ID static u16 g_ble_timer_id = 0; // BLE 定时器ID
extern const struct ble_client_operation_t client_operation;
// ================================================================================= // =================================================================================
// 核心回调函数 (Core Callback Handlers) // 核心回调函数 (Core Callback Handlers)
@ -54,8 +54,11 @@ void rc_rfid_callback_handler(void *priv)
{ {
u8 uid[UID_LENGTH] = {0}; u8 uid[UID_LENGTH] = {0};
TYPE_V_EVENT((char *)uid); //读id卡
// TYPE_V_EVENT((char *)uid);
TYPE_A_EVENT((char *)uid);
//是否有rfid卡靠近
u8 is_new_data = 0; u8 is_new_data = 0;
for (int i = 0; i < UID_LENGTH; i++) { for (int i = 0; i < UID_LENGTH; i++) {
if (uid[i] != 0x00) { if (uid[i] != 0x00) {
@ -65,7 +68,7 @@ void rc_rfid_callback_handler(void *priv)
} }
if (!is_new_data) { if (!is_new_data) {
return; return; //没有rfid卡靠近返回
} }
rc_log("New RFID card detected.\n"); rc_log("New RFID card detected.\n");
@ -73,7 +76,7 @@ void rc_rfid_callback_handler(void *priv)
RFID_Device_Type_t device_type = get_rfid_device_type(uid); RFID_Device_Type_t device_type = get_rfid_device_type(uid);
switch (device_type) { switch (device_type) {
case RFID_DEVICE_TYPE_MAIN_BOARD: case RFID_DEVICE_TYPE_MAIN_BOARD: //船主板上的rfid卡
rc_log("Device is Main Board. Storing MAC...\n"); rc_log("Device is Main Board. Storing MAC...\n");
if (ble_hid_is_connected()) { if (ble_hid_is_connected()) {
// 先停止扫描和连接尝试,实现断开 // 先停止扫描和连接尝试,实现断开