修复可能因ble连接不稳定导致的广播误关,无法重新开启广播,导致重连失败
authorhcj <1224667075@qq.com>
Sat, 5 Oct 2024 06:13:35 +0000 (14:13 +0800)
committerhcj <1224667075@qq.com>
Sat, 5 Oct 2024 06:13:35 +0000 (14:13 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index 2a8ad51..7e2ee1f 100644 (file)
@@ -6160,8 +6160,6 @@ void Send_Sleep_Bin_Data(uint8_t day, uint16_t num)
         send_big_data(type_,NULL,0);\r
 \r
         //send_big_data(1,NULL,0,0,1,1,0x4b,1);\r
-        \r
-        sendbigDataBufState = false;//分包同步数据不允许打断\r
         return;\r
     }\r
     \r
@@ -6281,7 +6279,7 @@ bool Read_Health_BIN_file_buf_send_bin_Data(uint8_t day, uint16_t num,uint16_t i
 \r
 void Read_BIN_file_buf_send_bin_Data(uint8_t day,uint32_t pack_size,uint16_t id)\r
 {\r
-    sendbigDataBufState = true;//分包同步数据不允许打断\r
+\r
     const char *data=NULL;\r
     uint32_t data_len = 0;\r
    \r
@@ -6293,7 +6291,6 @@ void Read_BIN_file_buf_send_bin_Data(uint8_t day,uint32_t pack_size,uint16_t id)
         send_big_data(type_,NULL,0);\r
 \r
         //send_big_data(1,NULL,0,0,1,1,id,1);\r
-        sendbigDataBufState = false;//分包同步数据不允许打断\r
         return;\r
     }\r
     uint8_t single_data=8;\r
@@ -6383,7 +6380,6 @@ void readDevDataBle(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,u
         bleSendTypeID=cmd-((cmd/256)*256);\r
         // printf("同步第%d天的数据\r\n",data[0]);\r
         int num;\r
-        sendbigDataBufState = true;//分包同步数据不允许打断\r
 \r
         switch (bleSendTypeID)\r
         {\r
@@ -6564,7 +6560,6 @@ void readDevDataBle(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,u
             default:\r
                 break;\r
         }\r
-        sendbigDataBufState = false;//分包同步数据不允许打断\r
         //sendReadData();\r
     }else{\r
         sendBuf[18] = 0;\r
@@ -7581,7 +7576,6 @@ static uint32_t file_size=0;
 \r
 bool Read_tar_file_buf_send_Data(uint16_t pack_size,uint8_t id)\r
 {\r
-    sendbigDataBufState = true;//分包同步数据不允许打断\r
 \r
     char *data= (char *)malloc(pack_size+1);\r
     uint16_t read_size=0;\r
@@ -7595,7 +7589,6 @@ bool Read_tar_file_buf_send_Data(uint16_t pack_size,uint8_t id)
     {\r
         printf("fopen fail %s\r\n",file_name);\r
         free(data);\r
-        sendbigDataBufState = false;\r
         return false;\r
     }\r
 \r
@@ -8490,12 +8483,6 @@ void bleDataRecv(uint8_t *totalData, uint16_t event_size,uint16_t handle)
         printf("event size (%d) is less than msg_header_t (%d) ",event_size,sizeof(msg_header_t));\r
        // return ;\r
     }\r
-    if(sendbigDataBufState == true)//正在发送大数据不接收任何app指令下发的数据\r
-    {\r
-        printf("sendbigDataBufState :(%d)",sendbigDataBufState);\r
-        \r
-    //     return;\r
-    }\r
     #ifdef BLE_LOG\r
         printf("bleDataRecv handle:%d\r\n",handle); \r
     #endif\r
index a5be1cc..33f156b 100644 (file)
@@ -388,8 +388,6 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
                 \r
             ble_disconnect_ok();\r
 \r
-            svr_ble_adv_start();\r
-\r
             g_ble_conn_id=0;\r
 \r
             //APP断连\r
@@ -399,13 +397,15 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
             {\r
                 ble_ancs_client_clear(conn_id);\r
             }\r
-\r
         }\r
         else\r
         {\r
+\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "其他连接断开,不做多余处理 \r\n");\r
         }\r
-\r
+        //如果ble连接全部断连,则需要重新开启广播\r
+        if(!get_ble_connect())\r
+        svr_ble_adv_start();\r
        \r
      \r
     }   \r