From e0a196fc7dcb47d200ab81a933dde2b18d169ed5 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期二, 13 五月 2025 16:23:21 +0800
Subject: [PATCH] 移植开关GPS代码

---
 keil/uwb_app.c |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/keil/uwb_app.c b/keil/uwb_app.c
index 0778e45..7d320f7 100644
--- a/keil/uwb_app.c
+++ b/keil/uwb_app.c
@@ -12,6 +12,7 @@
 #include "lib_aoa.h"
 #include "WS2812.h"
 #include "TCPClient.h"
+#include "PCA9555.h"
 
 extern int simple_main(void);
 extern int temp_main(void);
@@ -534,6 +535,29 @@
 //    }
 //    anchordata_num=j;
 //}
+
+//void TagListUpdate(void)
+//{
+//uint16_t i,j=0,k=0;
+//    for(i=0; i<taglist_num; i++)
+//    {
+//			 if(tagofflinetime[i]++<TAG_KEEPTIMES)
+//        {
+//            tagid_list[j]=tagid_list[i];
+//            tagdist_list[j] = tagdist_list[i];
+//						anchordata_bat[j]=anchordata_bat[i];//电量随之更新
+//            anchor_rssi[j]=anchor_rssi[i];
+//            tagofflinetime[j++]=tagofflinetime[i];
+//        }
+//		}
+//		 taglist_num=j;
+//}
+extern uint8_t in_the_room_flag;
+extern uint8_t lounei_flag;
+uint8_t ceju_onlinetime;
+uint16_t last_id=0;
+uint8_t ceju_leave_flag=0;
+
 void TagListUpdate(void)
 {
 uint16_t i,j=0,k=0;
@@ -546,11 +570,22 @@
 						anchordata_bat[j]=anchordata_bat[i];//电量随之更新
             anchor_rssi[j]=anchor_rssi[i];
             tagofflinetime[j++]=tagofflinetime[i];
+					  last_id=tagid_list[i];
+						if(last_id=tagid_list[i])
+						{
+						 ceju_onlinetime++;		
+						}
+
         }
+		}
+
+		if(ceju_onlinetime>0&&taglist_num==0)
+		{
+			ceju_onlinetime=0;
+			ceju_leave_flag=1;
 		}
 		 taglist_num=j;
 }
-
 uint8_t position;
 uint8_t resp_tx_error;
 uint8_t Anchor_RecNearPoll(uint8_t ancrec_nearbasepos)//根据自己是否为新基站定制消息去发送,根据是否抢占判断
@@ -774,9 +809,12 @@
 	      uwb_offtime_count=0;
 	      current_state = STATE_NORMAL;
 			if(group_id==rx_buf[GROUP_ID_IDX]&&rx_buf[MESSAGE_TYPE_IDX] == MBX_POLL)//判断是否是和自己是同一组通讯的且为poll包
-        {    flag_recsuccess = 1;
+        {    
+					  PCA9555_Set_One_Value_Output(GPS_POWER,1);	
+					  flag_recsuccess = 1;
 						wltag_state=RANGE;//成功后从search切换为range
 						memcpy(&g_com_receive_id,&rx_buf[TAG_ID_IDX],2);
+					  	
 					  //temp_count2=phy_timer_count_get();
 						uwb_losttimer=0;//成功测距清0 lost时间
             frame_seq_nb2 = rx_buf[SEQUENCE_IDX];//获取包序

--
Gitblit v1.9.3