From 08b03003355d51abd21fdf97dd4a4f0225092dc6 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 16 十月 2024 15:57:03 +0800
Subject: [PATCH] 上传测试1s一次

---
 APL/APL.c |  272 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 168 insertions(+), 104 deletions(-)

diff --git a/APL/APL.c b/APL/APL.c
index ceea7e2..17394fc 100644
--- a/APL/APL.c
+++ b/APL/APL.c
@@ -197,46 +197,49 @@
 //        l_bIsVibration = HIDO_TRUE;
         nomove_time=0;
     }
-    if(GPIO_Pin == GPIO_PIN_9)
-    {
-               HAL_ResumeTick();
+//    if(GPIO_Pin == GPIO_PIN_9)//按钮关机
+//    {
+//               HAL_ResumeTick();
 
-            SystemClock_Config();
-            MX_Init();
-            Uart_ReInit(UART_ID_DBG);
-            Uart_ReInit(UART_ID_LORA);
-            Uart_ReInit(UART_ID_GPS);
-        
+//            SystemClock_Config();
+//            MX_Init();
+//            Uart_ReInit(UART_ID_DBG);
+//            Uart_ReInit(UART_ID_LORA);
+//            Uart_ReInit(UART_ID_GPS);
+//        
 
-  
-      PowerDownDetect();
-    }
+//  
+//      PowerDownDetect();
+//    }
     
 }
+extern uint8_t lora_rxbuf[256];
+extern uint8_t lora_rxbufnum;
 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)
+//    Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu);  
+if(lp_time-lora_sendfinalbag_time>1)
     {
-    lora_sendfinal_rx_bag_flag=1;
-    Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu);  
+//    lora_sendfinal_rx_bag_flag=1;
+    Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); //发送数据
+    memset(&lora_rxbuf,0,sizeof(lora_rxbuf));//发一次清一次rx的缓存
+    lora_rxbufnum=0;        
     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)
-        {
-        lora_sendfinal_rx_bag_flag=0;
-        lora_sendfinalbag_flag=0;
-        lora_sendfinalbag_num=0;
-        }
-        HIDO_Debug("lora bufa\r\n");
+        loraled=LEDOFF;
+        Set4LEDColor(powerled,loraled,gpsled,uwbled);
+//        if(lora_sendfinalbag_num>4)
+//        {
+//        lora_sendfinal_rx_bag_flag=0;
+//        lora_sendfinalbag_flag=0;
+//        lora_sendfinalbag_num=0;
+//        }
+//        HIDO_Debug("lora bufa\r\n");
     }
 }
 
@@ -289,7 +292,32 @@
 
     return HIDO_OK;
 }
