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 // 精度阈值
|
||
#define YAW_THRES 10.0f // Yaw角范围阈值
|
||
|
||
|
||
/**---------------------------------------------------------------------
|
||
* Function : pdr_navSysInit
|
||
* Description : PDR导航系统初始化
|
||
* 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 : 在没有gps信息时预测GPS位置,最多预测10个点
|
||
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_noGpsPredict(KfPara* kf, lct_fs* result, PDR* g_pdr);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_nmea2Gnss
|
||
* Description : nmea数据结构转gnss数据
|
||
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_nmea2Gnss(lct_nmea* nmea_data, gnss* pgnss);
|
||
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_detectFixMode
|
||
* Description : 检测当前PDR处于的模式,如果是车载和静止模式,根据情况选择输出
|
||
* 原始GPS或者不输出
|
||
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
||
* 2020/02/08 zhanli@vivo.com : 修改-1为INVAILD_GPS_YAW,提高
|
||
* 代码的可读性
|
||
*---------------------------------------------------------------------**/
|
||
int pdr_detectFixMode(gnss* pgnss, KfPara* kf, PDR* g_pdr, lct_fs* result);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_getGpsHeading
|
||
* Description : 获取GPS偏航角
|
||
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
double pdr_getGpsHeading(gnss* pgnss);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : calPdrHeadingOffset
|
||
* Description : 利用GPS信号较好时的偏航角修正磁力计计算方向键的偏移
|
||
* Date : 2020/07/08 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void calPdrHeadingOffset(lct_nmea* nmea_data, PDR* p_pdr);
|
||
|
||
/**---------------------------------------------------------------------
|
||
* Function : pdr_resetSysStatus
|
||
* Description : PDS 重设系统状态
|
||
* Date : 2020/2/1 yuanlin_rjyb@vivo.com & zhanli@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_resetSysStatus(KfPara* kf);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_gnssInsLocation
|
||
* Description : PDR GPS融合INS惯性定位
|
||
* 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定位信息初始化
|
||
* 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
|
||
|