PDR/1.Software/PDR 1.01/include/pdr_location.h

100 lines
3.5 KiB
C
Raw Normal View History

2022-09-15 16:35:25 +08:00
#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>ֵ
/**---------------------------------------------------------------------
2022-09-17 01:12:48 +08:00
* Function : NavSys_Init
2022-09-15 16:35:25 +08:00
* Description : PDR<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
2022-09-17 01:12:48 +08:00
* Date : 2022/9/16
2022-09-15 16:35:25 +08:00
*---------------------------------------------------------------------**/
void NavSys_Init(void);
2022-09-17 01:12:48 +08:00
/**---------------------------------------------------------------------
* Function : InsLocation
* Description : PDR <EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
* Date : 2022/09/16 logzhan
*---------------------------------------------------------------------**/
int InsLocation(imu *ss_data, KfPara_t *kf);
2022-09-15 16:35:25 +08:00
/**----------------------------------------------------------------------
* 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 logzhan
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
void NoGnssInfoPredict(KfPara_t* kf, lct_fs* result, PDR* g_pdr);
2022-09-15 16:35:25 +08:00
/**----------------------------------------------------------------------
2022-09-17 01:12:48 +08:00
* Function : Nmea2Gnss
2022-09-15 16:35:25 +08:00
* Description : nmea<EFBFBD><EFBFBD><EFBFBD>ݽתgnss<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* Date : 2020/07/08 logzhan
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
void Nmea2Gnss(lct_nmea* nmea_data, GNSS_t* pgnss);
2022-09-15 16:35:25 +08:00
/**----------------------------------------------------------------------
* 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 logzhan
* 2020/02/08 logzhan : <EFBFBD>޸<EFBFBD>-1ΪINVAILD_GPS_YAW<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀɶ<EFBFBD><EFBFBD><EFBFBD>
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
int pdr_detectFixMode(GNSS_t* pgnss, KfPara_t* kf, PDR* g_pdr, lct_fs* result);
2022-09-15 16:35:25 +08:00
/**----------------------------------------------------------------------
2022-09-17 01:12:48 +08:00
* Function : GnssCalHeading
* Description : <EFBFBD><EFBFBD>ȡGPSƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0 - 360<EFBFBD><EFBFBD>)
* Date : 2022/09/16 logzhan
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀɶ<EFBFBD><EFBFBD><EFBFBD>
2022-09-15 16:35:25 +08:00
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
double GnssCalHeading(GNSS_t* pgnss);
2022-09-15 16:35:25 +08:00
/**----------------------------------------------------------------------
* 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 logzhan
*---------------------------------------------------------------------**/
void calPdrHeadingOffset(lct_nmea* nmea_data, PDR* p_pdr);
/**---------------------------------------------------------------------
* Function : pdr_resetSysStatus
* Description : PDS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ״̬
* Date : 2020/2/1 logzhan
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
void ResetSystemStatus(KfPara_t* kf);
2022-09-15 16:35:25 +08:00
/**----------------------------------------------------------------------
* Function : pdr_gnssInsLocation
* Description : PDR GPS<EFBFBD>ں<EFBFBD>INS<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>λ
* Date : 2021/01/29 logzhan
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
int GnssInsFusionLocation(lct_nmea* nmea_data, KfPara_t* kf, lct_fs* result);
2022-09-15 16:35:25 +08:00
/**---------------------------------------------------------------------
* Function : pdr_initGnssInfo
* Description : PDS GNSS<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* Date : 2020/2/1 logzhan
*---------------------------------------------------------------------**/
2022-09-17 01:12:48 +08:00
void InitGnssInfo(void);
2022-09-15 16:35:25 +08:00
2022-09-17 01:12:48 +08:00
void GnssUpdate(GNSS_t* gps, lct_nmea* nmea);
2022-09-15 16:35:25 +08:00
#ifdef __cplusplus
}
#endif
#endif