From f224d649c2d62d0289f47ba704c7da3509647ff4 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期四, 17 四月 2025 14:26:19 +0800
Subject: [PATCH] 现在的UWB常开1s测距一次(和老免布线基站测距)功耗是95ma一秒上传一次数据

---
 keil/include/src/GPS.c |   53 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/keil/include/src/GPS.c b/keil/include/src/GPS.c
index a8404ea..ba7e412 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
 {
@@ -495,9 +495,10 @@
 extern uint16_t g_spsum_GSV,g_snum_GSV;
 extern uint16_t g_spsum_GSV_sum;
 extern uint16_t g_snum_GSV_sum;
-//static HIDO_UINT8 l_u8GPSBuff[512];
-//static HIDO_UINT32 l_u8GPSLen = 0;
-//static HIDO_UINT32 l_u8GPSRecvTick = 0;
+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;
@@ -505,7 +506,7 @@
     HIDO_DataStruct stPosState;
     jinru_parsegga_flag=1;
     memset(&stGPS, 0, sizeof(ST_GPS));
-	  ave_sp_GSV=g_spsum_GSV;
+//	  ave_sp_GSV=g_spsum_GSV;
     if (GPS_DataCheck(_pcData, _u32Len) != HIDO_OK)
     {
         return HIDO_ERR;
@@ -517,6 +518,7 @@
     }
     memcpy(YUANGPS_ParseGGA_data,_pcData,_u32Len);
     YUANGPS_ParseGGA_changdu=_u32Len;
+
     if(*(HIDO_CHAR *)stPosState.m_pData != '0')
     {
 //        HIDO_DebugString(_pcData, _u32Len);
@@ -536,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,9 +561,15 @@
         gpsbaoxu++;
         GPS_ParseGGA_changdu=u32Len;
     }
-    UDPClient_UploadGPS();
+  
     gps_ntripsend=1;
-    NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len);
+		if((open_gps_time%UPLOAD_4G_TIME==0))
+		{
+			
+		UDPClient_UploadGPS();
+    NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len);		
+		}
+
 		ave_sp_GSV=0;
 		g_spsum_GSV=0;
 //		g_spsum_GSV_sum=0;
@@ -582,7 +594,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)
@@ -940,13 +952,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)
 		{
@@ -975,18 +987,13 @@
  * Output            : 
  * Return            : 
  *******************************************************************************/
-extern uint8_t heart_upload_time;
-void Switch_low_power_mode(int mode)
+
+void Switch_low_power_mode()
 {
-	switch(mode)
+	if(lounei_flag==1)
 	{
-		case 0:	PCA9555_Set_One_Value_Output(GPS_POWER,0);
-						PCA9555_Set_One_Value_Output(LED_POWER,0);
-						break;
-		
-	  case 1:	PCA9555_Set_One_Value_Output(GPS_POWER,1);
-						PCA9555_Set_One_Value_Output(LED_POWER,1);
-						heart_upload_time=0;
-						break;
-	}	
+	 PCA9555_Set_One_Value_Output(GPS_POWER,0);
+//	 PCA9555_Set_One_Value_Output(LED_POWER,0);
+	}
+
 }
\ No newline at end of file

--
Gitblit v1.9.3