From 8e3c571a48a30e8c1bd07dca4786a53d7c9994f5 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期一, 19 十月 2020 10:49:54 +0800
Subject: [PATCH] 修改基站临近接收BUG

---
 源码/核心板/Src/application/dw_app.c |   60 ++++++++++--------------------------------------------------
 1 files changed, 10 insertions(+), 50 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
index cb75c4a..32474ef 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
@@ -551,14 +551,8 @@
 								resp_rx_ts = get_rx_timestamp_u64();										//获得RESPONSE接收时间T4	
 								recbase_num++;
 								memcpy(&rec_nearbaseid,&rx_buffer[ANCHOR_ID_IDX],2);
-								if(last_nearbase_num==0)
-								{
-									get_newbase=1;
-									nearbaseid_list[0]=rec_nearbaseid;
-									nearbase_num=1;
-									memcpy(&tx_nearfinal_msg[ANCHOR_ID_IDX],&rec_nearbaseid,2);
-								}
-								if(rec_nearbaseid==nearbaseid_list[0])
+
+								if(rec_nearbaseid==mainbase_id)
 								{
 									//////////////////////////////////时间同步
 									temp_sync_timer2=sync_timer;
@@ -593,7 +587,7 @@
 									rec_nearbasepos=0;
 									
 									memcpy(&temp_dist,&rx_buffer[DIST_IDX],4);
-									nearbase_distlist[rec_nearbasepos]=temp_dist;
+									mainbase_dist = temp_dist;
 								if(temp_dist!=0x1ffff)
 									exsistbase_list[rec_nearbasepos]=KEEP_TIMES;
 								
@@ -611,35 +605,6 @@
 									dwt_writetxdata(28+nearbase_num*4, tx_nearfinal_msg, 0);//将发送数据写入DW1000
 									dwt_writetxfctrl(28+nearbase_num*4, 0);//设定发送数据长度
 									memcpy(&rec_tagpos_binary,&rx_buffer[NEARMSG_EMPTYSLOTPOS_INDEX],4);
-								if(temp_dist!=0x1ffff)
-									{
-									#ifdef TAG_OUTPUT
-										#ifndef USART_INTEGRATE_OUTPUT
-										usart_send[2] = 1;//正常模式
-										usart_send[3] = 17;//数据段长度
-										usart_send[4] = frame_seq_nb;//数据段长度
-										if(g_com_map[DEV_ROLE])
-										{
-										memcpy(&usart_send[5],&dev_id,2);
-										memcpy(&usart_send[7],&rec_nearbaseid,2);		
-										}else{
-										memcpy(&usart_send[5],&rec_nearbaseid,2);
-										memcpy(&usart_send[7],&dev_id,2);	
-										}											
-										memcpy(&usart_send[9],&rx_buffer[DIST_IDX],4);
-										usart_send[13] = battary;
-										usart_send[14] = button;
-										checksum = Checksum_u16(&usart_send[2],17);
-										memcpy(&usart_send[19],&checksum,2);
-										UART_PushFrame(usart_send,21);
-										#endif
-									#endif
-
-									//dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5
-								//	result=dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送			
-									//dwt_writetxdata(4,&tx_near_msg[FINAL_MSG_RESP_RX_NEARBASE_IDX+(rec_nearbasepos+1)*4], FINAL_MSG_RESP_RX_NEARBASE_IDX+(rec_nearbasepos+1)*4);//将发送数据写入DW1000
-								}
-		
 									
 								}else{
 									rec_nearbasepos=FindNearBasePos(rec_nearbaseid);
@@ -767,17 +732,7 @@
 			}
 			
 			report_num=0;
-	for (i=0;i<last_nearbase_num;i++)
-			{
-				nearbaseid_list[i]=true_nearbase_idlist[i];
-				nearbase_distlist[i]=true_nearbase_distlist[i];
-				if(nearbase_distlist[i]!=0x1ffff&&true_exsistbase_list[i]==KEEP_TIMES)
-				{
-					memcpy(&usart_send[4+6*report_num],&nearbaseid_list[i],2);
-					memcpy(&usart_send[6+6*report_num],&nearbase_distlist[i],4);
-					report_num++;
-				}
-			}
+
 			for(i=0;i<MAX_NEARBASE_NUM;i++)
 			{
 				nearbase_distlist[i]=0x1ffff;
@@ -1227,6 +1182,10 @@
 						ancidlist_num=rec_nearbase_num;
 						memcpy(ancidlist_rec,&rx_buffer[NEARBASEID_INDEX],rec_nearbase_num*2);
 					}
+			if(anc_id_recv==dev_id)
+			{
+				Anchor_RecNearPoll(0);	
+			}else{
 					
 				for(i=0;i<rec_nearbase_num;i++)
 				{
@@ -1234,10 +1193,11 @@
 					if(tempid==dev_id)
 					{
 						seize_anchor=0;  //非抢占。已存在列表中
-						Anchor_RecNearPoll(i);	
+						Anchor_RecNearPoll(i+1);	
 						break;
 					}						
 				}
+			}
 				//抢占模式
 //					if(i==rec_nearbase_num)
 //					{

--
Gitblit v1.9.3