Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbos Watchdog TextLCD mbed ConfigFile
info.h
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: info.h 10 2007-11-15 14:50:15Z xtimor $ 00008 * 00009 */ 00010 00011 /*! \file */ 00012 00013 #ifndef __NMEA_INFO_H__ 00014 #define __NMEA_INFO_H__ 00015 00016 #include "time.h " 00017 00018 #define NMEA_SIG_BAD (0) 00019 #define NMEA_SIG_LOW (1) 00020 #define NMEA_SIG_MID (2) 00021 #define NMEA_SIG_HIGH (3) 00022 00023 #define NMEA_FIX_BAD (1) 00024 #define NMEA_FIX_2D (2) 00025 #define NMEA_FIX_3D (3) 00026 00027 #define NMEA_MAXSAT (12) 00028 #define NMEA_SATINPACK (4) 00029 #define NMEA_NSATPACKS (NMEA_MAXSAT / NMEA_SATINPACK) 00030 00031 #define NMEA_DEF_LAT (5001.2621) 00032 #define NMEA_DEF_LON (3613.0595) 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00038 /** 00039 * Position data in fractional degrees or radians 00040 */ 00041 typedef struct _nmeaPOS 00042 { 00043 double lat; /**< Latitude */ 00044 double lon; /**< Longitude */ 00045 00046 } nmeaPOS; 00047 00048 /** 00049 * Information about satellite 00050 * @see nmeaSATINFO 00051 * @see nmeaGPGSV 00052 */ 00053 typedef struct _nmeaSATELLITE 00054 { 00055 int id; /**< Satellite PRN number */ 00056 int in_use; /**< Used in position fix */ 00057 int elv; /**< Elevation in degrees, 90 maximum */ 00058 int azimuth; /**< Azimuth, degrees from true north, 000 to 359 */ 00059 int sig; /**< Signal, 00-99 dB */ 00060 00061 } nmeaSATELLITE; 00062 00063 /** 00064 * Information about all satellites in view 00065 * @see nmeaINFO 00066 * @see nmeaGPGSV 00067 */ 00068 typedef struct _nmeaSATINFO 00069 { 00070 int inuse; /**< Number of satellites in use (not those in view) */ 00071 int inview; /**< Total number of satellites in view */ 00072 nmeaSATELLITE sat[NMEA_MAXSAT]; /**< Satellites information */ 00073 00074 } nmeaSATINFO; 00075 00076 /** 00077 * Summary GPS information from all parsed packets, 00078 * used also for generating NMEA stream 00079 * @see nmea_parse 00080 * @see nmea_GPGGA2info, nmea_...2info 00081 */ 00082 typedef struct _nmeaINFO 00083 { 00084 int smask; /**< Mask specifying types of packages from which data have been obtained */ 00085 00086 nmeaTIME utc; /**< UTC of position */ 00087 00088 int sig; /**< GPS quality indicator (0 = Invalid; 1 = Fix; 2 = Differential, 3 = Sensitive) */ 00089 int fix; /**< Operating mode, used for navigation (1 = Fix not available; 2 = 2D; 3 = 3D) */ 00090 00091 double PDOP; /**< Position Dilution Of Precision */ 00092 double HDOP; /**< Horizontal Dilution Of Precision */ 00093 double VDOP; /**< Vertical Dilution Of Precision */ 00094 00095 double lat; /**< Latitude in NDEG - +/-[degree][min].[sec/60] */ 00096 double lon; /**< Longitude in NDEG - +/-[degree][min].[sec/60] */ 00097 double elv; /**< Antenna altitude above/below mean sea level (geoid) in meters */ 00098 double speed; /**< Speed over the ground in kilometers/hour */ 00099 double direction; /**< Track angle in degrees True */ 00100 double declination; /**< Magnetic variation degrees (Easterly var. subtracts from true course) */ 00101 00102 nmeaSATINFO satinfo; /**< Satellites information */ 00103 00104 } nmeaINFO; 00105 00106 void nmea_zero_INFO(nmeaINFO *info); 00107 00108 #ifdef __cplusplus 00109 } 00110 #endif 00111 00112 #endif /* __NMEA_INFO_H__ */
Generated on Thu Jul 14 2022 14:06:46 by
1.7.2