From 4691492f913d0730703f8fcdacd0a02d455d65a1 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期一, 29 一月 2024 10:37:32 +0800
Subject: [PATCH] 国新智能V1.7

---
 Src/application/dw_fz_tag.c |   34 ++++++++++++++++------------------
 1 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/Src/application/dw_fz_tag.c b/Src/application/dw_fz_tag.c
index d1f25f1..2d5ba81 100644
--- a/Src/application/dw_fz_tag.c
+++ b/Src/application/dw_fz_tag.c
@@ -110,7 +110,7 @@
     for(int i=0;i<11;i++)
     {
         rec_anc_signalpower[i] = exsistbase_list[i];
-      if(exsistbase_list[i]>2)
+      if(exsistbase_list[i]==KEEP_TIMES)
       {
           if(config.chan==2)
           {
@@ -157,7 +157,7 @@
 static uint8_t last_nearbase_num,next_nearbase_num,last_slotnum, para_update,para_len,tag_succ_times,recbase_num;
 static uint32_t rec_tagpos_binary;
 static int16_t offset=2700,g_commap_antdelay=0;
-uint8_t motor_state;
+uint8_t motor_state,ancnum,thistime_ancnum;
 static uint8_t rec_remotepara_state,rec_remotepara[80],t1;
 static uint32_t temp1,temp2,dw_systime;
 void NearPoll(void)
@@ -189,6 +189,7 @@
 	send_buffer[BUTTON_IDX] =  0;
 	send_buffer[SEQUENCE_IDX] = frame_seq_nb++;
 	send_buffer[NEARBASENUM_INDEX] = nearbase_num;
+    ancnum = nearbase_num;
 	memcpy(&send_buffer[NEARBASEID_INDEX],&nearbaseid_list,nearbase_num*2);
     memcpy(&send_buffer[NEARBASEID_INDEX+nearbase_num*2],&u16_nearbase_distlist,nearbase_num*2);
 	send_buffer[MESSAGE_TYPE_IDX] = NEAR_POLL;	
@@ -208,7 +209,7 @@
 	mainbase_dist=100000;
 	mainbase_lost_count++;
     start_count=HAL_LPTIM_ReadCounter(&hlptim1);
-    timeout=ceil((float)nearbase_num*SLOT_SCALE)+3;
+    timeout=ceil((float)nearbase_num*SLOT_SCALE)+8;
     end_count=start_count+(timeout<<5);
     if(end_count>=32768)
     {
@@ -220,21 +221,7 @@
     while(current_count<end_count||current_count>end_count+15000)
 			{
 					while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到成功接收或者发生错误
-					{
-                        if(flag_finalsend)
-						{
-							dw_systime=dwt_readsystimestamphi32();
-							if(dw_systime>temp1&&dw_systime<temp2)
-							{
-								
-								dwt_forcetrxoff();
-								flag_rxon=0;
-//								dwt_setdelayedtrxtime(final_tx_time);
-//								result=dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送	
-								flag_finalsend=0;
-								break;
-							}	
-                        }                            
+					{                           
                 current_count=HAL_LPTIM_ReadCounter(&hlptim1);
                 if(current_count>=end_count&&current_count<end_count+15000)
                     break;
@@ -412,6 +399,17 @@
 //			{
 //				nearbase_distlist[i]=0x1ffff;
 //			}
+             if(recbase_num!=next_nearbase_num)
+            {   uint16_t current_count1,lpcount1;
+                current_count1=HAL_LPTIM_ReadCounter(&hlptim1);
+                lpcount1 = current_count1+current_count1%200+3276;//测距丢包就改成10hz
+                if(lpcount1>=32768)
+                {
+                    lpcount1 -=32768;
+                }
+                __HAL_LPTIM_COMPARE_SET(&hlptim1, lpcount1);
+            }
+            thistime_ancnum = recbase_num;
 	dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR| SYS_STATUS_TXFRS |SYS_STATUS_RXFCG);
 }
 

--
Gitblit v1.9.3