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 | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/keil/include/src/GPS.c b/keil/include/src/GPS.c index 328d938..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 { @@ -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,8 +563,9 @@ } gps_ntripsend=1; - if(heart_upload_time%UPLOAD_4G_TIME==0&&lounei_flag==0) + if((open_gps_time%UPLOAD_4G_TIME==0)) { + UDPClient_UploadGPS(); NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len); } @@ -585,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) @@ -943,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) { @@ -981,16 +990,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