From 5526b60c69c0c2dd0df985ced5824e9aa673c846 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期一, 14 四月 2025 09:45:31 +0800 Subject: [PATCH] 测试基本通过,现在开机30秒到90秒会确定在室内室外,然后现在室外的阈值提高信号强度高于400大于10个卫星 --- keil/include/src/GPS.c | 30 ++++++++++++++++-------------- 1 files changed, 16 insertions(+), 14 deletions(-) diff --git a/keil/include/src/GPS.c b/keil/include/src/GPS.c index 1fd03e0..ce4dbfd 100644 --- a/keil/include/src/GPS.c +++ b/keil/include/src/GPS.c @@ -21,7 +21,7 @@ /**************************************************************************************************************************************/ #define ARRAY_SIZE 60 uint8_t Gsv_count = 0; // 已存储的数据个数 -uint8_t lounei_flag; +uint8_t lounei_flag=0; /**************************************************************************************************************************************/ typedef enum { @@ -496,6 +496,9 @@ extern uint16_t g_spsum_GSV_sum; extern uint16_t g_snum_GSV_sum; extern uint8_t heart_upload_time; +uint8_t fixed_solution_count_minute; +extern uint8_t ceju_leave_flag; +extern uint8_t open_gps_time; static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len) { uint16_t state_flag; @@ -515,6 +518,7 @@ } memcpy(YUANGPS_ParseGGA_data,_pcData,_u32Len); YUANGPS_ParseGGA_changdu=_u32Len; + if(*(HIDO_CHAR *)stPosState.m_pData != '0') { // HIDO_DebugString(_pcData, _u32Len); @@ -534,6 +538,10 @@ _pcData, g_com_map[2], bat_percent,g_spsum_GSV_sum,g_snum_GSV_sum,lounei_flag,state_flag,gpsbaoxu); gpsbaoxu++; GPS_ParseGGA_changdu=u32Len; + if(ceju_leave_flag==1) + { + fixed_solution_count_minute++; + } } else @@ -555,7 +563,7 @@ } gps_ntripsend=1; - if(heart_upload_time%3==0&&lounei_flag==0) + if((heart_upload_time%UPLOAD_4G_TIME==0&&lounei_flag==0&&open_gps_time>120)||(open_gps_time%UPLOAD_4G_TIME==0&&lounei_flag==0&&open_gps_time<120)) { UDPClient_UploadGPS(); NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len); @@ -585,7 +593,7 @@ // } return HIDO_OK; } -extern uint8_t in_the_room_flag; + uint16_t g_spsum_GSV,g_snum_GSV; static HIDO_INT32 GPS_ParseGSV(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len) @@ -943,13 +951,13 @@ *******************************************************************************/ uint16_t GSV_sum; uint16_t GSV_g_snum_sum; -uint16_t g_spsum_GSV_sum=0; -uint16_t g_snum_GSV_sum=0; +uint16_t g_spsum_GSV_sum=300; +uint16_t g_snum_GSV_sum=10; void Receive_g_spsum_Data(int newData) { GSV_sum +=newData; if (Gsv_count < ARRAY_SIZE) { - Gsv_count++; // 如果数组未满,增加已存储的数据个数 + Gsv_count++; } if(Gsv_count==60) { @@ -981,16 +989,10 @@ void Switch_low_power_mode() { - if(lounei_flag==0) + if(lounei_flag==1) { - PCA9555_Set_One_Value_Output(LED_POWER,1); - PCA9555_Set_One_Value_Output(GPS_POWER,1); - } - else - { - PCA9555_Set_One_Value_Output(LED_POWER,0); PCA9555_Set_One_Value_Output(GPS_POWER,0); -// PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); +// PCA9555_Set_One_Value_Output(LED_POWER,0); } } \ No newline at end of file -- Gitblit v1.9.3