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

MacOS编程

开发平台:

C/C++

  1. #ifndef _DEFINE_H
  2. #define _DEFINE_H
  3. #define _SAVE_RTCM
  4. #define _SAVE_GPSDATA
  5. #define _SAVE_GPSMSG // available only _SAVE_GPSDATA is defined
  6. #define _USE_UDP
  7. /********** User Message **************/
  8. #define WM_GPSRECEIVED WM_USER+100
  9. #define WM_GPSUPDATE WM_USER+101
  10. #define WM_SOCKEVENT WM_USER+102
  11. #define WM_AUTOPROCESS WM_USER+103
  12. /********** Return Value **************/
  13. #define RET_OK 0
  14. #define RET_NG 1
  15. /********** Max Define ****************/
  16. #define GPS_MAX_NEMASIZE 1024
  17. #define GPS_MAX_RECNUM 5
  18. #define GPS_MAX_RTCM 8000 //
  19. #define COM_MAX_INBUFSIZE 10000
  20. #define COM_MAX_OUTBUFSIZE 10000
  21. #define MAX_ROVERID 3
  22. #define MAX_ROVERDESC 20
  23. #define MAX_LOGMSG_SIZE 256
  24. #define CONFIG_MAX_LINE 256
  25. /********** Constants Define ************************************************/
  26. #define GPS_CON_MONITOR_INTERVAL 5000 //5 secondes
  27. #define SOCK_CON_ACTIVATE_INTERVAL 60000 //60 secondes for socket activate
  28. #define SOCK_CON_ACTIVEPACK ("5") //1 byte activate package 
  29. #define MAP_FILENAME _T("GpsDataMap")
  30. #define PORT 10000 // the port for socket communication
  31. #define SOCK_TIMEOUT 500 // the timeout value for socket recv
  32. /************ Enum constants define *****************************************/
  33. enum FILE_NAME
  34. {
  35. FN_GPSDATA,
  36. FN_LOG,
  37. FN_RAW
  38. };
  39. /********** Strcture Define ***********/
  40. struct COMM_DATA
  41. {
  42. int CompleteFlg;
  43. char Message[GPS_MAX_NEMASIZE+1];
  44. };
  45. struct GPS_DATA
  46. {
  47. int Status;
  48. int SatCount;
  49. double Longitude; //Jing du
  50. int LonDeg;
  51. int LonMin;
  52. double LonSec;
  53. double Latitude; //Wei du
  54. int LatDeg;
  55. int LatMin;
  56. double LatSec;
  57. double X;
  58. double Y;
  59. double PDOP;
  60. double HDOP;
  61. double VDOP;
  62. };
  63. typedef struct _CONF_DATA
  64. {
  65. char szRoverID[MAX_ROVERID+1];
  66. char szRoverDesc[MAX_ROVERDESC+1];
  67. char szBaseIP[16];
  68. double dOrigLon;
  69. double dOrigLat;
  70. BOOL bAutoStart;
  71. BOOL bDispNEMA;
  72. BOOL bDispRTCM;
  73. } CONF_DATA;
  74. typedef struct _PBN_DATA
  75. {
  76. long rcvtime;
  77. char sitename[4];
  78. double navx;
  79. double navy;
  80. double navz;
  81. float navt;
  82. float navxdot;
  83. float navydot;
  84. float navzdot;
  85. float navtdot;
  86. unsigned short PDOP;
  87. } PBN_DATA;
  88. typedef struct _MCA_DATA
  89. {
  90. unsigned short sequence_tag;
  91. unsigned char left;
  92. unsigned char svprn;
  93. unsigned char elev;
  94. unsigned char azim;
  95. unsigned char chnind;
  96. // flowing are from C/A code
  97. unsigned char warning;
  98. unsigned char goodbad;
  99. char polarity_known;
  100. unsigned char ireg;
  101. unsigned char qa_phase;
  102. double full_phase;
  103. double raw_range;
  104. long doppler;
  105. long smoothing;
  106. } MCA_DATA;
  107. typedef struct _SNV_DATA
  108. {
  109. short wn;
  110. long tow;
  111. float tgd;
  112. long aodc;
  113. long toc;
  114. float af2;
  115. float af1;
  116. float af0;
  117. long aode;
  118. float deltan;
  119. double m0;
  120. double e;
  121. double roota;
  122. long toe;
  123. float cic;
  124. float crc;
  125. float cis;
  126. float crs;
  127. float cuc;
  128. float cus;
  129. double omega0;
  130. double omega;
  131. double i0;
  132. float omegadot;
  133. float idot;
  134. short accuracy;
  135. short health;
  136. short fit;
  137. char prnnum;
  138. char res;
  139. } SNV_DATA;
  140. /****************************************/
  141. #endif