⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nmeaparserdlg.h

📁 Read nmea file and send to com port. you can easly simulate the gps application
💻 H
字号:
// NMEAParserDemoDlg.h : header file
//

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Parser.h"
#include "NmeaParser.h"
#include "MacProgressCtrl.h"
#include "SatPicture.h"
#include "CommThread.h"	// Added by ClassView
#include "Graph\graph.h"


#define READMAXSIZE ( 1024 * 1024 )
#define ERRMAXSIZE	( 1024 )	// error log buffer max size
#define STAT_LOGON	1
#define STAT_LOGOFF	0
/////////////////////////////////////////////////////////////////////////////
// CNMEAParserDemoDlg dialog

class CNMEAParserDemoDlg : public CDialog
{
	CNMEAParser	m_NMEAParser;	// The parser
	BOOL m_bRepeat;
// cglee	CGraph *m_pGraph;
// cglee	CGraphDataSet m_gPrevDataSet;
	double m_dwDataCount;
// Construction
public:
	void UpdateText();
	CNMEAParserDemoDlg(CWnd* pParent = NULL);	// standard constructor
	HANDLE OpenGPSUart( DWORD baudrate, BYTE fbitcode );
	int ColdReset(void);
	void InitSnrRange(void);
	void InitSnrPos(void);
	void SetSnr(int index, int snr_val, int mode);
	BOOL CreateGpsLog(byte * pLogBuf, TCHAR *lFileName, int wCnt);
	BOOL IsUsedInSolution( WORD wPrn);
	void SoundNotify(void);
	void ParseNmeaData(char *pBuff, int dwBytesRead);

// Dialog Data
	//{{AFX_DATA(CNMEAParserDemoDlg)
	enum { IDD = IDD_NMEAPARSERDEMO_DIALOG };
	CProgressCtrl	m_cSpeed;
	CProgressCtrl	m_cProgress;
	CSliderCtrl	m_SendSpeed;
	CComboBox	m_cSerialPort;
	CEdit	m_EditSend;
	CEdit	m_EditReceive;
	CComboBox	m_cBaudRate;
	CSatPicture	m_SatView;
	CMacProgressCtrl	m_ctrlSNR0;
	CMacProgressCtrl	m_ctrlSNR1;
	CMacProgressCtrl	m_ctrlSNR2;
	CMacProgressCtrl	m_ctrlSNR3;
	CMacProgressCtrl	m_ctrlSNR4;
	CMacProgressCtrl	m_ctrlSNR5;
	CMacProgressCtrl	m_ctrlSNR6;
	CMacProgressCtrl	m_ctrlSNR7;
	CMacProgressCtrl	m_ctrlSNR8;
	CMacProgressCtrl	m_ctrlSNR9;
	CMacProgressCtrl	m_ctrlSNR10;
	CMacProgressCtrl	m_ctrlSNR11;
	int		m_iBaudRate;
	CString	m_strReceive;
	CString	m_strSend;
	int		m_iSerialPort;
	int		m_iSerialPort2;
	int		m_iSerialPort3;
	int		m_iSerialPort4;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CNMEAParserDemoDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;
	BYTE *gRxMegaBuf;    //051031hj
	BYTE GpsErrBuf[ERRMAXSIZE];		//051031hj
	int g_nCnt;		//051031hj
	int g_errCnt;		//051031hj
	int LogOnOff;      //051101hj
	BYTE m_n3DFix;
	BYTE m_nSoundCnt;
	UINT m_nSoundTick;
	BOOL m_bSimYear;
	// Generated message map functions
	//{{AFX_MSG(CNMEAParserDemoDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnDestroy();
	afx_msg void OnPortOpen();
	afx_msg void OnPortClose();
	afx_msg void OnFileOpen();
	afx_msg void OnSendData();
	afx_msg void OnSendDataClear();
	afx_msg void OnReleasedcaptureSliderSpeed(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg long OnCommunication(WPARAM wParam, LPARAM lParam);// 眠啊 矫挪 郴侩
	afx_msg void OnSelchangeSerialPort();
	afx_msg void OnSelchangeBaudRate();
	afx_msg void OnClose();
	afx_msg void OnBtnPause();
	afx_msg void OnBtnStop();
	afx_msg void OnChkRepeat();
	afx_msg void OnBtnStep();
	afx_msg void OnBtnUp();
	afx_msg void OnBtnDown();
	afx_msg void OnCheckYear();
	afx_msg void OnPortOpen2();
	afx_msg void OnPortOpen3();
	afx_msg void OnPortOpen4();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	char *m_pNmeaData;
	int m_nTotalCount;
	int m_nCount;
	int m_nTimerSpeed;

	
	CCommThread m_CommPort[4];
private:
	int m_iSize; //汲沥芒俊 矫府倔肺 甸绢柯 单捞磐 肮荐甫 焊咯林扁 困秦  肮荐甫 罐阑 函荐 
	int m_iCount;// 罐篮 单捞磐甫 拳搁俊 焊咯临锭 沥纺 窍扁 困秦 荤侩 茄临俊 8弓澜 2俺 (16俺 单捞磐)
	int nMakeHexData(); //焊尘 单捞磐 鸥涝捞 hex老 版快 hex单捞磐肺 父甸绢辑 傈价
	int nMakeAsciiData();//焊尘 单捞磐 鸥涝捞 ascii老 版快 ascii单捞磐肺 父甸绢辑 傈价
	BYTE byCode2AsciiValue(char cData);// 巩磊甫 hex蔼栏肺 函版 0~F 鳖瘤绰 弊措肺 弊 寇俊 臂磊绰 0栏肺 
	CString byIndexComPort(int xPort);// 器飘捞抚 罐扁 
	DWORD byIndexBaud(int xBaud);// 傈价伏 罐扁
	BYTE byIndexData(int xData);//单捞磐 厚飘 罐扁
	BYTE byIndexStop(int xStop);// 胶砰厚飘 罐扁 
	BYTE byIndexParity(int xParity);// 歧府萍 罐扁

	void InitNmeaData(void);
	void MakeNmeaData(char *data, int len);
	void ClearNmeaData(void);
	void SendNmeaData(void);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

⌨️ 快捷键说明

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