gps_nmea_messages.h

Go to the documentation of this file.
00001 
00003 // @{
00004 
00013 #ifndef GPS_NMEA_MESSAGES_H
00014 #define GPS_NMEA_MESSAGES_H
00015 
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019 
00020 typedef struct {
00021   int                 nr;             /* number of the gps unit */
00022   
00023   double              utc;            /* Universal Time Coordinated (UTC) */
00024   double              latitude;
00025   char                lat_orient;     /* N or S (North or South) */
00026   double              longitude;
00027   char                long_orient;    /* E or W (East or West) */
00028   int                 gps_quality;    /* GPS Quality Indicator,
00029                                          0 - fix not available,
00030                                          1 - GPS fix,
00031                                          2 - Differential GPS fix */
00032   int                 num_satellites; /* Number of satellites in view, 00-12 */
00033   double              hdop;           /* Horizontal Dilution of precision */
00034   double              sea_level;      /* Antenna Altitude above/below 
00035                                          mean-sea-level (geoid) */
00036   double              altitude;       /* Units of antenna altitude, meters */
00037   double              geo_sea_level;  /* Geoidal separation, the difference
00038                                          between the WGS-84 earth ellipsoid and
00039                                          mean-sea-level (geoid), "-" means
00040                                          mean-sea-level below ellipsoid */
00041   double              geo_sep;        /* Units of geoidal separation, meters */
00042   int                 data_age;       /* Age of differential GPS data, time 
00043                                          in seconds since last SC104 type 1 or
00044                                          9 update, null field when DGPS is not
00045                                          used */
00046   double              timestamp;
00047   char*                host;
00048 } carmen_gps_gpgga_message;
00049 
00050 
00051 #define CARMEN_GPS_GPGGA_MESSAGE_FMT "{int, double,double,char,double,char,int,int,double,double,double,double,double,int,double,string}"
00052 
00053 
00054 #define CARMEN_GPS_GPGGA_MESSAGE_NAME "carmen_gps_nmea_gpgga"
00055 
00056 
00057 
00058 
00059 typedef struct {
00060   int                 nr;             /* number of the gps unit */
00061   int                 validity;       /* 1 ok, 0 invalid       */
00062   double              utc;            /* Universal Time Coordinated (UTC) */
00063   double              latitude;
00064   char                lat_orient;     /* N or S (North or South) */
00065   double              longitude;
00066   char                long_orient;    /* E or W (East or West) */
00067  
00068   double              speed;          /* Speed over ground in m/s in the direction of true_course */
00069   double              true_course;    /* heading to north (in rads) */
00070   double              variation;      /* Magnetic variation (in rads) (E or W) subtracts 
00071                                          from true course  */
00072   char                var_dir;
00073 
00074   int                 date;           /* UT Date  */
00075 
00076   double              timestamp;
00077   char*                host;
00078 
00079  
00080 } carmen_gps_gprmc_message;
00081 
00082 #define CARMEN_GPS_GPRMC_MESSAGE_FMT  "{int, char,double,double,char,double,char,double,double,double,char,int,double,string}"
00083 #define CARMEN_GPS_GPRMC_MESSAGE_NAME "carmen_gps_nmea_gprmc"
00084 
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088 
00089 #endif
00090 
00091 // @}

Generated on Wed Apr 5 18:34:18 2006 for CARMEN by  doxygen 1.4.4