This commit is contained in:
lmx
2025-12-18 11:06:31 +08:00
parent 01f442d636
commit 5757f3fb12
12 changed files with 109 additions and 1642 deletions

View File

@ -113,8 +113,6 @@ extern void bt_pll_para(u32 osc, u32 sys, u8 low_power, u8 xosc);
BT_USER_COMM_VAR bt_user_comm_var;
BT_USER_PRIV_VAR bt_user_priv_var;
/*********xtell code */
extern unsigned char xt_bl_new_name[13];
extern unsigned char xt_ble_new_name[9];
/*******end xtell cocde */
int phone_call_begin(void *priv);
@ -1492,13 +1490,7 @@ static int bt_connction_status_event_handler(struct bt_event *bt)
clear_current_poweron_memory_search_index(0);
case BT_STATUS_FIRST_CONNECTED:
log_info("BT_STATUS_CONNECTED\n");
if(strcmp(xt_ble_new_name,"CM-XXXXX") != 0){
//蓝牙连接成功
bt_newname =1;
// queue_ai_msg(xtell_uart_ai_14_bt_connect,5,14);
u8 temp[5]={0xBB,0xBE,0x02,0x04,0x00};
// send_data_to_ble_client(&temp,5);
}
//连接成功
earphone_change_pwr_mode(PWR_DCDC15, 3000);
sys_auto_shut_down_disable();
#if TCFG_ADSP_UART_ENABLE

View File

@ -6,8 +6,7 @@
#include "le_common.h"
#include "ble_user.h"
unsigned char xt_bl_new_name[13] = "WEBIRD-XXXXX";
unsigned char xt_ble_new_name[9] = "CM-XXXXX";

View File

@ -303,14 +303,13 @@ static void default_report_data_deal(att_data_report_t *report_data, target_uuid
}
// 默认要匹配的远程设备名称 1
static const u8 test_remoter_name1[] = "X100_TEST";
static const u8 test_remoter_name1[] = "X100ABCDE";
// static const u8 test_remoter_name1[] = "AC637N_MX(BLE)"; // 备选名称
// static const u8 test_remoter_name2[] = "AC630N_HID567(BLE)"; //备选名称
// 默认的 Client 写操作使用的 Characteristic Handle
static u16 default_client_write_handle;
// 用于定时触发写操作的定时器句柄
static u16 test_client_timer = 0;
// 默认的设备匹配配置 01
static const client_match_cfg_t match_dev01 = {
@ -358,20 +357,20 @@ static void default_event_callback(le_client_event_e event, u8 *packet, int size
case CLI_EVENT_SEARCH_PROFILE_COMPLETE: // 服务发现完成事件
log_info("CLI_EVENT_SEARCH_PROFILE_COMPLETE\n");
// 如果定时器未启动且找到了写入句柄
if ((!test_client_timer) && default_client_write_handle) {
log_info("test timer_add\n");
extern void test_func_main(void);
test_func_main();
if (default_client_write_handle) {
log_info("default_client_write_handle is not null\n");
// extern void test_func_main(void);
// test_func_main();
extern void create_key_detect_thread(void);
create_key_detect_thread(); //开始按键检测 -- task_func.c
}
break;
case CLI_EVENT_CONNECTED: // 连接建立事件
//不在这处理连接成功不等于可以发送数据还需要等profile搜索完成取到server的uuid获到写句柄
break;
case CLI_EVENT_DISCONNECT: // 断开连接事件
// 如果定时器正在运行,则删除它
if (test_client_timer) {
sys_timeout_del(test_client_timer);
test_client_timer = 0;
}
extern void destroy_key_detect_thread(void);
destroy_key_detect_thread(); //停止按键检测 -- task_func.c
default_client_write_handle = 0; // 清空写入句柄
break;
default:
@ -1433,7 +1432,7 @@ static void cbk_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *p
log_info("ATT MTU = %u\n", mtu); // 打印 MTU 值
ble_op_att_set_send_mtu(mtu); // 设置 ATT 客户端的发送 MTU
break;
case HCI_EVENT_VENDOR_REMOTE_TEST: // 供应商远程测试事件
case HCI_EVENT_VENDOR_REMOTE_TEST:
log_info("--- HCI_EVENT_VENDOR_REMOTE_TEST\n");
break;
case L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE: // L2CAP 连接参数更新响应事件
@ -2094,14 +2093,14 @@ void client_send_conn_param_update(void)
// mac_addr_buf: 用于填充 MAC 地址的缓冲区
void rcsp_adv_fill_mac_addr(u8 *mac_addr_buf)
{
#if (MUTIl_CHARGING_BOX_EN) // 如果使能了多路充电盒功能
u8 *mac_addr = get_chargebox_adv_addr(); // 获取充电盒的 MAC 地址
#if (MUTIl_CHARGING_BOX_EN)
u8 *mac_addr = get_chargebox_adv_addr();
if (mac_addr) {
swapX(mac_addr, mac_addr_buf, 6); // 交换 MAC 地址到缓冲区
}
/* printf("mac_addr:"); */
/* printf_buf(mac_addr_buf, 6); */
#else // 否则使用默认的蓝牙 MAC 地址
#else // 使用默认的蓝牙 MAC 地址
swapX(bt_get_mac_addr(), mac_addr_buf, 6); // 获取并填充蓝牙 MAC 地址
#endif
}
@ -2124,7 +2123,7 @@ void g_send_data_to_ble_server(const u8* data, u16 length){
// 数据类型为 ATT_OP_WRITE_WITHOUT_RESPOND (写无响应)
int ret = client_operation_send(default_client_write_handle, data, length, ATT_OP_WRITE_WITHOUT_RESPOND);
if(ret == 0){ // 如果发送成功 (返回值 0 表示成功)
printf("success: send data to server\n");
// printf("success: send data to server\n");
return;
}
printf("error: send data to server\n"); // 发送失败