多蓝牙连接适配问题修改(补)
authorhcj <1224667075@qq.com>
Sun, 29 Sep 2024 10:30:39 +0000 (18:30 +0800)
committerhcj <1224667075@qq.com>
Sun, 29 Sep 2024 10:30:39 +0000 (18:30 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index 496a8a8..f5b0f7e 100644 (file)
@@ -178,6 +178,18 @@ static void clean_phone_info(uint16_t conn_id)//保存手机信息 包含手机m
 }\r
 \r
 \r
+static bool get_ble_connect()//保存手机信息 包含手机mac地址\r
+{\r
+   for(int i=0;i<ble_add_max_num;i++)\r
+   {\r
+        if(ble_conn_id[i]!=0)\r
+        {\r
+            return true;\r
+        }\r
+   }\r
+   return false;\r
+}\r
+\r
 enum{\r
     BLE_CHARACTERISTIC_RECV_ID_PROPERTIES = GATT_CHARACTER_PROPERTY_BIT_NOTIFY|GATT_CHARACTER_PROPERTY_BIT_WRITE_NO_RSP|GATT_CHARACTER_PROPERTY_BIT_WRITE|GATT_CHARACTER_PROPERTY_BIT_READ,\r
     BLE_CHARACTERISTIC_SNED_SHORT_ID_PROPERTIES =  GATT_CHARACTER_PROPERTY_BIT_WRITE|GATT_CHARACTER_PROPERTY_BIT_WRITE_NO_RSP,\r
@@ -367,6 +379,9 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
     if (GAP_BLE_STATE_DISCONNECTED == conn_state) \r
     { // restart ble adv when disconnected\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_DISCONNECTED!!! \r\n");\r
+\r
+        clean_phone_info(conn_id);\r
+\r
         if(conn_id==g_ble_conn_id)\r
         {\r
             free_ble_data(); \r
@@ -375,15 +390,17 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
 \r
             svr_ble_adv_start();\r
 \r
-            g_ble_conn_id==0;\r
-\r
+            g_ble_conn_id=0;\r
+            \r
+            //APP断连\r
             Bleconnect = GAP_BLE_STATE_DISCONNECTED;//蓝牙已断开\r
         }\r
         else\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "其他连接断开,不做多余处理 \r\n");\r
         }\r
-        clean_phone_info(conn_id);\r
+\r
+       \r
      \r
     }   \r
     else \r
@@ -396,13 +413,11 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"支付宝连接");\r
         }\r
-        else\r
-        {\r
-            int ret =svr_ble_adv_stop();\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"%x",ret);\r
-            //第一个连接\r
-            \r
-        }\r
+      \r
+        int ret =svr_ble_adv_stop();\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"%x",ret);\r
+\r
+  \r
         set_phone_info(addr,conn_id);\r
        \r
         ble_connect_ok();\r