From d98992728dbf38f50e3f4a3027dc40e554ebcbcb Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期三, 25 九月 2024 16:48:48 +0800
Subject: [PATCH] 安邦车载标签V1.7修改了接收频偏校准方法,增加了宏定义查看示波器同步波形,解决了两个设备同时测距时第一个测距稳定第二个不稳定的问题,适配同期版本手环V1.4

---
 keil/uwb_tag_.c |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/keil/uwb_tag_.c b/keil/uwb_tag_.c
index 29c268a..b9767e5 100644
--- a/keil/uwb_tag_.c
+++ b/keil/uwb_tag_.c
@@ -32,7 +32,7 @@
 #define FINAL_MSG_POLL_TX_TS_IDX 10
 #define FINAL_MSG_RESP_RX_TS_IDX 14
 #define FINAL_MSG_FINAL_TX_TS_IDX 18
-#define DELAY_DEFAULT 5000
+#define DELAY_DEFAULT 50000
 #define DELAY_BETWEEN_TWO_FRAME_UUS 400
 #define HALF_SECOND_TIME 62400000
 
@@ -220,9 +220,9 @@
 					//获取发射端时钟偏差
 			resp_rx_num++;
 			freq_offset=phy_freq_offset_get();
-			freq_offset_filter=average_filter(freq_offset);//获取频偏
-			int32_t ppm = freq_offset_filter / (int32_t)(ch_center_freq_map[UWB_CH_NUM] * 1e-6);
-			calib_xtal38m4_load_cap_auto_tune(ppm);//利用电容调整晶振适配频偏应在完整的一包之后调整,需要关闭XTAL_AUTO_TUNE_EN 宏定义避免收包中途校准导致测距错误
+		//	freq_offset_filter=average_filter(freq_offset);//获取频偏
+			//int32_t ppm = freq_offset_filter / (int32_t)(ch_center_freq_map[UWB_CH_NUM] * 1e-6);
+			//calib_xtal38m4_load_cap_auto_tune(ppm);//利用电容调整晶振适配频偏应在完整的一包之后调整,需要关闭XTAL_AUTO_TUNE_EN 宏定义避免收包中途校准导致测距错误
 			//LOG_INFO(TRACE_MODULE_APP, "poll_tx_num is %d,resp_rx_num is %d,distance is %lf\r\n",poll_tx_num,resp_rx_num,distance);	
 			receive_flag=1;
 			
@@ -403,8 +403,9 @@
 		temp_tag_num=0;//临时数量为0
 		poll_tx_en_start_u32 = phy_timer_count_get()+US_TO_PHY_TIMER_COUNT(POLL_DELAY);//发送必须要延时发送才可以用于测距否则立即发送会获取时间戳不对,需要计算程序运行时间,避免设置过去时间
 		tempflag=uwb_tx(uwb_sendbuffer,13+4*nearbase_num,1,poll_tx_en_start_u32);//立即发送
-		
-		//gpio_pin_set(IO_PIN_5);//测试
+		#ifdef BOXING
+		gpio_pin_set(IO_PIN_5);//测试
+		#endif
 		//LOG_INFO(TRACE_MODULE_APP, "进入测距",poll_tx_num,resp_rx_num,distance);	
 		poll_tx_ts_i64 = ranging_tx_time_correct(poll_tx_en_start_u32 + phy_shr_duration());//修正时间戳
 		temp_count1=phy_timer_count_get();
@@ -455,8 +456,9 @@
 					
 		}
 							tempflag=uwb_rx(0, 0, RESP_RX_TIMEOUT_US);//立即开启接受并设置0超时
-		//gpio_pin_clr(IO_PIN_5);//测试
-			
+				#ifdef BOXING 
+		gpio_pin_clr(IO_PIN_5);//测试
+			#endif
 		}else if(receive_flag==2){//接收出错
 		receive_flag=0;
 		tempflag=uwb_rx(0, 0, RESP_RX_TIMEOUT_US);//立即开启接受并设置0超时
@@ -464,11 +466,15 @@
 //		while(mac_is_busy());
 		temp_count1=phy_timer_count_get();
 		}
-		//gpio_pin_clr(IO_PIN_5);//测试
+			#ifdef BOXING 
+		gpio_pin_clr(IO_PIN_5);//测试
+		#endif
 		}
+//		delay_us(1);
+//		uwb_rx_force_off(1);
 		//dwt_forecetrxoff();
 		 CalculateDists(poll_tx_ts_i64); //计算距离并更新距离表
 		 AnchorListUpdate();//更新存活基站列表
-		 Rank_ANchor_list_by_dis();//冒泡排序重新按距离重新排列基站列表最小距离存货基站放到最前面
+	//	 Rank_ANchor_list_by_dis();//冒泡排序重新按距离重新排列基站列表最小距离存货基站放到最前面
 }
 #endif
\ No newline at end of file

--
Gitblit v1.9.3