From 38ee5f2e88aeba329f35bae9cc0d455e4892a9d1 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 05 九月 2023 15:17:00 +0800
Subject: [PATCH] 版本v1.0,修改灯的顺序,修改gps与灯冲突bug

---
 APL/APL.c |   53 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/APL/APL.c b/APL/APL.c
index 2b706f2..4279986 100644
--- a/APL/APL.c
+++ b/APL/APL.c
@@ -217,20 +217,19 @@
 uint8_t lora_sendfinalbag_num;
 void Lora_Sendfinalbag_Poll()
 {
-if(lp_time-lora_sendfinalbag_time>4&&lora_sendfinalbag_flag)
+//    Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu);  
+if(lp_time-lora_sendfinalbag_time>10&&lora_sendfinalbag_flag)
     {
     lora_sendfinal_rx_bag_flag=1;
     Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu);  
     lora_sendfinalbag_time=lp_time;
     lora_sendfinalbag_num=lora_sendfinalbag_num+1;
         loraled=BLUE;
-        powerled=LEDOFF;
-        gpsled=LEDOFF;
-        uwbled=LEDOFF;
         Set4LEDColor(powerled,loraled,gpsled,uwbled);
         HAL_Delay(100);
-       Set4LEDColor_Off(); 
-        if(lora_sendfinalbag_num>10)
+        loraled=LEDOFF;
+        Set4LEDColor(powerled,loraled,gpsled,uwbled);
+        if(lora_sendfinalbag_num>4)
         {
         lora_sendfinal_rx_bag_flag=0;
         lora_sendfinalbag_flag=0;
@@ -289,7 +288,31 @@
 
     return HIDO_OK;
 }
-
+static uint8_t Input_5V_flag=0;
+void Input_5V_Poll (void)
+{
+    if(IsTypecCActive() == HIDO_TRUE&&Input_5V_flag==0)
+    {   Input_5V_flag=1;
+        if(bat_percent>=90)
+        {        
+        powerled=GREEN;
+        Set4LEDColor(powerled,loraled,gpsled,uwbled);
+//        HIDO_Debug("1111");
+        }
+        else
+        {
+        powerled=RED;
+        Set4LEDColor(powerled,loraled,gpsled,uwbled);
+//            HIDO_Debug("2222");
+        }
+    }
+    if(IsTypecCActive() == HIDO_FALSE)
+    {
+    Input_5V_flag=0;
+//    Set4LEDColor_Off();
+//        HIDO_Debug("3333");
+    }
+}
 /*******************************************************************************
  * Function Name     :
  * Description       :
@@ -317,6 +340,8 @@
 {
    Lora_Sendfinalbag_Poll();//lora在gps成功获得位置坐标或者超过1分钟没有获得时发送gps最后一包数据的函数,之后1分钟(10s)发一次,除非lora收到消除标志位或者发送超过10次
 }
+if(Lora_IsIdle() == HIDO_TRUE)
+Input_5V_Poll();
 #if 1
     if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ 
       && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/
@@ -330,7 +355,7 @@
     else
     {
     }
-if(nomove_flag==0)
+if(nomove_flag==0&&(Lora_IsIdle() == HIDO_TRUE))
 {
     if(GPS_ON_flag)
     {
@@ -347,6 +372,12 @@
                 Power_GPS_LoraOn();
                 l_eGPSState = GPS_ON;
                 GPSDateTime=lp_time;
+                if(IsTypecCActive() == HIDO_FALSE)//如果有5v输入的话不关灯。
+                {
+                powerled=LEDOFF;
+                Set4LEDColor(powerled,loraled,gpsled,uwbled);  //关一下电源灯,防止gps突然工作不进入休眠,电源灯常量
+                }
+                
             }
 
             break;
@@ -385,7 +416,7 @@
     {
             Power_GPS_LoraOff();
             l_eGPSState = GPS_OFF;
-            uwbqiehuangps_flag=1;
+//            uwbqiehuangps_flag=1;//如果放开,就是uwb切到gps会立刻工作一次,不放开就是就算uwb切换到gps也要判断是否过了一小时
     }
 }
 else
@@ -394,6 +425,8 @@
         l_eGPSState = GPS_OFF;
         uwbqiehuangps_flag=1;
 }
+#ifndef UWB_OFF_FANGCHAI_ON
+  #else
     /* 拆卸告警 */
     if(IsDisassemblyAlarm())
     {
@@ -405,6 +438,8 @@
         Beep_Off();
         fangchai_flag=0;
     }
+  #endif
+    
 #endif
     return HIDO_OK;
 }

--
Gitblit v1.9.3