yincheng.zhong
2024-09-20 0c4a7b78eee22326538b29c9a2ddf1c9e6ba0ae4
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 = 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)
{
@@ -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)