From 0c4a7b78eee22326538b29c9a2ddf1c9e6ba0ae4 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期五, 20 九月 2024 11:17:44 +0800
Subject: [PATCH] 1小时上传,测试成功,GPS数据正常变化

---
 keil/include/src/gps.c |   70 +++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 19 deletions(-)

diff --git a/keil/include/src/gps.c b/keil/include/src/gps.c
index f93df90..67b4889 100644
--- a/keil/include/src/gps.c
+++ b/keil/include/src/gps.c
@@ -1,23 +1,25 @@
 #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)
 {
-    if(gps_4g_flag||gps_uwb_flag) 
-        {
-        
-        if(!gps_timeout_flag)
-            {
-            if(gps_need_data_flag)
-                {
-                gps_power_state = 1;  //打开GPS电源
+
+    if(gps_4g_flag||gps_uwb_flag) {
+        gps_power_state = 1;  //打开GPS电源
+        if(!gps_timeout_flag) {
+            if(gps_need_data_flag) {
                 gps_wait_count++;
-                if(gps_wait_count>=GPS_OPEN_TIME_OUT) 
-                    { //超时切换工作状态
+                if(gps_wait_count>=GPS_OPEN_TIME_OUT) { //超时切换工作状态
                     gps_timeout_flag=1;//串口添加改变timeout逻辑
                     gps_wait_count=0;
                     gps_need_data_flag=0;//切换为关闭模式
@@ -25,20 +27,16 @@
             } else {
                 gps_wait_count++;
                 gps_power_state=0;//关闭GPS
-                if(gps_wait_count>GPS_RESTART_TIME2)
-                    {
+                if(gps_wait_count>GPS_RESTART_TIME2) {
                     gps_power_state=1;//开启GPS
                     gps_need_data_flag=1;
                     gps_wait_count=0;
                 }
             }
         } else { //超时工作状态
-            if(gps_need_data_flag)
-                {
-                gps_power_state = 1;  //打开GPS电源
+            if(gps_need_data_flag) {
                 gps_wait_count++;
-                if(gps_wait_count>=GPS_OPEN_TIME_OUT) 
-                    { //超时切换工作状态
+                if(gps_wait_count>=GPS_OPEN_TIME_OUT) { //超时切换工作状态
                     gps_timeout_flag=1;
                     gps_need_data_flag=0;
                     gps_wait_count=0;
@@ -61,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