zhangbo
2025-04-01 e4d167a7d5e73b58a7d4adbc8b91499dc1e2d4c4
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,7 @@
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;
static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
{
    uint16_t state_flag;
@@ -505,7 +503,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;
@@ -555,9 +553,14 @@
        gpsbaoxu++;
        GPS_ParseGGA_changdu=u32Len;
    }
    UDPClient_UploadGPS();
    gps_ntripsend=1;
    NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len);
      if(heart_upload_time%UPLOAD_4G_TIME==0&&lounei_flag==0)
      {
      UDPClient_UploadGPS();
    NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len);
      }
      ave_sp_GSV=0;
      g_spsum_GSV=0;
//      g_spsum_GSV_sum=0;
@@ -940,13 +943,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 +978,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==0)
   {
      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,1);
    PCA9555_Set_One_Value_Output(LED_POWER,1);
   }
}