Rev 1655 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
#define GPVTG "GPVTG"
#define GPGGA "GPGGA"
#define GPGSA "GPGSA"
#define GPGSV "GPGSV"
#define GPRMC "GPRMC"
#define PRWIZCH "PRWIZCH"
struct OUTDATA {
int fdin;
int fdout;
int last_update; /* When we got last data from GPS receiver */
long cmask;
char utc[20]; /* UTC date / time in format "mm/dd/yy hh:mm:ss" */
double latitude; /* Latitude and longitude in format "d.ddddd" */
double longitude;
char grid[7];
double altitude; /* Altitude in meters */
double speed; /* Speed over ground, knots */
double track; /* Track made good, degress True */
int satellites; /* Number of satellites used in solution */
int status; /* 0 = no fix, 1 = fix, 2 = dgps fix */
int mode; /* 1 = no fix, 2 = 2D, 3 = 3D */
double pdop; /* Position dilution of precision */
double hdop; /* Horizontal dilution of precision */
double vdop; /* Vertical dilution of precision */
int in_view; /* # of satellites in view */
int PRN[12]; /* PRN of satellite */
int elevation[12]; /* elevation of satellite */
int azimuth[12]; /* azimuth */
int ss[12]; /* signal strength */
int used[12]; /* used in solution */
int ZCHseen; /* flag */
int Zs[12]; /* for the rockwell PRWIZCH */
int Zv[12]; /* value */
int year;
int month;
int day;
int hours;
int minutes;
int seconds;
double separation;
double mag_var;
double course;
int seen[12];
int valid[12]; /* signal valid */
};
#define C_LATLON 1
#define C_SAT 2
#define C_ZCH 4
/* prototypes */
extern void doNMEA(short refNum);
extern void processGPVTG(char *sentence);
extern void processGPRMC(char *sentence);
extern void processGPGGA(char *sentence);
extern void processGPGSV(char *sentence);
extern void processPRWIZCH(char *sentence);
extern void processGPGSA(char *sentence);
extern void process_message(char *sentence);
extern void add_checksum(char *sentence);
extern short checksum(char *sentence);
extern struct OUTDATA gNMEAdata;