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