From 652158f9e454819fc17364f90d727706e298d4f1 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期三, 02 四月 2025 14:32:19 +0800 Subject: [PATCH] 修改室内外判断逻辑现在的根据卫星强度,卫星数量以及是否有固定解判断在室内还是在室外 --- keil/include/src/GPS.c | 27 ++++++++++++++++----------- 1 files changed, 16 insertions(+), 11 deletions(-) diff --git a/keil/include/src/GPS.c b/keil/include/src/GPS.c index 328d938..bcf8535 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,8 @@ extern uint16_t g_spsum_GSV_sum; extern uint16_t g_snum_GSV_sum; extern uint8_t heart_upload_time; +extern uint8_t ceju_leave_flag; +uint8_t fixed_solution_count_minute; static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len) { uint16_t state_flag; @@ -523,6 +525,11 @@ l_fnGPSEventCallback(GPS_TYPE_GGA, _pcData, _u32Len); } rtkled=BLUE; + if(ceju_leave_flag==1) + { + fixed_solution_count_minute++; + + } GPS_successful_flag=1; _pcData[_u32Len-1]=0; _pcData[_u32Len-2]=0; @@ -552,6 +559,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++; + } } gps_ntripsend=1; @@ -943,13 +954,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) { @@ -983,14 +994,8 @@ { if(lounei_flag==0) { - 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,1); } } \ No newline at end of file -- Gitblit v1.9.3