From 82250eaf568648839e4c8fe3f91445347f19c56d Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期一, 23 九月 2024 17:53:46 +0800
Subject: [PATCH] 1H上传测试成功,平均功耗0.7ma,GPS工作时,不能进休眠

---
 keil/include/src/gps.c |   44 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/keil/include/src/gps.c b/keil/include/src/gps.c
index 9121dd0..67b4889 100644
--- a/keil/include/src/gps.c
+++ b/keil/include/src/gps.c
@@ -1,10 +1,16 @@
 #include "board.h"
+#include "TCPClient.h"
+#include "global_param.h"
 #define GPS_OPEN_TIME_OUT  240
 #define GPS_RESTART_TIME1  1200
 #define GPS_RESTART_TIME2  120
-
+#define GPS_RESTART_TIME3  3600
+#define GPS_OPEN_TIME_OUT1 600
 extern uint16_t gps_wait_count;
-uint8_t gps_power_state,gps_uwb_flag,gps_4g_flag,gps_timeout_flag,gps_need_data_flag = 1;
+uint8_t gps_power_state,gps_uwb_flag,gps_4g_flag,gps_timeout_flag,gps_need_data_flag = 1,gps_1h_open_flag=1;
+extern uint8_t air780_success_state;
+extern HIDO_INT32 l_i32TCPClientID;
+extern double jd,wd;
 void GPS_Poll(void)
 {
 
@@ -53,6 +59,40 @@
         gps_need_data_flag=1;
     }
 }
+
+
+void GPS_Poll_1h(void)
+{
+
+    if(gps_1h_open_flag) {
+
+        if(gps_need_data_flag) {
+            gps_power_state = 1;  //打开GPS电源
+           
+            gps_wait_count++;
+            if(gps_wait_count>=GPS_OPEN_TIME_OUT1) { //超时切换工作状态
+                gps_timeout_flag=1;//串口添加改变timeout逻辑
+                gps_wait_count=0;
+                gps_need_data_flag=0;//切换为关闭模式
+                TCPHeartBeatUpload();//上传GPS超时无效数据
+            }
+        } else {
+            gps_wait_count++;
+            gps_power_state=0;//关闭GPS
+           
+            if(gps_wait_count>GPS_RESTART_TIME3) {
+                gps_power_state=1;//开启GPS
+                gps_need_data_flag=1;
+                gps_wait_count=0;
+            }
+        }
+    } else {
+        gps_power_state=0;//关闭gps
+        gps_wait_count=0;
+        gps_timeout_flag=0;
+        gps_need_data_flag=1;
+    }
+}
 void GpsConrol(uint8_t flag_4g_uwb,uint8_t open_close)
 {
     if(gps_4g_flag==0&&gps_uwb_flag==0)

--
Gitblit v1.9.3