110 lines
4.1 KiB
C
110 lines
4.1 KiB
C
#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 *imu_p, double ts, int sstp);
|
||
|
||
/**************************************************************************
|
||
* Description : 解析NMEA数据
|
||
* Input : pt, NMEA数据字符串
|
||
ts, 手机开机时间戳,ms
|
||
* Output : ln, NMEA数据结构体
|
||
**************************************************************************/
|
||
void parseNMEA(char* pt, lct_nmea *ln, double ts);
|
||
|
||
/**************************************************************************
|
||
* Description : 解析GGA协议
|
||
* Input : pt, NMEA数据字符串
|
||
ts, 手机开机时间戳,ms
|
||
* Output : ln, NMEA数据结构体
|
||
**************************************************************************/
|
||
void parseGGA(char* pt, lct_nmea *ln, double ts);
|
||
|
||
/**************************************************************************
|
||
* Description : 解析RMC协议
|
||
* Input : pt, NMEA数据字符串
|
||
ts, 手机开机时间戳,ms
|
||
* Output : ln, NMEA数据结构体
|
||
**************************************************************************/
|
||
void parseRMC(char* pt, lct_nmea *ln, double ts);
|
||
|
||
/**************************************************************************
|
||
* Description : 解析GSV协议
|
||
* Input : pt, NMEA数据字符串
|
||
ts, 手机开机时间戳,ms
|
||
* Output : ln, NMEA数据结构体
|
||
**************************************************************************/
|
||
void parseGSV(char* pt, lct_nmea *ln, double ts);
|
||
|
||
/**************************************************************************
|
||
* Description : 解析GSA协议
|
||
* Input : pt, NMEA数据字符串
|
||
ts, 手机开机时间戳,ms
|
||
* Output : ln, NMEA数据结构体
|
||
**************************************************************************/
|
||
void parseGSA(char* pt, lct_nmea *ln, double ts);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : parseLocAccuracy
|
||
* Description : 解析GPS的Accuracy精度参数
|
||
* Date : 2020/7/9 yuanlin@vivo.com &zhanli@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void parseLocAccuracy(char* pt, lct_nmea *ln, double ts);
|
||
|
||
/**************************************************************************
|
||
* Description : 检测NMEA数据是否解析完整
|
||
* Input : ln, NMEA数据结构体
|
||
**************************************************************************/
|
||
void preprocessNMEA(lct_nmea *ln);
|
||
|
||
int pdr_parseLineStr(char* line, imu* imu_p, lct_nmea* ln);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_hexToDec
|
||
* Description : 十六进制数转换为十进制数
|
||
* Date : 2020/7/9 zhanli@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
long pdr_hexToDec(char *source);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_int2Hex
|
||
* Description : 十六进制数转换为十进制数
|
||
* Date : 2020/7/9 yuanlin@vivo.com & zhanli@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
char * pdr_int2Hex(int a, char *buffer);
|
||
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_getIndexOfSigns
|
||
* Description : 返回ch字符在sign数组中的序号
|
||
* Date : 2020/7/9 yuanlin@vivo.com &zhanli@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
int pdr_getIndexOfSigns(char ch);
|
||
#endif
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif |