From d1dd64aed4114f6d24fd2702d5dbe7844644aae4 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 31 八月 2023 14:20:59 +0800
Subject: [PATCH] 1

---
 APL/APL.c |   49 ++++++++++++++++++++++++++-----------------------
 1 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/APL/APL.c b/APL/APL.c
index 24e8c09..2b706f2 100644
--- a/APL/APL.c
+++ b/APL/APL.c
@@ -99,10 +99,10 @@
 /*******************************************************************************
  *                             Local Function                                  *
  *******************************************************************************/
+extern void delay_ms(uint32_t nTimer)  ;
 void PowerDownDetect(void)
 {  
- static HIDO_UINT32 l_u32QXpowerTick = 0;    
-static uint32_t powercount=0;
+
    
     if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_9))
       {
@@ -188,6 +188,8 @@
  * Modified Date:    : 2018年7月23日
  *******************************************************************************/
 extern uint32_t nomove_time;
+extern void MX_Init(void);
+extern  void SystemClock_Config(void);
 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 {
     if(GPIO_Pin == GPIO_PIN_5)
@@ -211,10 +213,11 @@
     }
     
 }
+extern void Set4LEDColor_Off(void);
 uint8_t lora_sendfinalbag_num;
-void lora_sendfinalbag_Poll()
+void Lora_Sendfinalbag_Poll()
 {
-if(lp_time-lora_sendfinalbag_time>10&&lora_sendfinalbag_flag)
+if(lp_time-lora_sendfinalbag_time>4&&lora_sendfinalbag_flag)
     {
     lora_sendfinal_rx_bag_flag=1;
     Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu);  
@@ -266,6 +269,7 @@
  * Author            : 杜键
  * Modified Date:    : 2018年5月8日
  *******************************************************************************/
+extern HIDO_UINT32 Battery_GetPercentage(void);
 HIDO_INT32 APL_Init(void)
 {
     //Power_GPS_LoraOn();
@@ -311,11 +315,13 @@
     Lora_Poll();//lora接收函数
     if(nomove_flag==0)
 {
-   lora_sendfinalbag_Poll();//lora在gps成功获得位置坐标或者超过1分钟没有获得时发送gps最后一包数据的函数,之后1分钟(10s)发一次,除非lora收到消除标志位或者发送超过10次
+   Lora_Sendfinalbag_Poll();//lora在gps成功获得位置坐标或者超过1分钟没有获得时发送gps最后一包数据的函数,之后1分钟(10s)发一次,除非lora收到消除标志位或者发送超过10次
 }
 #if 1
-    if((Lora_IsIdle() == HIDO_TRUE) && (GPS_IsIdle() == HIDO_TRUE)&&(lora_sendfinal_rx_bag_flag==0)
-            && (IsTypecCActive() == HIDO_FALSE) /*&& (IsVibration() == HIDO_FALSE)*/)
+    if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ 
+      && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/
+      &&(lora_sendfinal_rx_bag_flag==0)//防止lora在2s等待接收的时候进入休眠
+      && (IsTypecCActive() == HIDO_FALSE)) /*5v输入检测时不休眠*/||nomove_flag==1/*静止1小时立刻休眠。*/)
     {
 //////    if(Lora_IsIdle() == HIDO_TRUE)
         Power_Sleep();
@@ -326,14 +332,14 @@
     }
 if(nomove_flag==0)
 {
-if(GPS_ON_flag)
-{
+    if(GPS_ON_flag)
+    {
     /* 检查GPS定时 */
     switch(l_eGPSState)
     {
         case GPS_OFF:
         {
-            if(lp_time-GPSDateTime > g_com_map[GPS_ONTIME] || IsVibration() == HIDO_TRUE||uwbqiehuangps_flag==1)
+            if(lp_time-GPSDateTime > g_com_map[GPS_ONTIME] /*|| IsVibration() == HIDO_TRUE*/||uwbqiehuangps_flag==1)
             {
                 uwbqiehuangps_flag=0;
                 l_bIsVibration = HIDO_FALSE;
@@ -351,7 +357,6 @@
             {
                 lora_sendfinalbag_flag=1;
                 lora_sendfinal_rx_bag_flag=1;
-//                lora_sendfinal_rx_time=lp_time;
                 HIDO_Debug("GPS OFF\r\n");
                 Power_GPS_LoraOff();
                 l_eGPSState = GPS_OFF;
@@ -364,7 +369,6 @@
         {
             lora_sendfinalbag_flag=1;
             lora_sendfinal_rx_bag_flag=1;
-//            lora_sendfinal_rx_time=lp_time;
             HIDO_Debug("GPS SUCCESS\r\n");
             Power_GPS_LoraOff();
             l_eGPSState = GPS_OFF;
@@ -376,21 +380,20 @@
             break;
         }
     }
-}
-
-else
-{
+    }
+    else
+    {
             Power_GPS_LoraOff();
             l_eGPSState = GPS_OFF;
             uwbqiehuangps_flag=1;
-}
-}
-    if(nomove_flag==1)
-    {
-                Power_GPS_LoraOff();
-                l_eGPSState = GPS_OFF;
-//                uwbqiehuangps_flag=1;
     }
+}
+else
+{
+        Power_GPS_LoraOff();
+        l_eGPSState = GPS_OFF;
+        uwbqiehuangps_flag=1;
+}
     /* 拆卸告警 */
     if(IsDisassemblyAlarm())
     {

--
Gitblit v1.9.3