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%3==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);
   }
}