QGIS API Documentation  master-6227475
src/core/gps/sentence.h
Go to the documentation of this file.
00001 /*
00002  *
00003  * NMEA library
00004  * URL: http://nmea.sourceforge.net
00005  * Author: Tim (xtimor@gmail.com)
00006  * Licence: http://www.gnu.org/licenses/lgpl.html
00007  * $Id: sentence.h 17 2008-03-11 11:56:11Z xtimor $
00008  *
00009  */
00010 
00013 #ifndef __NMEA_SENTENCE_H__
00014 #define __NMEA_SENTENCE_H__
00015 
00016 #include "info.h"
00017 
00018 #ifdef  __cplusplus
00019 extern "C"
00020 {
00021 #endif
00022 
00026   enum nmeaPACKTYPE
00027   {
00028     GPNON   = 0x0000,   
00029     GPGGA   = 0x0001,   
00030     GPGSA   = 0x0002,   
00031     GPGSV   = 0x0004,   
00032     GPRMC   = 0x0008,   
00033     GPVTG   = 0x0010    
00034   };
00035 
00039   typedef struct _nmeaGPGGA
00040   {
00041     nmeaTIME utc;       
00042     double  lat;        
00043     char    ns;         
00044     double  lon;        
00045     char    ew;         
00046     int     sig;        
00047     int     satinuse;   
00048     double  HDOP;       
00049     double  elv;        
00050     char    elv_units;  
00051     double  diff;       
00052     char    diff_units; 
00053     double  dgps_age;   
00054     int     dgps_sid;   
00056   } nmeaGPGGA;
00057 
00061   typedef struct _nmeaGPGSA
00062   {
00063     char    fix_mode;   
00064     int     fix_type;   
00065     int     sat_prn[NMEA_MAXSAT]; 
00066     double  PDOP;       
00067     double  HDOP;       
00068     double  VDOP;       
00070   } nmeaGPGSA;
00071 
00075   typedef struct _nmeaGPGSV
00076   {
00077     int     pack_count; 
00078     int     pack_index; 
00079     int     sat_count;  
00080     nmeaSATELLITE sat_data[NMEA_SATINPACK];
00081 
00082   } nmeaGPGSV;
00083 
00087   typedef struct _nmeaGPRMC
00088   {
00089     nmeaTIME utc;       
00090     char    status;     
00091     double  lat;        
00092     char    ns;         
00093     double  lon;        
00094     char    ew;         
00095     double  speed;      
00096     double  direction;  
00097     double  declination; 
00098     char    declin_ew;  
00099     char    mode;       
00101   } nmeaGPRMC;
00102 
00106   typedef struct _nmeaGPVTG
00107   {
00108     double  dir;        
00109     char    dir_t;      
00110     double  dec;        
00111     char    dec_m;      
00112     double  spn;        
00113     char    spn_n;      
00114     double  spk;        
00115     char    spk_k;      
00117   } nmeaGPVTG;
00118 
00119   void nmea_zero_GPGGA( nmeaGPGGA *pack );
00120   void nmea_zero_GPGSA( nmeaGPGSA *pack );
00121   void nmea_zero_GPGSV( nmeaGPGSV *pack );
00122   void nmea_zero_GPRMC( nmeaGPRMC *pack );
00123   void nmea_zero_GPVTG( nmeaGPVTG *pack );
00124 
00125 #ifdef  __cplusplus
00126 }
00127 #endif
00128 
00129 #endif /* __NMEA_SENTENCE_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines