From d715e84d0578eebc57d6393fb8eff70ff58acad1 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 25 七月 2025 17:24:42 +0800
Subject: [PATCH] Merge branch 'MK_IPhone_测试' of http://47.108.70.204:60062/r/ChinaUWBProject into MK_IPhone_测试

---
 keil/include/drivers/uwb_app.c |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/keil/include/drivers/uwb_app.c b/keil/include/drivers/uwb_app.c
index dec30a9..64f2c9e 100644
--- a/keil/include/drivers/uwb_app.c
+++ b/keil/include/drivers/uwb_app.c
@@ -281,7 +281,7 @@
 /* RX done process handler. */
 int8_t rssi;
 uint32_t range_timeout_us = 2000000;//yuan5000
-uint8_t flag_temp2,flag_temp1;
+uint8_t flag_temp2,flag_temp1,resp_tx_flag;
 uint16_t uwb_losttimer;
 static void rx_int_callback(struct MAC_HW_REPORT_T *rx_report)
 {		uint8_t valid_sts=0;
@@ -290,7 +290,7 @@
 
     /** UWB RX success */
     if (rx_report->err_code == UWB_RX_OK)
-    {
+    {		resp_tx_flag=0;
         /* Received data does not contain FCS */
         rx_length = rx_report->pkt_len;
         memcpy(rx_buf, rx_report->pkt_data, rx_length);
@@ -303,6 +303,11 @@
         rssi = rx_report->rssi;
         receive_flag=1;
 				Anchor_App();
+				
+			if(resp_tx_flag==0)
+			{
+			  OpenUWB();
+			}
 			#ifdef STS_MODE
 				valid_sts= sts_valid_check();
       if (valid_sts)
@@ -330,9 +335,9 @@
 			        temp_count= phy_timer_count_get();
         memcpy(&rx_rpt, rx_report, sizeof(struct MAC_HW_REPORT_T));
         rx_length = 0;
-			//	OpenUWB();//再次开启UWB接收
+				OpenUWB();//再次开启UWB接收
     }
-	OpenUWB();//再次开启UWB接收
+	//OpenUWB();//再次开启UWB接收
 }
 
 /* TX done process handler. */
@@ -346,6 +351,7 @@
     {
         temp_count= phy_timer_count_get();
         temp_internal=temp_count;
+				OpenUWB();
         resp_tx_num++;
 		//		OpenUWB();//再次开启UWB接收
         //LOG_INFO(TRACE_MODULE_APP, "poll_rx_num is %d,resp_tx_num is %d\r\n",poll_rx_num,resp_tx_num);
@@ -468,7 +474,7 @@
     for(i=0; i<taglist_num; i++)
     {		
 			
-			if(tagofflinetime[i]++<REPORT_TAG_KEEPTIMES)
+			if(tagofflinetime[i]<REPORT_TAG_KEEPTIMES)
         {
             report_ancid[k]=tagid_list[i];
             report_ancdist[k++]=(uint16_t)tagdist_list[i];
@@ -517,6 +523,7 @@
     temp_resp_i64=resp_tx_ts_i64;
     temp_count3= phy_timer_count_get();
     flag_temp2=uwb_tx(send_buffer, 40,1 ,resp_tx_en_start_u32);//立即发送测试size大小
+		resp_tx_flag=1;//限制重复开启
 		tagofflinetime[taglist_pos] = 0;//更新标签通信
 //    temp_count1=phy_timer_count_get();
     //while(mac_is_busy());
@@ -595,7 +602,7 @@
 		if(secondtask_search_flag)//更新S时间TICK
 		{
 		HIDO_TimerTick();
-		TagListUpdate();
+		//TagListUpdate();
 //    GPS_Poll();
 //		if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
 //    nomove_count++;
@@ -614,10 +621,10 @@
 	//LOG_INFO(TRACE_MODULE_APP,"关闭uwb_rx\r\n");
 }
 void OpenUWB(void)
-{
+{		
 		flag_temp1=uwb_rx(0, 0,range_timeout_us);//提交接收请求
 		uwb_rx_flag=1;
-		//LOG_INFO(TRACE_MODULE_APP,"打开uwb_rx\r\n");
+		LOG_INFO(TRACE_MODULE_APP,"打开uwb_rx\r\n");
 }	
 void UWBOneSecondTask(void)
 {
@@ -745,6 +752,7 @@
                        Anchor_RecNearPoll(rec_nearbase_num);
                 }
 				}
+				//LOG_INFO(TRACE_MODULE_APP,"存在时间%d. \r\n",	tagofflinetime[0]);
 				
 				
 }
@@ -1058,7 +1066,7 @@
                 }
                 
                 //gpio_pin_clr(SCL_PIN);//测试
-								LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 信号强度ANT0:%f,信号强度ANT2: %f\r\n",g_com_map[BIND_DEV_ID],distance,sts_rssi[0],sts_rssi[2]);
+								//LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 信号强度ANT0:%f,信号强度ANT2: %f\r\n",g_com_map[BIND_DEV_ID],distance,sts_rssi[0],sts_rssi[2]);
                 return 1;//返回发送成功标志
             }
 

--
Gitblit v1.9.3