From a89755d21f5c57d4f5b96fee03eab246995df341 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期四, 10 二月 2022 15:02:13 +0800
Subject: [PATCH] V2.46 修改丢包问题

---
 源码/核心板/Src/application/dw_app.c |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 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 699c256..b6c099b 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"
@@ -480,6 +480,7 @@
 double Ra, Rb, Da, Db;
 int64_t tof_dtu;
 u32 errortimes,goodtimes;
+u8 tagpossend_flag;
 u8 Anchor_RecNearPoll(u8 ancrec_nearbasepos) //0 mainbase  1 first near_base
 {
 	
@@ -496,7 +497,13 @@
 			dwt_setrxaftertxdelay(RESP_TX_TO_FINAL_RX_DLY_UUS+(rec_nearbase_num+1-ancrec_nearbasepos)*DELAY_BETWEEN_TWO_FRAME_UUS);//设置发送完成后开启接收延迟时间
 			dwt_setrxtimeout(FINAL_RX_TIMEOUT_UUS);//接收超时时间
 			//dwt_readdiagnostics(&d1);
-			
+									if(tagpos[taglist_pos].tagid==tag_id_recv)
+            {
+                memcpy(&tx_nearresp_msg[TAGPOS_INDEX],&tagpos[taglist_pos],16);
+                tagpossend_flag = 1;
+            }else{
+                tagpossend_flag = 0;
+            }
 			if(new_tagid)
 			{
 				tagdist_list[taglist_pos]=0x1ffff;	
@@ -536,8 +543,8 @@
 				if(finalsend == 0)
                 {
                     memcpy(&tx_nearresp_msg[MAXRANGE_DISTANCE],&g_com_map[MAXRANGDIST_INDEX],2);
-						dwt_writetxdata(28, tx_nearresp_msg, 0);//写入发送数据
-						dwt_writetxfctrl(28, 0);//设定发送长度
+						dwt_writetxdata(28+tagpossend_flag*16, tx_nearresp_msg, 0);//д????????
+						dwt_writetxfctrl(28+tagpossend_flag*16, 0);//?趨???????
 				}
 					
 //			 if(remotesend_state&&tag_id_recv==configremotetagID)
@@ -617,21 +624,21 @@
                     g_Tagdist[taglist_pos]=hex_dist;	
                     signalpower_list[taglist_pos] = ((uint8_t)firstpath_power<<8)|(uint8_t)((rx_power-firstpath_power)*10);
 //				#ifndef USART_INTEGRATE_OUTPUT
-//					usart_send[2] = 1;//正常模式 
-//					usart_send[3] = 17;//数据段长度
-//					usart_send[4] = frame_seq_nb2;//数据段长度
-//					memcpy(&usart_send[5],&tag_id_recv,2);
-//					memcpy(&usart_send[7],&dev_id,2);				
-//					memcpy(&usart_send[9],&tagdist_list[taglist_pos],4);
-//					usart_send[13] = battary;
-//					usart_send[14] = button;
-//					usart_send[15] = firstpath_power;
-//					usart_send[16] = (rx_power-firstpath_power)*10;
-//					usart_send[17] = tag_frequency;
-//					usart_send[18] = tag_slotpos;
-//					checksum = Checksum_u16(&usart_send[2],17);
-//					memcpy(&usart_send[19],&checksum,2);
-//				//	UART_PushFrame(usart_send,21);
+					usart_send[2] = 1;//正常模式 
+					usart_send[3] = 17;//数据段长度
+					usart_send[4] = frame_seq_nb2;//数据段长度
+					memcpy(&usart_send[5],&tag_id_recv,2);
+					memcpy(&usart_send[7],&dev_id,2);				
+					memcpy(&usart_send[9],&tagdist_list[taglist_pos],4);
+					usart_send[13] = battary;
+					usart_send[14] = button;
+					usart_send[15] = firstpath_power;
+					usart_send[16] = (rx_power-firstpath_power)*10;
+					usart_send[17] = tag_frequency;
+					usart_send[18] = tag_slotpos;
+					checksum = Checksum_u16(&usart_send[2],17);
+					memcpy(&usart_send[19],&checksum,2);
+					//UART_PushFrame(usart_send,21);
 //				#else		
 //					memcpy(&usart_send_anc[4+6*anc_report_num],&tag_id_recv,2);
 //					memcpy(&usart_send_anc[6+6*anc_report_num],&tagdist_list[taglist_pos],4);
@@ -912,7 +919,7 @@
                 memcpy(&recnearbaselist_id,&rx_buffer[NEARBASEID_INDEX],rec_nearbase_num*2);
                 memcpy(&recnearbaselist_dist,&rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*2],rec_nearbase_num*4+4);
                 memcpy(&rec_taganc_signalpower_list,&rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*6+4],rec_nearbase_num*2+2);
-                if(anc_id_recv == dev_id )
+           //     if(anc_id_recv == dev_id )
                 {
                 usart_send[2] = 0x0c;//正常模式 
 					usart_send[3] = 15+8*(rec_nearbase_num+1);//数据段长度

--
Gitblit v1.9.3