ble:优化数据同步
authorCaisking <3449750381@qq.com>
Tue, 22 Oct 2024 08:07:28 +0000 (16:07 +0800)
committerCaisking <3449750381@qq.com>
Tue, 22 Oct 2024 08:07:28 +0000 (16:07 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index 848c3c5..5ef0bee 100644 (file)
@@ -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;\r
     data_info.value = data;\r
     data_info.value_len = data_len;\r
+    if (g_ble_conn_id == 0)\r
+      return 0;\r
     errcode_t ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
     if(ret!=ERRCODE_SUCC)\r
     {\r
@@ -1329,6 +1331,8 @@ errcode_t svr_ble_bt_gatts_noyify_zhihui(uint8_t *data, uint16_t data_len)//这
     data_info.attr_handle = data2ae7Cmd;\r
     data_info.value = data;\r
     data_info.value_len = data_len;\r
+     if (g_ble_conn_id == 0)\r
+      return 0;\r
     errcode_t ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
     if(ret!=ERRCODE_SUCC)\r
     {\r
@@ -1390,6 +1394,10 @@ errcode_t svr_ble_read_data_value_updata_noyify(void)//2ae2
 \r
     data_info.value = battery_point_val;\r
     data_info.value_len = 20;\r
+\r
+    if (g_ble_conn_id == 0)\r
+    return 0;\r
+     \r
      ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
     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,\r
         g_ble_conn_id, g_ble_server_handle,20);\r
@@ -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,\r
     errcode_t status)\r
 {\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d",read_cb_para->is_long);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d %d",read_cb_para->is_long,status);\r
 \r
     //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);\r
-    if(read_cb_para->handle==data2ae2Cmd)\r
+    if(read_cb_para->handle==data2ae2Cmd && get_ble_connect() && status==0 )\r
     {\r
         g_ble_conn_id=conn_id;\r
 \r
@@ -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;\r
     gatts_ntf_ind.value=battery_point_val;\r
     gatts_ntf_ind.value_len=20;\r
-    //read_cb_para->need_rsp=0;\r
+    // read_cb_para->need_rsp=0;\r
+    \r
     gatts_notify_indicate(server_id,conn_id,&gatts_ntf_ind);\r
 }\r
 }\r