-
+uint8_t Input_5V_flag=0;
+void Input_5V_Poll (void)
+{
+    if(IsTypecCActive() == HIDO_TRUE&&Input_5V_flag==0)
+    {   Input_5V_flag=1;
+        nomove_time=0;
+        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       :
@@ -304,6 +332,21 @@
 uint32_t GPSDateTime =0;
 uint8_t uwbqiehuangps_flag;
 extern uint8_t nomove_flag;
+HIDO_INT32 NOWAKEUP_Poll(void)
+{
+  while(1)
+  {
+         HIDO_TimerPoll();
+        Lora_Poll();//lora接收函数
+        IdleTask();
+        if((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ 
+      &&(IsTypecCActive() == HIDO_FALSE) /*5v输入检测时不休眠*/)
+        {
+        Power_Sleep();
+        }
+  }
+}
+extern uint8_t fengming_time,fengming_flag;
 HIDO_INT32 APL_Poll(void)
 {
 //    ST_RTCDateTime stNow;
@@ -313,98 +356,119 @@
     IdleTask();
     GPS_Poll();//gps接收函数
     Lora_Poll();//lora接收函数
-    if(nomove_flag==0)
+    if(nomove_flag==0&&Input_5V_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(Lora_IsIdle() == HIDO_TRUE)
+Input_5V_Poll();
 #if 1
-    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();
-//HIDO_Debug("in  sleep\r\n");
-    }
-    else
-    {
-    }
-if(nomove_flag==0)
-{
-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)
-            {
-                uwbqiehuangps_flag=0;
-                l_bIsVibration = HIDO_FALSE;
-                HIDO_Debug("GPS ON\r\n");
-                Power_GPS_LoraOn();
-                l_eGPSState = GPS_ON;
-                GPSDateTime=lp_time;
-            }
+//    if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ 
+//      && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/
+//      &&(lora_sendfinal_rx_bag_flag==0)//防止lora在2s等待接收的时候进入休眠
+//      && (IsTypecCActive() == HIDO_FALSE)/*5v输入检测时不休眠*/&&(fangchai_flag==0)&&fengming_flag==0) ||nomove_flag==1/*静止1小时立刻休眠。*/)
+//    {
+////////    if(Lora_IsIdle() == HIDO_TRUE)
+//        Power_Sleep();
+////HIDO_Debug("in  sleep\r\n");
+//    }
+//    else
+//    {
+//    }
+//if(nomove_flag==0&&(Lora_IsIdle() == HIDO_TRUE)&&Input_5V_flag==0)
+//{
+//    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)
+//            {
+//                uwbqiehuangps_flag=0;
+//                l_bIsVibration = HIDO_FALSE;
+//                HIDO_Debug("GPS ON\r\n");
+//                Power_GPS_LoraOn();
+//                l_eGPSState = GPS_ON;
+//                GPSDateTime=lp_time;
+//                if(IsTypecCActive() == HIDO_FALSE)//如果有5v输入的话不关灯。
+//                {
+//                powerled=LEDOFF;
+//                Set4LEDColor(powerled,loraled,gpsled,uwbled);  //关一下电源灯,防止gps突然工作不进入休眠,电源灯常量
+//                }
+//                
+//            }
 
-            break;
-        }
-        case GPS_ON:
-        {
-            if(lp_time-GPSDateTime > 60)
-            {
-                lora_sendfinalbag_flag=1;
-                lora_sendfinal_rx_bag_flag=1;
-                HIDO_Debug("GPS OFF\r\n");
-                Power_GPS_LoraOff();
-                l_eGPSState = GPS_OFF;
-                GPSDateTime=lp_time;
-            }
+//            break;
+//        }
+//        case GPS_ON:
+//        {
+//            if(lp_time-GPSDateTime > 60)
+//            {
+//                lora_sendfinalbag_flag=1;
+//                lora_sendfinal_rx_bag_flag=1;
+//                HIDO_Debug("GPS OFF\r\n");
+//                Power_GPS_LoraOff();
+//                l_eGPSState = GPS_OFF;
+//                GPSDateTime=lp_time;
+//            }
 
-            break;
-        }
-        case GPS_SUCCESS:
-        {
-            lora_sendfinalbag_flag=1;
-            lora_sendfinal_rx_bag_flag=1;
-            HIDO_Debug("GPS SUCCESS\r\n");
-            Power_GPS_LoraOff();
-            l_eGPSState = GPS_OFF;
-            GPSDateTime=lp_time;
-            break;
-        }
-        default:
-        {
-            break;
-        }
-    }
-}
-
-else
-{
-            Power_GPS_LoraOff();
-            l_eGPSState = GPS_OFF;
-            uwbqiehuangps_flag=1;
-}
-}
-    if(nomove_flag==1)
-    {
-                Power_GPS_LoraOff();
-                l_eGPSState = GPS_OFF;
-    }
+//            break;
+//        }
+//        case GPS_SUCCESS:
+//        {
+//            lora_sendfinalbag_flag=1;
+//            lora_sendfinal_rx_bag_flag=1;
+//            HIDO_Debug("GPS SUCCESS\r\n");
+//            Power_GPS_LoraOff();
+//            l_eGPSState = GPS_OFF;
+//            GPSDateTime=lp_time;
+//            break;
+//        }
+//        default:
+//        {
+//            break;
+//        }
+//    }
+//    }
+//    else
+//    {
+//            Power_GPS_LoraOff();
+//            l_eGPSState = GPS_OFF;
+////            uwbqiehuangps_flag=1;//如果放开,就是uwb切到gps会立刻工作一次,不放开就是就算uwb切换到gps也要判断是否过了一小时
+//    }
+//  if(fengming_flag==1)  
+//  {Beep_On();}
+//}
+//else
+//{
+//        Power_GPS_LoraOff();
+//        l_eGPSState = GPS_OFF;
+//        uwbqiehuangps_flag=1;
+//}
+#ifndef UWB_OFF_FANGCHAI_ON
+  #else
     /* 拆卸告警 */
     if(IsDisassemblyAlarm())
     {
+        if(lp_time%2==1)
         Beep_On();
+        else
+        Beep_Off();  
+        
         fangchai_flag=1;
     }
     else
     {
+        if(fengming_flag==0) 
+        {
         Beep_Off();
         fangchai_flag=0;
+        }
     }
+  #endif
+    
 #endif
     return HIDO_OK;
 }

--
Gitblit v1.9.3