Gps.h
上传用户:pumpssky
上传日期:2007-12-07
资源大小:110k
文件大小:2k
源码类别:

MacOS编程

开发平台:

C/C++

  1. // Gps.h: interface for the CGps class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_GPS_H__F4111537_E580_49AA_8949_BD954C92D7BE__INCLUDED_)
  5. #define AFX_GPS_H__F4111537_E580_49AA_8949_BD954C92D7BE__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "define.h"
  10. #include "Serial.h"
  11. #include "Log.h"
  12. class CGmarkView;
  13. class CGps  
  14. {
  15. public:
  16. void SetViewWnd(CWnd * pWnd);
  17. CGmarkView *m_GmarkView;
  18. CLog * m_pLog;
  19. BOOL m_bGpsMsgBusy;
  20. BOOL IsChecksumCorrect( char * message );
  21. void SetOrigPosition( double orig_lon, double orig_lat );
  22. void WriteRTCM( char * rtcm);
  23. void ClearGpsData();
  24. HWND GetViewHandle();
  25. int Connect();
  26. void SetViewHandle(HWND);
  27. int Close();
  28. int Initialize(int baudrate);
  29. int SendCmd(LPSTR cmd);
  30. struct COMM_DATA * m_tCommData[GPS_MAX_RECNUM];
  31. int m_CurrIndex;
  32. struct GPS_DATA m_tGpsData;
  33. CSerial m_portA;
  34. CSerial m_portB;
  35. void CompleteMsg(unsigned char *buf, int nBytes);
  36. void CreateGPSData();
  37. void OnReceived(unsigned char *buf, int nBytes);
  38. CGps();
  39. virtual ~CGps();
  40. private:
  41. BOOL BinCheckSum(char *buf, int len, int BinType = 0);
  42. void ParseCRT(char *Message);
  43. void ParseGSA(char *Message);
  44. void ParseGLL(char *Message);
  45. double m_orig_lat;
  46. double m_orig_lon;
  47. int GetCompleteMsg(LPSTR OrgMsg, int nOrgLen, LPSTR CompMsg, int & nCompLen);
  48. HWND m_hGmarkView;
  49. double DegToVal(char * deg);
  50. void ParseGGA(char * Message);
  51. void ParsePBN(char * Message);
  52. void ParseMCA(char * Message);
  53. void ParseSNV(char * Message);
  54. int IndexDecrease(int index);
  55. int IndexIncrease(int index);
  56. void GetToken(LPSTR str, int n, LPSTR token);
  57. void AddChecksum(LPSTR cmd, LPSTR chksum);
  58. };
  59. #endif // !defined(AFX_GPS_H__F4111537_E580_49AA_8949_BD954C92D7BE__INCLUDED_)