From d69b18402a9def110c26f0350291ab504da1b878 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 10 四月 2024 14:05:35 +0800
Subject: [PATCH] V1.7,修改为被拆卸的时候10s发一次心跳包,4G不再休眠,。

---
 APL/App.c |  169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 163 insertions(+), 6 deletions(-)

diff --git a/APL/App.c b/APL/App.c
index ac4ff7c..4c881e1 100644
--- a/APL/App.c
+++ b/APL/App.c
@@ -254,7 +254,7 @@
     //deca_sleep(1000);
 
     g_com_map[GROUP_ID]=0;
-	g_com_map[VERSION] = (1<<8)|6;
+	g_com_map[VERSION] = (1<<8)|7;
 
     if (g_com_map[COM_INTERVAL] <50)
     {
@@ -468,11 +468,168 @@
         }
         else
         {chongman_flag=0;}
+
+        GPS_Poll();
+        Internet_Poll();
+        HIDO_TimerPoll();
+        HIDO_ATLitePoll();
+        UDPClient_Poll();
+
+        if(fangchai_time>g_com_map[CHAICHUGPS_HZ])
+        {
+            fangchai_time=0;
+            if(GPS_successful_flag)
+            {
+                UDPClient_UploadGPS((char*)GPS_data);
+            }
+            else
+            {
+                Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL);
+            }
+        }        
+    }
+    else//设备没被拆卸
+    {
+        fangchai_flag=0;
+        if(fangchai_state>=2)
+        {   
+            HAL_NVIC_SystemReset();
+        }
+        if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))//5V输入检测
+        {   yundong_state=0;
+            PowerLedTask();
+            DBG_Poll();
+            IdleTask();
+            Internet_Poll();
+            HIDO_TimerPoll();
+            HIDO_ATLitePoll();
+            UDPClient_Poll();
+            uwbled=LEDOFF;
+        } 
+        else//没有5V输入
+        {
+            if(nomove_flag)//静止状态
+            {
+                yundong_state=0;
+                Stop_Mode_Poll();
+                HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
+            }
+            else//运动状态
+            {   
+                if(yundong_state==0)
+                {Radio.Rx(0);}
+                yundong_state=1;               
+                GPS_Poll();
+                Internet_Poll();
+                HIDO_TimerPoll();
+                HIDO_ATLitePoll();
+                UDPClient_Poll();
+//                taglist_num=5;
+                if(taglist_num>0)
+                {
+                    if(air780_state>=2)
+                    {   
+                        HAL_NVIC_SystemReset();
+                    }
+                    if(yundong_time>=YUNDONG_UWB_TIME)
+                    {
+                        air780_state=0;
+                        yundong_time=0;
+                        Uwb_Zubao_Poll();
+                        HexToAsciiSendUDP(uwb_send,19+5*taglist_num);
+//                        loraled=BLUE;
+                        taglist_num=0;
+                    }
+                }
+                else
+                {
+                    if(g_com_map[GPS_HZ]==1)
+                    {
+                        if(yundong_time>=g_com_map[GPS_HZ])
+                        {
+                            yundong_time=0;
+                            if(GPS_successful_flag)
+                            {
+                                UDPClient_UploadGPS((char*)GPS_data);
+//                                loraled=GREEN;
+                            }
+                            else
+                            {
+                                Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL);
+//                                loraled=WHITE;
+                            }
+                        }
+                    }
+                    else
+                    {
+                        if(yundong_time>=60&&air780_state==0)
+                        {
+                            air780_state=1;
+                            yundong_time=0;
+                            if(GPS_successful_flag)
+                            {
+                                UDPClient_UploadGPS((char*)GPS_data);
+//                                loraled=GREEN;
+                            }
+                            else
+                            {
+                                Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL);
+//                                loraled=WHITE;
+                            }
+                        }
+                        if(yundong_time>=30&&air780_state==1)
+                        {
+                            air780_state=2;
+                            yundong_time=0;
+                            Stop_Mode_chulelora_Poll();
+                        }
+                        if(air780_state==2)
+                        {
+                            HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
+                        }
+                        if(yundong_time>=g_com_map[GPS_HZ]-60&&air780_state==2)
+                        {
+                            HAL_NVIC_SystemReset();
+                        }
+                    }
+                }
+            }            
+        }
+    }
+}
+
+/*
+void Main_Poll()
+{
+    u16 uwbchecksum;
+    IdleTask();
+    if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1)) // 设备被拆卸
+    {
+        if(air780_state>=2)
+        {   
+            HAL_NVIC_SystemReset();
+        }
+        fangchai_flag=1;
+        yundong_state=0;
+        if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))
+        {
+            if(bat_percent>90)
+            {
+                powerled = RED;
+                gpsled = LEDOFF;
+                uwbled = LEDOFF;
+                loraled = LEDOFF;
+                chongman_flag=1;
+            }
+            else
+            {
+                powerled = RED;
+            }
+        }
+        else
+        {chongman_flag=0;}
         if(fangchai_state==0||fangchai_state==1)
         {
-//            PowerLedTask();
-//            DBG_Poll();
-//            IdleTask();
             GPS_Poll();
             Internet_Poll();
             HIDO_TimerPoll();
@@ -486,12 +643,10 @@
             if(GPS_successful_flag)
             {
                 UDPClient_UploadGPS((char*)GPS_data);
-//                loraled=GREEN;
             }
             else
             {
                 Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL);
-//                loraled=WHITE;
             }
         }
         if(fangchai_time>DENGDAI_TIME&&fangchai_state==1)
@@ -618,3 +773,5 @@
         }
     }
 }
+*/
+//以上是源代码,被拆除时间接性关闭4G
\ No newline at end of file

--
Gitblit v1.9.3