From 4a9f1384be153a34ff058c62983193b2eaec4487 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期三, 23 十月 2024 10:28:19 +0800
Subject: [PATCH] V1.11增加充电灯逻辑和修改range接收逻辑,4g灯会有常亮bug和充电灯不间断闪烁

---
 keil/uwb_app.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/keil/uwb_app.c b/keil/uwb_app.c
index 0cab9c7..e221962 100644
--- a/keil/uwb_app.c
+++ b/keil/uwb_app.c
@@ -35,7 +35,7 @@
 extern uint16_t tag_frequency;
 extern uint16_t disoffset;
 static uint8_t frame_len,recpoll_len,current_syncid,new_tagid,seize_anchor,result,g_start_sync_flag;
-extern uint8_t gps_power_state,motor_power_state,uwb_state,air780_power_state,gps_success_state,chaging_state,changed_state,air780_success_state;
+extern uint8_t gps_power_state,motor_power_state,uwb_state,air780_power_state,gps_success_state,red_charge_state,green_charge_state,air780_success_state;
 int poll_rx_num,resp_tx_num;
 //resp函数
 void PushAnchorDataArray(uint16_t ancid,int16_t dist,uint8_t battary);//找到自己的id信息对应位置更新自己的交互信息
@@ -270,6 +270,7 @@
 uint16_t random_time;
 //anchor
 int32_t hist_dist;
+int16_t temp_recdist_before_offset;
 void PushAnchorDataArray(uint16_t ancid,int16_t dist,uint8_t battary)
 {
     uint8_t i;
@@ -291,7 +292,7 @@
     anchordata_bat[i] = battary;
     tagofflinetime[i]=0;//不断更新当前TAG对应离线时间
 //    if(dist>0)
-		if(distance!=0x1ffff&&distance!=0)
+		if(temp_recdist_before_offset!=0x1ffff&&temp_recdist_before_offset!=0&&temp_recdist_before_offset!=0x7fff&&distance!=0x1ffff)
 		{
     distance=dist*0.5+distance*0.5;
 		}else{
@@ -446,7 +447,7 @@
             for(i=0; i<rec_nearbase_num; i++)
             {
                 if(rec_ancidlist[i] == dev_id)
-                {
+                {		temp_recdist_before_offset=rec_ancdistlist[i];
                     rec_ancdistlist[i]+=(int16_t)g_com_map[DIST_OFFSET];
                     PushAnchorDataArray(tag_id_recv,rec_ancdistlist[i],battary);
                 }
@@ -472,9 +473,10 @@
             LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 信号强度:%d.\r\n",g_com_map[BIND_DEV_ID],distance,rssi);
         break;
 				}
-    } else {
+    } 
+//		else {
 			flag_temp2=uwb_rx(0, 0, range_timeout_us);
-    }
+//    }
 	}
 		delay_us(1);
 		uwb_rx_force_off(1);
@@ -569,6 +571,8 @@
                 {
                     if(rec_ancidlist[i] == dev_id)
                     {
+												temp_recdist_before_offset=rec_ancdistlist[i];
+												rec_ancdistlist[i]+=(int16_t)g_com_map[DIST_OFFSET];
                         PushAnchorDataArray(tag_id_recv,rec_ancdistlist[i],battary);
                     }
                 }

--
Gitblit v1.9.3