gpsdata.cpp

来自「一个mapxmobile+gps的小程序,需要先安装mapx mobile」· C++ 代码 · 共 133 行

CPP
133
字号
// GpsData.cpp

#include "stdafx.h"
#include "gpsdata.hpp"


//************************** GPS GGA RMC Data *****************************/

// 定位代码
B_EXIST _GPSGGA_Data::SetCode()
{
	if( *pData != ',' )
	{
		chCode = *pData;
		pData += 1;
	}
	pData += 1;

	if(chCode == 0x00) chIsParsed = 0x00;
}

// 卫星数量
B_EXIST _GPSGGA_Data::SetStarNumber()
{
	char szNumber[5];

	for(char i=0; *(pData+i) !=','; i++)
	szNumber[i] = *(pData+i);
	szNumber[i] = '\0';
	
	chNumber = atoi(szNumber);
	pData += ++i;
}

// 水平稀释精度
B_EXIST _GPSGGA_Data::SetDilution()
{
	char szNumber[5];

	for(char i=0; *(pData+i) !=','; i++)
	szNumber[i] = *(pData+i);
	szNumber[i] = '\0';
	
	fDilution = (float)atof(szNumber);
	pData += ++i;
}

// 海拔高度
B_EXIST _GPSGGA_Data::SetAltitude()
{
	char szNumber[5];
	if( *pData != ',' )
	{
		for(char i = 0; *(pData+i) !=','; i++)
		szNumber[i] = *(pData+i);
		szNumber[i] = '\0';

		fAltitude = (float)atof(szNumber);
		pData += i;
	}
	pData += 1;
}

// 海拔高度单位
B_EXIST _GPSGGA_Data::SetchFD()
{
	if( *pData != ',' )
	{
		chFD = *pData;
		pData+=1;
	}
	pData+=1;
}

// 地表平均高度
B_EXIST _GPSGGA_Data::SetAverageHigh()
{
	if( *pData != ',' )
	{
		char szNumber[5];

		for(char i = 0; *(pData+i) !=','; i++)
		szNumber[i] = *(pData+i);
		szNumber[i] = '\0';

		fAvgHigh = (float)atof(szNumber);
		pData += i;
	}
	pData+=1;
}

// 地表平均高度单位
B_EXIST	_GPSGGA_Data::SetchFA()
{
	if( *pData != ',' )
	{
		chFA = *pData;
		pData+=1;
	}
	pData+=1;
}

// 偏差修正使用时间
B_EXIST _GPSGGA_Data::SetchMTime()
{
	if( *pData != ',' )
	{
		char szNumber[5];

		for(char i = 0; *(pData+i) !=','; i++)
		szNumber[i] = *(pData+i);
		szNumber[i] = '\0';
		chMTime = atoi(szNumber);
		pData += i;
	}
	pData+=1;
}

// 偏差修正,基地台代码
B_EXIST _GPSGGA_Data::SetchMCode()
{
	for(char i = 0; *(pData+i) !='*'; i++)
	chMCode[i] = *(pData+i);
	chMCode[i] = '\0';

	pData += ++i;
}

// 综合检查码
B_EXIST _GPSGGA_Data::SetSum()
{
	sprintf(chSum,"%s",pData);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?