From 218a5e32a02b2b682be6d2940a841cbfe28951af Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Tue, 22 Oct 2024 16:07:28 +0800 Subject: [PATCH] =?utf8?q?ble:=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?utf8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../service/ble_service/bleservice/bleService.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c index 848c3c523..5ef0bee37 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c @@ -1300,6 +1300,8 @@ errcode_t svr_ble_bt_gatts_noyify(uint8_t *data, uint16_t data_len)//这里是 data_info.attr_handle = g_ble_server_handle; data_info.value = data; data_info.value_len = data_len; + if (g_ble_conn_id == 0) + return 0; errcode_t ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info); if(ret!=ERRCODE_SUCC) { @@ -1329,6 +1331,8 @@ errcode_t svr_ble_bt_gatts_noyify_zhihui(uint8_t *data, uint16_t data_len)//这 data_info.attr_handle = data2ae7Cmd; data_info.value = data; data_info.value_len = data_len; + if (g_ble_conn_id == 0) + return 0; errcode_t ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info); if(ret!=ERRCODE_SUCC) { @@ -1390,6 +1394,10 @@ errcode_t svr_ble_read_data_value_updata_noyify(void)//2ae2 data_info.value = battery_point_val; data_info.value_len = 20; + + if (g_ble_conn_id == 0) + return 0; + ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gatts_notify_indicate ret:0x%x. serverid:%u,conn_id:%u,handle:%u.data_len:%d", ret, g_ble_server_id, g_ble_conn_id, g_ble_server_handle,20); @@ -1449,10 +1457,10 @@ static uint8_t flag=1; static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para, errcode_t status) { - WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d",read_cb_para->is_long); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d %d",read_cb_para->is_long,status); //WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d 2ae2 %d read_cb_para->handle :%d",read_cb_para->is_long,data2ae2Cmd,read_cb_para->handle); - if(read_cb_para->handle==data2ae2Cmd) + if(read_cb_para->handle==data2ae2Cmd && get_ble_connect() && status==0 ) { g_ble_conn_id=conn_id; @@ -1496,7 +1504,8 @@ static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, ga gatts_ntf_ind.attr_handle=read_cb_para->handle; gatts_ntf_ind.value=battery_point_val; gatts_ntf_ind.value_len=20; - //read_cb_para->need_rsp=0; + // read_cb_para->need_rsp=0; + gatts_notify_indicate(server_id,conn_id,&gatts_ntf_ind); } } -- 2.17.1