From 03c3a1878df2cb6a72fdffa393c9e453f6e1b6ac Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期五, 03 十一月 2023 16:40:00 +0800
Subject: [PATCH] 版本v2.11,修改防撞基站剔除机制。

---
 Src/application/dw_ds_anc.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/Src/application/dw_ds_anc.c b/Src/application/dw_ds_anc.c
index f7d2b7d..b1e158b 100644
--- a/Src/application/dw_ds_anc.c
+++ b/Src/application/dw_ds_anc.c
@@ -35,7 +35,7 @@
 static uint16_t taglist_pos,tmp_time;
 uint16_t taglist_num=0;
 uint16_t tagid_list[TAG_NUM_IN_SYS];
-static uint8_t tagofflinetime[TAG_NUM_IN_SYS];
+uint8_t tagofflinetime[TAG_NUM_IN_SYS];
 int32_t tagdist_list[TAG_NUM_IN_SYS];
 static uint8_t tagpos_rec[50];
 static uint64_t poll_rx_ts;
@@ -145,6 +145,7 @@
 		if(memcmp(&tagid,&tagid_list[i],2)==0)
 			break;
 	}
+    tagofflinetime[i] = 0;
 	return i;
 }
 /**
@@ -164,16 +165,19 @@
                 isSorted = 0;
                 int32_t temp = a[j];//时间
 							  uint16_t temp1 = tagid_list[j];//id
+                              uint8_t temp2 = tagofflinetime[j];//id
 //							  uint16_t temp2 = uwbqueue.fail_num[j];//uwb接受失败的次数
 //							  uint8_t temp3 = uwbqueue.flag_newanchor[j];//新老基站
 							
                 a[j] = a[j+1];
 							  tagid_list[j]= tagid_list[j+1];
+                              tagofflinetime[j]= tagofflinetime[j+1];
 //							  uwbqueue.fail_num[j]= uwbqueue.fail_num[j+1];
 //							  uwbqueue.flag_newanchor[j]= uwbqueue.flag_newanchor[j+1];
 							
                 a[j+1]=temp;
 							tagid_list[j+1]=temp1;
+                            tagofflinetime[j+1]=temp2;
 //							uwbqueue.fail_num[j+1]=temp2;
 //							uwbqueue.flag_newanchor[j+1]=temp3;
             }  
@@ -346,6 +350,7 @@
 						misdist_num[taglist_pos]=0;
                         tagdist_list[taglist_pos] = filter_dist;	
                         his_dist[taglist_pos]=hex_dist;	
+//                        CmpTagInList(tag_id_recv);
                         if(hex_dist>0)
 						{
                             g_Tagdist[taglist_pos]=hex_dist/10;	
@@ -508,5 +513,4 @@
        dwt_setinterrupt(  DWT_INT_RFCG | (DWT_INT_ARFE | DWT_INT_RFSL | DWT_INT_SFDT | DWT_INT_RPHE | DWT_INT_RFCE | DWT_INT_RFTO | DWT_INT_RXPTO), 1);
 		dwt_setrxtimeout(0);//设定接收超时时间,0位没有超时时间
         dwt_rxenable(0);
-    bubble_sort(tagdist_list,taglist_num);
         }

--
Gitblit v1.9.3