yincheng.zhong
2024-05-07 36667ff9eed83df5f6460d596220908afc9b9a11
Src/application/GPS.c
@@ -39,7 +39,7 @@
typedef struct
{
    E_GPSRecvState m_eState;
    HIDO_CHAR m_acRecvBuf[128];
    HIDO_CHAR m_acRecvBuf[256];
    HIDO_UINT32 m_u32RecvLen;
} ST_GPSRecv;
@@ -337,41 +337,41 @@
    return HIDO_OK;
}
#if 0
/*******************************************************************************
 * Function Name     : GPS_ParseSpeed
 * Description       :
 * Input             : None
 * Output            : None
 * Return            : HIDO_OK 成功, HIDO_ERR 失败
 * Author            : www.hido-studio.com
 * Modified Date:    : 2022年5月2日
 *******************************************************************************/
static HIDO_INT32 GPS_ParseSpeed(HIDO_DataStruct *_pstSpeedData, ST_GPS *_pstGPS)
{
    HIDO_UINT32 u32Len = _pstSpeedData->m_u32Len;
    HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstSpeedData->m_pData;
    HIDO_CHAR acSpeed[10];
//#if 0
///*******************************************************************************
// * Function Name     : GPS_ParseSpeed
// * Description       :
// * Input             : None
// * Output            : None
// * Return            : HIDO_OK 成功, HIDO_ERR 失败
// * Author            : www.hido-studio.com
// * Modified Date:    : 2022年5月2日
// *******************************************************************************/
//static HIDO_INT32 GPS_ParseSpeed(HIDO_DataStruct *_pstSpeedData, ST_GPS *_pstGPS)
//{
//    HIDO_UINT32 u32Len = _pstSpeedData->m_u32Len;
//    HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstSpeedData->m_pData;
//    HIDO_CHAR acSpeed[10];
    if (u32Len >= 10)
    {
        return HIDO_ERR;
    }
//    if (u32Len >= 10)
//    {
//        return HIDO_ERR;
//    }
    if (u32Len >= 1)
    {
        memcpy(acSpeed, pcStart, u32Len);
        acSpeed[u32Len] = 0;
        _pstGPS->m_u16Speed = atof(acSpeed) * 1.852;
    }
    else
    {
        _pstGPS->m_u16Speed = 0;
    }
//    if (u32Len >= 1)
//    {
//        memcpy(acSpeed, pcStart, u32Len);
//        acSpeed[u32Len] = 0;
//        _pstGPS->m_u16Speed = atof(acSpeed) * 1.852;
//    }
//    else
//    {
//        _pstGPS->m_u16Speed = 0;
//    }
    return HIDO_OK;
}
#endif
//    return HIDO_OK;
//}
//#endif
/*******************************************************************************
 * Function Name     : GPS_ParseSpeed
@@ -445,12 +445,12 @@
char _pcData_final[256];
extern uint8_t fangchai_flag;
extern uint8_t GPSchangdu;
extern uint8_t GPS_GGAdate[200];
extern uint8_t GPS_GGAdate[400];
extern u8 gps_state,gps_chafenlingqi,gps_satel_num,gps_signalpower;
extern double gps_jingdu,gps_weidu;
extern float gps_height;
extern uint8_t fangzhijinrushuimian_flag;
static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
{
    ST_GPS stGPS;
    HIDO_DataStruct stTime;//时间
@@ -565,7 +565,7 @@
    {      
        gpsled=RED;
        gps_state=0;
        gps_chafenlingqi=0;
      //  gps_chafenlingqi=0;
        gps_satel_num=0;
        gps_signalpower=0;
        gps_jingdu=0;
@@ -585,8 +585,8 @@
 * Return            : one
 * Author            : hido.ltd
 * Modified Date:    : 2021年5月07日
 *******************************************************************************/
static HIDO_VOID GPS_RecvFsm(HIDO_UINT8 _u8RecvChar)
// *******************************************************************************/
HIDO_VOID GPS_RecvFsm(HIDO_UINT8 _u8RecvChar)
{
    switch (l_stGPSRecv.m_eState)
    {
@@ -626,7 +626,10 @@
               if(strstr(l_stGPSRecv.m_acRecvBuf, "GGA,") != HIDO_NULL)
               {
                  GPS_ParseGGA(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen);
                    memset(l_stGPSRecv.m_acRecvBuf,0,l_stGPSRecv.m_u32RecvLen);
//                    fangzhijinrushuimian_flag=0;
               }
            }
@@ -717,11 +720,14 @@
// * Return            : None
// * Author            : hido.ltd
// *******************************************************************************/
HIDO_VOID GPS_Recv_Poll(uint8_t u8RecvChar)
{
       GPS_RecvFsm(u8RecvChar);
}
//HIDO_VOID GPS_Recv_Poll(uint8_t u8RecvChar)
//{
//       GPS_RecvFsm(u8RecvChar);
//}
//HIDO_VOID GPS_ParseGGAPoll(HIDO_UINT8 data,HIDO_UINT8 datanum)
//{
//       GPS_ParseGGA(&data, datanum);
//}
///*******************************************************************************
// * Function Name     : GPS_SetEventCallback
// * Description       : GPS设置GPS事件回调