Rev 1655 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1655 | giacomo | 1 | #define GPVTG "GPVTG" |
2 | #define GPGGA "GPGGA" |
||
3 | #define GPGSA "GPGSA" |
||
4 | #define GPGSV "GPGSV" |
||
5 | #define GPRMC "GPRMC" |
||
6 | #define PRWIZCH "PRWIZCH" |
||
7 | |||
8 | struct OUTDATA { |
||
9 | int fdin; |
||
10 | int fdout; |
||
11 | |||
12 | int last_update; /* When we got last data from GPS receiver */ |
||
13 | |||
14 | long cmask; |
||
15 | char utc[20]; /* UTC date / time in format "mm/dd/yy hh:mm:ss" */ |
||
16 | |||
17 | double latitude; /* Latitude and longitude in format "d.ddddd" */ |
||
18 | |||
19 | double longitude; |
||
20 | |||
21 | char grid[7]; |
||
22 | |||
23 | double altitude; /* Altitude in meters */ |
||
24 | |||
25 | double speed; /* Speed over ground, knots */ |
||
26 | |||
27 | double track; /* Track made good, degress True */ |
||
28 | |||
29 | int satellites; /* Number of satellites used in solution */ |
||
30 | |||
31 | int status; /* 0 = no fix, 1 = fix, 2 = dgps fix */ |
||
32 | |||
33 | int mode; /* 1 = no fix, 2 = 2D, 3 = 3D */ |
||
34 | |||
35 | double pdop; /* Position dilution of precision */ |
||
36 | |||
37 | double hdop; /* Horizontal dilution of precision */ |
||
38 | |||
39 | double vdop; /* Vertical dilution of precision */ |
||
40 | |||
41 | int in_view; /* # of satellites in view */ |
||
42 | |||
43 | int PRN[12]; /* PRN of satellite */ |
||
44 | |||
45 | int elevation[12]; /* elevation of satellite */ |
||
46 | |||
47 | int azimuth[12]; /* azimuth */ |
||
48 | |||
49 | int ss[12]; /* signal strength */ |
||
50 | |||
51 | int used[12]; /* used in solution */ |
||
52 | |||
53 | int ZCHseen; /* flag */ |
||
54 | |||
55 | int Zs[12]; /* for the rockwell PRWIZCH */ |
||
56 | |||
57 | int Zv[12]; /* value */ |
||
58 | |||
59 | int year; |
||
60 | |||
61 | int month; |
||
62 | |||
63 | int day; |
||
64 | |||
65 | int hours; |
||
66 | |||
67 | int minutes; |
||
68 | |||
69 | int seconds; |
||
70 | |||
71 | double separation; |
||
72 | |||
73 | double mag_var; |
||
74 | |||
75 | double course; |
||
76 | |||
77 | int seen[12]; |
||
78 | |||
79 | int valid[12]; /* signal valid */ |
||
80 | }; |
||
81 | |||
82 | #define C_LATLON 1 |
||
83 | #define C_SAT 2 |
||
84 | #define C_ZCH 4 |
||
85 | |||
86 | /* prototypes */ |
||
87 | extern void doNMEA(short refNum); |
||
88 | extern void processGPVTG(char *sentence); |
||
89 | extern void processGPRMC(char *sentence); |
||
90 | extern void processGPGGA(char *sentence); |
||
91 | extern void processGPGSV(char *sentence); |
||
92 | extern void processPRWIZCH(char *sentence); |
||
93 | extern void processGPGSA(char *sentence); |
||
94 | extern void process_message(char *sentence); |
||
95 | extern void add_checksum(char *sentence); |
||
96 | extern short checksum(char *sentence); |
||
97 | extern struct OUTDATA gNMEAdata; |