PDR/1.Software/PDR 1.04/include/ParseData.h

110 lines
4.1 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#ifdef __cplusplus
extern "C" {
#endif
#ifndef _PARSEDATA_H_
#define _PARSEDATA_H_
#include "pdr_sensor.h"
#define NAEA_LAST_TIME 500
#define IMU_LAST_COUNT 10
#define FLOAT_TO_INT 1000000
/**************************************************************************
* Description : NMEA数据和传感器数据解析
* : NMEA数据包括RMC,GGA,GSA,GSV,以及安卓定位信息语句
传感器数据包括加速度计,陀螺仪,磁力计
**************************************************************************/
char * strtok_ct(char * s, const char * delim);
/**************************************************************************
* Description : 解析惯性传感器数据
* Input : pt 传感器数据字符串
ts 手机开机时间戳ms
sstp安卓中传感器类型标识符
* Output : imu_p 惯性传感器结构体
**************************************************************************/
void ParseIMU(char* pt, IMU_t *imu_p, double ts, int sstp);
/**************************************************************************
* Description : 解析NMEA数据
* Input : pt NMEA数据字符串
ts 手机开机时间戳ms
* Output : ln NMEA数据结构体
**************************************************************************/
void parseNMEA(char* pt, Nmea_t *ln, double ts);
/**************************************************************************
* Description : 解析GGA协议
* Input : pt NMEA数据字符串
ts 手机开机时间戳ms
* Output : ln NMEA数据结构体
**************************************************************************/
void ParseGGA(char* pt, Nmea_t *ln, double ts);
/**************************************************************************
* Description : 解析RMC协议
* Input : pt NMEA数据字符串
ts 手机开机时间戳ms
* Output : ln NMEA数据结构体
**************************************************************************/
void ParseRMC(char* pt, Nmea_t *ln, double ts);
/**************************************************************************
* Description : 解析GSV协议
* Input : pt NMEA数据字符串
ts 手机开机时间戳ms
* Output : ln NMEA数据结构体
**************************************************************************/
void parseGSV(char* pt, Nmea_t *ln, double ts);
/**************************************************************************
* Description : 解析GSA协议
* Input : pt NMEA数据字符串
ts 手机开机时间戳ms
* Output : ln NMEA数据结构体
**************************************************************************/
void ParseGSA(char* pt, Nmea_t *ln, double ts);
/**----------------------------------------------------------------------
* Function : parseLocAccuracy
* Description : 解析GPS的Accuracy精度参数
* Date : 2020/7/9 yuanlin@vivo.com &logzhan
*---------------------------------------------------------------------**/
void parseLocAccuracy(char* pt, Nmea_t *ln, double ts);
/**************************************************************************
* Description : 检测NMEA数据是否解析完整
* Input : ln NMEA数据结构体
**************************************************************************/
void preprocessNMEA(Nmea_t *ln);
int ParseLineStr(char* line, IMU_t* imu_p, Nmea_t* ln);
/**----------------------------------------------------------------------
* Function : HexToDec
* Description : 十六进制数转换为十进制数
* Date : 2022-09-15 logzhan
*---------------------------------------------------------------------**/
long HexToDec(char *source);
/**----------------------------------------------------------------------
* Function : pdr_int2Hex
* Description : 十六进制数转换为十进制数
* Date : 2020/7/9 yuanlin@vivo.com & logzhan
*---------------------------------------------------------------------**/
char * Int2Hex(int a, char *buffer);
/**----------------------------------------------------------------------
* Function : pdr_getIndexOfSigns
* Description : 返回ch字符在sign数组中的序号
* Date : 2020/7/9 yuanlin@vivo.com &logzhan
*---------------------------------------------------------------------**/
int pdr_getIndexOfSigns(char ch);
#endif
#ifdef __cplusplus
}
#endif