From bccfff0ace10f85619e9f1fd4b2806f99e9390c2 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期六, 16 八月 2025 18:33:27 +0800
Subject: [PATCH] 防丢标签V1.0,demo版本实现震动和测距

---
 keil/uwb_tag.c |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/keil/uwb_tag.c b/keil/uwb_tag.c
index ffddf52..8a8ff09 100644
--- a/keil/uwb_tag.c
+++ b/keil/uwb_tag.c
@@ -36,7 +36,7 @@
 #define FINAL_MSG_RESP_RX_TS_IDX 14
 #define FINAL_MSG_FINAL_TX_TS_IDX 18
 #define DELAY_DEFAULT 50000
-#define DELAY_BETWEEN_TWO_FRAME_UUS 500  //yuan1400
+#define DELAY_BETWEEN_TWO_FRAME_UUS 550  //yuan1400
 #define HALF_SECOND_TIME 62400000
 
 uint16_t CmpTagInList(uint16_t tagid);
@@ -401,6 +401,7 @@
 		{
 			taglist_id[j]=taglist_id[i];
 			taglist_keeptime[j++]=taglist_keeptime[i];//自动覆盖,即从前往后寻找存活时间为0的标签,并把它用后面离得最近的第一个有效存活的标签覆盖,那么最后j的值就是当前有效个数
+
 		}
 	}
 	temp_j=j;
@@ -564,7 +565,25 @@
                     }
 }
 uint8_t motor_keeptime,motor_state;
+uint8_t tagmotortime_list[MAX_TAG_LIST_NUM];
 uint32_t reboot_num;
+
+void search_in_motor_list(void)
+{
+	uint8_t min_index;
+    for (int i = 1; i < taglist_total_num; i++) {
+        if (taglist_dist[i] < taglist_dist[min_index]) {
+            min_index = i;
+        }
+    }
+		
+		    // 将最小距离对应的时间值赋给motor_keeptime
+    motor_keeptime = tagmotortime_list[min_index];
+//		tagmotortime_list[min_index]=0;
+		if(taglist_total_num==0)//仅表示在线的
+			motor_keeptime=0;
+}
+uint8_t num1,temp_index4;
 int TagRange(void)
 {		
 	if(readgcom_flag)
@@ -663,7 +682,12 @@
 									freqlost_count = 0;
 									temp_index =rec_tag_index -taglist_current_index;
 									SetANCTimestap(temp_index,&rx_buf[RESP_MSG_POLL_RX_TS_IDX],&rx_buf[RESP_MSG_RESP_TX_TS_IDX],(uint32_t)resp_rx_ts_i64,&rx_buf[RESP_MSG_ANC_DISTOFFSET],test2,(uint32_t)poll_tx_ts_i64);
-											motor_keeptime=rx_buf[RESP_MSG_TAG_MOTOR];
+											tagmotortime_list[rec_tag_index]=rx_buf[RESP_MSG_TAG_MOTOR];
+								if(rx_buf[RESP_MSG_TAG_MOTOR]==5)
+								{
+								num1++;
+									temp_index4=rec_tag_index;
+								}
 								//									if(rec_nearbasepos>=nearbase_num)          //发现新的基站
 //									{
 //										//get_newbase=1;

--
Gitblit v1.9.3