##// END OF EJS Templates
codigo fuente de librería NMEAlib++ basado en el codigo original de:...
codigo fuente de librería NMEAlib++ basado en el codigo original de: NMEA library URL: http://nmea.sourceforge.net Author: Tim (xtimor@gmail.com) Licence: http://www.gnu.org/licenses/lgpl.html

File last commit:

r96:97
r96:97
Show More
nmeaInfo.h
84 lines | 2.7 KiB | text/x-c | CLexer
/*
* nmeaInfo.h
*
* Created on: Oct 21, 2014
* Author: Alan Aguilar Sologuren
*/
#ifndef NMEALIB___NMEAINFO_H_
#define NMEALIB___NMEAINFO_H_
#include "nmea_defs.h"
/**
* 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 */
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
*/
class nmeaInfo {
public:
nmeaInfo();
virtual ~nmeaInfo();
void code_init_INFO();
static void code_time_now();
void code_info2pos(nmeaPOS *pos);
void code_pos2info(const nmeaPOS *pos);
int nmea_igen_noise_init();
int nmea_igen_noise_loop();
int nmea_igen_noise_reset();
int nmea_igen_static_loop();
int nmea_igen_static_reset();
int nmea_igen_static_init();
int nmea_igen_rotate_loop();
int nmea_igen_rotate_reset();
int nmea_igen_rotate_init();
int nmea_igen_pos_rmove_init();
int nmea_igen_pos_rmove_loop();
private:
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 */
};
#endif /* NMEALIB___NMEAINFO_H_ */