- #ifndef _DEFINE_H
- #define _DEFINE_H
- #define _SAVE_RTCM
- #define _SAVE_GPSDATA
- #define _SAVE_GPSMSG // available only _SAVE_GPSDATA is defined
- #define _USE_UDP
- /********** User Message **************/
- #define WM_GPSRECEIVED WM_USER+100
- #define WM_GPSUPDATE WM_USER+101
- #define WM_SOCKEVENT WM_USER+102
- #define WM_AUTOPROCESS WM_USER+103
- /********** Return Value **************/
- #define RET_OK 0
- #define RET_NG 1
- /********** Max Define ****************/
- #define GPS_MAX_NEMASIZE 1024
- #define GPS_MAX_RECNUM 5
- #define GPS_MAX_RTCM 8000 //
- #define COM_MAX_INBUFSIZE 10000
- #define COM_MAX_OUTBUFSIZE 10000
- #define MAX_ROVERID 3
- #define MAX_ROVERDESC 20
- #define MAX_LOGMSG_SIZE 256
- #define CONFIG_MAX_LINE 256
- /********** Constants Define ************************************************/
- #define GPS_CON_MONITOR_INTERVAL 5000 //5 secondes
- #define SOCK_CON_ACTIVATE_INTERVAL 60000 //60 secondes for socket activate
- #define SOCK_CON_ACTIVEPACK ("5") //1 byte activate package
- #define MAP_FILENAME _T("GpsDataMap")
- #define PORT 10000 // the port for socket communication
- #define SOCK_TIMEOUT 500 // the timeout value for socket recv
- /************ Enum constants define *****************************************/
- enum FILE_NAME
- {
- FN_GPSDATA,
- FN_LOG,
- FN_RAW
- };
- /********** Strcture Define ***********/
- struct COMM_DATA
- {
- int CompleteFlg;
- char Message[GPS_MAX_NEMASIZE+1];
- };
- struct GPS_DATA
- {
- int Status;
- int SatCount;
- double Longitude; //Jing du
- int LonDeg;
- int LonMin;
- double LonSec;
- double Latitude; //Wei du
- int LatDeg;
- int LatMin;
- double LatSec;
- double X;
- double Y;
- double PDOP;
- double HDOP;
- double VDOP;
- };
- typedef struct _CONF_DATA
- {
- char szRoverID[MAX_ROVERID+1];
- char szRoverDesc[MAX_ROVERDESC+1];
- char szBaseIP[16];
- double dOrigLon;
- double dOrigLat;
- BOOL bAutoStart;
- BOOL bDispNEMA;
- BOOL bDispRTCM;
- } CONF_DATA;
- typedef struct _PBN_DATA
- {
- long rcvtime;
- char sitename[4];
- double navx;
- double navy;
- double navz;
- float navt;
- float navxdot;
- float navydot;
- float navzdot;
- float navtdot;
- unsigned short PDOP;
- } PBN_DATA;
- typedef struct _MCA_DATA
- {
- unsigned short sequence_tag;
- unsigned char left;
- unsigned char svprn;
- unsigned char elev;
- unsigned char azim;
- unsigned char chnind;
- // flowing are from C/A code
- unsigned char warning;
- unsigned char goodbad;
- char polarity_known;
- unsigned char ireg;
- unsigned char qa_phase;
- double full_phase;
- double raw_range;
- long doppler;
- long smoothing;
- } MCA_DATA;
- typedef struct _SNV_DATA
- {
- short wn;
- long tow;
- float tgd;
- long aodc;
- long toc;
- float af2;
- float af1;
- float af0;
- long aode;
- float deltan;
- double m0;
- double e;
- double roota;
- long toe;
- float cic;
- float crc;
- float cis;
- float crs;
- float cuc;
- float cus;
- double omega0;
- double omega;
- double i0;
- float omegadot;
- float idot;
- short accuracy;
- short health;
- short fit;
- char prnnum;
- char res;
- } SNV_DATA;
- /****************************************/
- #endif