更正连接参数更新接口 1570/target/2 1571/1 1571/head 1572/target/1
authorhcj <1224667075@qq.com>
Thu, 26 Dec 2024 10:10:32 +0000 (18:10 +0800)
committerhcj <1224667075@qq.com>
Thu, 26 Dec 2024 10:10:32 +0000 (18:10 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index 164cf13..68bec99 100644 (file)
@@ -648,9 +648,11 @@ static uint16_t need_update_connect_param=BLE_CONNECT_INTERVAL_HIGH;
 \r
 static osTimerId_t ble_connect_timer=NULL;\r
 \r
+static int8_t connect_updata_count=3;\r
+\r
 static void  ble_connect_Timer_CallBack(int data)\r
 {\r
-    if(get_ble_connect())\r
+    if(get_ble_connect() && connect_updata_count>0)\r
     {\r
         gap_conn_param_update_t conn_param = { 0 };\r
         conn_param.conn_handle = g_ble_conn_id;    /* param 0: conn_handle */\r
@@ -660,6 +662,8 @@ static void  ble_connect_Timer_CallBack(int data)
         conn_param.timeout_multiplier = 500;    /* param 4: timeout_multiplier 10ms */\r
         int ret = gap_ble_connect_param_update(&conn_param);\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "触发 连接参数timer更新");\r
+        connect_updata_count--;\r
+\r
     }\r
     else\r
     {\r
@@ -716,6 +720,8 @@ void uapi_ble_connect_param_update(uint16_t data)
 \r
     need_update_connect_param=data;\r
 \r
+   \r
+\r
     uint32_t tick;\r
     osStatus_t retTimer;\r
     if(ble_connect_timer!=NULL)\r
@@ -725,7 +731,7 @@ void uapi_ble_connect_param_update(uint16_t data)
         ble_connect_timer = NULL;\r
     }\r
 \r
-    ble_connect_timer = osTimerNew((osTimerFunc_t)ble_adv_Timer_CallBack, osTimerPeriodic, NULL, NULL);\r
+    ble_connect_timer = osTimerNew((osTimerFunc_t)ble_connect_Timer_CallBack, osTimerPeriodic, NULL, NULL);\r
     tick =osMs2Tick(3000);\r
     retTimer = osTimerStart(ble_connect_timer, tick);\r
     if (retTimer != osOK && ble_connect_timer != NULL) {\r
@@ -734,6 +740,8 @@ void uapi_ble_connect_param_update(uint16_t data)
         ble_connect_timer = NULL;\r
         return;\r
     }\r
+    connect_updata_count=3;\r
+\r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap ble update connection parameters %d ret: %X\n",data,ret);   \r
 }\r
 void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t status)\r