| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- /*
- *
- * NMEA library
- * URL: http://nmea.sourceforge.net
- * Author: Tim (xtimor@gmail.com)
- * Licence: http://www.gnu.org/licenses/lgpl.html
- * $Id: info.h 10 2007-11-15 14:50:15Z xtimor $
- *
- */
- /*! \file */
- #ifndef __NMEA_INFO_H__
- #define __NMEA_INFO_H__
- #include "time.h"
- #define NMEA_SIG_BAD (0)
- #define NMEA_SIG_LOW (1)
- #define NMEA_SIG_MID (2)
- #define NMEA_SIG_HIGH (3)
- #define NMEA_FIX_BAD (1)
- #define NMEA_FIX_2D (2)
- #define NMEA_FIX_3D (3)
- #define NMEA_MAXSAT (12)
- #define NMEA_SATINPACK (4)
- #define NMEA_NSATPACKS (NMEA_MAXSAT / NMEA_SATINPACK)
- #define NMEA_DEF_LAT (5001.2621)
- #define NMEA_DEF_LON (3613.0595)
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int bd_count;
- extern int gps_count;
- /**
- * Position data in fractional degrees or radians
- */
- typedef struct _nmeaPOS
- {
- double lat; /**< Latitude */
- double lon; /**< Longitude */
- } nmeaPOS;
- /**
- * Information about satellite
- * @see nmeaSATINFO
- * @see nmeaGPGSV
- */
- typedef struct _nmeaSATELLITE
- {
- int id; /**< Satellite PRN number */
- int in_use; /**< Used in position fix */
- int elv; /**< Elevation in degrees, 90 maximum */
- int azimuth; /**< Azimuth, degrees from true north, 000 to 359 */
- int sig; /**< Signal, 00-99 dB */
- } nmeaSATELLITE;
- /**
- * Information about all satellites in view
- * @see nmeaINFO
- * @see nmeaGPGSV
- */
- typedef struct _nmeaSATINFO
- {
- int inuse; /**< Number of satellites in use (not those in view) */
- int inview; /**< Total number of satellites in view */
- int inview_gps;
- int inview_bd;
- char state; /*G:GPS,B:BD*/
- nmeaSATELLITE sat[NMEA_MAXSAT]; /**< Satellites information */
- } nmeaSATINFO;
- /**
- * Summary GPS information from all parsed packets,
- * used also for generating NMEA stream
- * @see nmea_parse
- * @see nmea_GPGGA2info, nmea_...2info
- */
- typedef struct _nmeaINFO
- {
- int smask; /**< Mask specifying types of packages from which data have been obtained */
- nmeaTIME utc; /**< UTC of position */
- int sig; /**< GPS quality indicator (0 = Invalid; 1 = Fix; 2 = Differential, 3 = Sensitive) */
- int fix; /**< Operating mode, used for navigation (1 = Fix not available; 2 = 2D; 3 = 3D) */
- double PDOP; /**< Position Dilution Of Precision */
- double HDOP; /**< Horizontal Dilution Of Precision */
- double VDOP; /**< Vertical Dilution Of Precision */
- double lat; /**< Latitude in NDEG - +/-[degree][min].[sec/60] */
- double lon; /**< Longitude in NDEG - +/-[degree][min].[sec/60] */
- double elv; /**< Antenna altitude above/below mean sea level (geoid) in meters */
- double speed; /**< Speed over the ground in kilometers/hour */
- double direction; /**< Track angle in degrees True */
- double declination; /**< Magnetic variation degrees (Easterly var. subtracts from true course) */
- nmeaSATINFO satinfo; /**< Satellites information */
- } nmeaINFO;
- void nmea_zero_INFO(nmeaINFO *info);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __NMEA_INFO_H__ */
|