From: p15692025051 <846603105@qq.com> Date: Mon, 9 Sep 2024 03:20:35 +0000 (+0800) Subject: 添加设置蓝牙广播名字功能 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=a525264e2946b692e9c1fe417641df9f34604c31;p=mirrors%2FvMouse.git 添加设置蓝牙广播名字功能 --- diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c index 1a62e22..7acca9e 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c @@ -315,17 +315,17 @@ void sp_start_adv(void) gap_set_advertising_param(&adv_param); - uint8_t name[ADV_NAME_BT1_LEN] = ADV_NAME_BT1; + //uint8_t name[ADV_NAME_BT1_LEN] = ADV_NAME_BT1; - scan_rsp_data[0] = ADV_NAME_BT1_LEN + 1; + scan_rsp_data[0] = strlen(user_data.ble_name) + 1; scan_rsp_data[1] = GAP_ADVTYPE_LOCAL_NAME_COMPLETE; - memcpy(&scan_rsp_data[2], name, ADV_NAME_BT1_LEN); + memcpy(&scan_rsp_data[2], user_data.ble_name, strlen(user_data.ble_name)); // Set advertising data & scan response data //co_printf("gap_bond_manager_get_info 3 !!!!!!!!\n"); gap_set_advertising_data(adv_data, (bond_info.bond_flag == true) ? (sizeof(adv_data) - 7) : sizeof(adv_data)); //co_printf("gap_bond_manager_get_info 4 !!!!!!!!\n"); - gap_set_advertising_rsp_data(scan_rsp_data, ADV_NAME_BT1_LEN + 2); + gap_set_advertising_rsp_data(scan_rsp_data, strlen(user_data.ble_name) + 2); //co_printf("%s\r\n", (bond_info.bond_flag == true) ? "Have bond info" : "Nothing bond info"); } @@ -347,8 +347,9 @@ void sp_start_adv(void) void simple_peripheral_init(void) { // set local device name - uint8_t local_name[ADV_NAME_BT1_LEN] = ADV_NAME_BT1; - gap_set_dev_name(local_name, sizeof(local_name)); + // uint8_t local_name[ADV_NAME_BT1_LEN] = ADV_NAME_BT1; + // gap_set_dev_name(local_name, sizeof(local_name)); + gap_set_dev_name((unsigned char*)user_data.ble_name, strlen(user_data.ble_name)); gap_set_dev_appearance(GAP_APPEARE_HID_MOUSE); os_timer_init(&update_param_timer, param_timer_func, NULL); diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c index 0921657..3cc7e65 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c @@ -118,8 +118,12 @@ void user_inflash_init(void) strcpy(user_data.official_url,USER_URL); memset(user_data.brand,0,sizeof(user_data.brand)); strcpy((char *)user_data.brand,Brand); + strcpy((char *)user_data.ble_name,ADV_NAME_BT1); + user_data_storage_do(true); } + if(strlen(user_data.ble_name)>sizeof(user_data.ble_name)) + strcpy((char *)user_data.ble_name,ADV_NAME_BT1); //user_data.url_switch = 1;//客户强行开 // if (user_data.mouse_mode == WORK_2_4G_MODE) // { diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h index 95e0417..e93f634 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h @@ -48,6 +48,7 @@ typedef struct uint8_t dongle_mac[MAC_ADDR_LEN]; uint8_t RVD2[MAC_ADDR_LEN]; uint8_t brand[SN_MAX_LEN];//Æ·ÅÆ + char ble_name[20]; uint32_t reset_end ; } user_data_param_t; diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c index 416cc5b..add4b8b 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c @@ -443,6 +443,22 @@ char user_parse_data(char *data) co_printf("set_mouse_mode:%d\r\n",user_data.mouse_mode); ret = 1; } + str_tmp = strstr(cmd_str_tmp,"\"set_ble_name\":\""); + if(str_tmp) + { + + str_tmp += strlen("\"set_ble_name\":\""); + num_buf_len = find_c(str_tmp,'\"'); + if(num_buf_len>=sizeof(user_data.ble_name)-1) + num_buf_len = sizeof(user_data.ble_name)-1; + memcpy(user_data.ble_name,str_tmp,num_buf_len); + user_data.ble_name[num_buf_len]=0; + send_buf_len = snprintf(send_buf,SEND_BUF_MAX_LEN,"{\"set_config\":\"1\"}"); + hid_cmd_send((unsigned char*)send_buf,send_buf_len); + user_data_storage_do(true); + co_printf("ble_name:%s\r\n",user_data.ble_name); + ret = 1; + } }else {