📄 gpscomm.h
字号:
// GpsComm.h: interface for the CGpsComm class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GPSCOMM_H__09552B8E_6732_11D5_B9D8_00E0988B7E30__INCLUDED_)
#define AFX_GPSCOMM_H__09552B8E_6732_11D5_B9D8_00E0988B7E30__INCLUDED_
#define MASPERDEGREE 3600000
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MaxInfoBlock 128 // 定义每个缓冲最大的字符数量为128
////////////////////////////////////////////////////////
//常量定义
////////////////////////////////////////////////////////
#define CONST_CR unsigned char(0x0d) //回车
#define CONST_LF unsigned char(0x0a) //换行
#define CONST_CM unsigned char(0x0a) //','
#define CONST_GGA 11
#define CONST_GLL 12
#define CONST_GSA 13
#define CONST_GSV 14
#define CONST_RMC 15
#define CONST_VTG 16
//#include "CommonTest.h"
//##ModelId=3FE8F86C0003
typedef struct GPSInfo
{
int x; //地图x坐标
int y; //地图y坐标
float Velocity; //速度
float Direction; //方向
double Lon; //经度
double Lat; //纬度
double Height; //高度
int SatNum; //卫星数量
BOOL TribD; //3维定位
WORD Year; //年
BYTE Month; //月
BYTE Day; //日
BYTE Hour; //时
BYTE Minute; //分
BYTE Second; //秒
BYTE ValidFlag; //合法标志
float DOP;
float HDOP;
float VDOP;
} CGPSInfo;//(24 Byte)
class CGpsComm
{
public:
//CCarNavigationDoc *pDoc;
public:
//##ModelId=3FE8F86C0017
// static BOOL CheckDataValid(CGPSInfo &GPSInfo);
//##ModelId=3FE8F86C0023
static void ProcessGSA(BYTE *pBuf, CGPSInfo &GPSInfo); // 处理GSA包
//##ModelId=3FE8F86C0035
static void ProcessRMC(BYTE *pBuf, CGPSInfo &GPSInfo); // 处理RMC包
//##ModelId=3FE8F86C0049
static void ProcessGGA(BYTE *pBuf, CGPSInfo &GPSInfo); // 处理GGA包
//int m_nOKGPS;
//##ModelId=3FE8F86C0054
static unsigned char GetTrackSatNumFromInfo(void *pVoid);
//##ModelId=3FE8F86C0067
static unsigned char GetSeeSatNumFromInfo(void *pVoid);
//##ModelId=3FE8F86C0073
static int ProcessData(void *pVoid, int Len);
//##ModelId=3FE8F86C0086
static float GetDirectionFromInfo(void *pBuf); //获得方向
//##ModelId=3FE8F86C009A
static float GetVelocityFromInfo(void *pBuf); //获得速度
//##ModelId=3FE8F86C00AE
static float GetHeightFromInfo(void *pBuf); //获得高度
//##ModelId=3FE8F86C00C2
static double GetLongitudeFromInfo(void *pBuf); //获得经度
//##ModelId=3FE8F86C00D6
static double GetLatitudeFromInfo(void *pBuf); //获得纬度
//##ModelId=3FE8F86C00EA
static long GetMiniSecondFromInfo(void *pVoid); //获得秒的小数部分
//##ModelId=3FE8F86C0108
static unsigned char GetSecondFromInfo(void *pBuf);//获得秒
//##ModelId=3FE8F86C011C
static unsigned char GetMinuteFromInfo(void *pBuf);//获得分
//##ModelId=3FE8F86C013A
static unsigned char GetHourFromInfo(void *pVoid); //获得时
//##ModelId=3FE8F86C0158
static long GetYearFromInfo(void *pVoid); //获得年
//##ModelId=3FE8F86C016C
static unsigned char GetDayFromInfo(void *pVoid); //获得日
//##ModelId=3FE8F86C018A
static unsigned char GetMonthFromInfo(void *pVoid);//获得月
//##ModelId=3FE8F86C01A8
static int CheckCommand(void *pVoid, int *Len); //检查是否已经获得一条完整的命令
//##ModelId=3FE8F86C01BC
static int GetStatusFromInfo(void *pVoid);
//##ModelId=3FE8F86C01C7
CGpsComm();
//##ModelId=3FE8F86C01DA
virtual ~CGpsComm();
};
#endif // !defined(AFX_GPSCOMM_H__09552B8E_6732_11D5_B9D8_00E0988B7E30__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -