From d517f3f5f4436f23839e344c3b2003e5eb6932e7 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期四, 26 十二月 2024 15:49:24 +0800
Subject: [PATCH] V1.7版本,新增上位机配置4G发送时间(滤波参数),单位秒

---
 keil/include/src/gps.c |   46 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/keil/include/src/gps.c b/keil/include/src/gps.c
index ed5a68e..e02ad9f 100644
--- a/keil/include/src/gps.c
+++ b/keil/include/src/gps.c
@@ -1,15 +1,21 @@
 #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  60
+#define GPS_OPEN_TIME_OUT1 600
 extern uint16_t gps_wait_count;
-uint8_t gps_power_state,gps_uwb_flag,gps_4g_flag = 1,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) {
-
+        gps_power_state = 1;  //打开GPS电源
         if(!gps_timeout_flag) {
             if(gps_need_data_flag) {
                 gps_wait_count++;
@@ -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电源
+							air780_success_state=1;//4G亮起
+                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
+								air780_success_state=0;//关闭gps1234
+                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