94 lines
3.5 KiB
C
94 lines
3.5 KiB
C
|
#ifndef __PDR_LOCATION_H__
|
|||
|
#define __PDR_LOCATION_H__
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
#include "pdr_base.h"
|
|||
|
|
|||
|
#define HIST_GPS_NUM 8
|
|||
|
#define ACCURACY_THRES 0.6f // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
#define YAW_THRES 10.0f // Yaw<61>Ƿ<EFBFBD>Χ<EFBFBD><CEA7>ֵ
|
|||
|
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : pdr_navSysInit
|
|||
|
* Description : PDR<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/2/1 yuanlin_rjyb@vivo.com & zhanli@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void pdr_navSysInit(void);
|
|||
|
|
|||
|
int pdr_insLocation(imu *ss_data, KfPara *kf);
|
|||
|
|
|||
|
|
|||
|
/**----------------------------------------------------------------------
|
|||
|
* Function : pdr_noGpsPredict
|
|||
|
* Description : <EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>gps<EFBFBD><EFBFBD>ϢʱԤ<EFBFBD><EFBFBD>GPSλ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>10<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void pdr_noGpsPredict(KfPara* kf, lct_fs* result, PDR* g_pdr);
|
|||
|
|
|||
|
/**----------------------------------------------------------------------
|
|||
|
* Function : pdr_nmea2Gnss
|
|||
|
* Description : nmea<EFBFBD><EFBFBD><EFBFBD>ݽṹתgnss<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void pdr_nmea2Gnss(lct_nmea* nmea_data, gnss* pgnss);
|
|||
|
|
|||
|
|
|||
|
/**----------------------------------------------------------------------
|
|||
|
* Function : pdr_detectFixMode
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD>ǰPDR<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD>غ;<EFBFBD>ֹģʽ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* ԭʼGPS<EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
|||
|
* 2020/02/08 zhanli@vivo.com : <EFBFBD><EFBFBD>-1ΪINVAILD_GPS_YAW<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀɶ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
int pdr_detectFixMode(gnss* pgnss, KfPara* kf, PDR* g_pdr, lct_fs* result);
|
|||
|
|
|||
|
/**----------------------------------------------------------------------
|
|||
|
* Function : pdr_getGpsHeading
|
|||
|
* Description : <EFBFBD><EFBFBD>ȡGPSƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
double pdr_getGpsHeading(gnss* pgnss);
|
|||
|
|
|||
|
/**----------------------------------------------------------------------
|
|||
|
* Function : calPdrHeadingOffset
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPS<EFBFBD>źŽϺ<EFBFBD>ʱ<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD>㷽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void calPdrHeadingOffset(lct_nmea* nmea_data, PDR* p_pdr);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : pdr_resetSysStatus
|
|||
|
* Description : PDS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ״̬
|
|||
|
* Date : 2020/2/1 yuanlin_rjyb@vivo.com & zhanli@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void pdr_resetSysStatus(KfPara* kf);
|
|||
|
|
|||
|
/**----------------------------------------------------------------------
|
|||
|
* Function : pdr_gnssInsLocation
|
|||
|
* Description : PDR GPS<EFBFBD>ں<EFBFBD>INS<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>λ
|
|||
|
* Date : 2021/01/29 yuanlin_rjyb@vivo.com & zhanli@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
int pdr_gnssInsLocation(lct_nmea* nmea_data, KfPara* kf, lct_fs* result);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : pdr_initGnssInfo
|
|||
|
* Description : PDS GNSS<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
* Date : 2020/2/1 yuanlin_rjyb@vivo.com & zhanli@vivo.com
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void pdr_initGnssInfo(void);
|
|||
|
|
|||
|
void pdr_gnssUpdate(gnss* gps, lct_nmea* nmea);
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|
|||
|
|