Initial commit of files
This commit is contained in:
111
include/libgps++/UbloxParser.h
Normal file
111
include/libgps++/UbloxParser.h
Normal file
@ -0,0 +1,111 @@
|
||||
//
|
||||
// Linux GPS
|
||||
//
|
||||
|
||||
/* prevent multiple inclusions */
|
||||
#ifndef __UbloxParser__
|
||||
#define __UbloxParser__
|
||||
|
||||
/* includes *****************************************************************/
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "netlib.h"
|
||||
|
||||
#include "GpsListener.h"
|
||||
#include "GpsParser.h"
|
||||
|
||||
#include "NmeaParser.h"
|
||||
#include "NmeaProtocol.h"
|
||||
|
||||
/* defines ******************************************************************/
|
||||
|
||||
/* macros *******************************************************************/
|
||||
|
||||
/* structs & typedefs *******************************************************/
|
||||
|
||||
/* c class definitions ******************************************************/
|
||||
|
||||
class NmeaSentencePUBX : public NmeaSentence {
|
||||
public:
|
||||
int id;
|
||||
timespec utctime;
|
||||
// 00
|
||||
double latitude;
|
||||
double longitude;
|
||||
double altitude_ref;
|
||||
char navstat[4];
|
||||
double horizontal_accuracy;
|
||||
double vertical_accuracy;
|
||||
double speed;
|
||||
double course;
|
||||
double vvel;
|
||||
double agec;
|
||||
double horizontal_dilution;
|
||||
double vertical_dilution;
|
||||
double time_dilution;
|
||||
int gps;
|
||||
int glonass;
|
||||
int dead_reckoning;
|
||||
|
||||
// 01
|
||||
|
||||
// 03
|
||||
int satellites;
|
||||
struct {
|
||||
int prn;
|
||||
char status;
|
||||
double azimuth;
|
||||
double elevation;
|
||||
int signal2noise;
|
||||
int locktime;
|
||||
} satellite[NMEA_MAX_SATELLITE];
|
||||
|
||||
// 04
|
||||
double utc_tow;
|
||||
int week;
|
||||
int clk_b;
|
||||
double clk_d;
|
||||
int granularity;
|
||||
|
||||
NmeaSentencePUBX();
|
||||
~NmeaSentencePUBX();
|
||||
|
||||
int Decode( int argc, char *argv[] );
|
||||
void Update( GpsPoint &PosData, ErrorInfo &ErrInfo, SatelliteInfo &SatInfo );
|
||||
};
|
||||
|
||||
class UbloxParser : public NmeaParser {
|
||||
// public data
|
||||
public:
|
||||
|
||||
// protected data
|
||||
protected:
|
||||
// u-Blox
|
||||
NmeaSentencePUBX PUBX;
|
||||
|
||||
// private data
|
||||
private:
|
||||
// data
|
||||
u_char state; // parser state
|
||||
|
||||
// private methods
|
||||
|
||||
// public methods
|
||||
public:
|
||||
// constructors
|
||||
UbloxParser();
|
||||
|
||||
// destructor
|
||||
virtual ~UbloxParser();
|
||||
|
||||
// virtual functions
|
||||
int GpsDecode( const char *buf, int max ) { return UbloxDecode( (const u_char *)buf, max); };
|
||||
int GpsParse( const char *buf, int max ) { return UbloxParse( buf, max ); };
|
||||
|
||||
// public methods
|
||||
int UbloxDecode( const u_char *buf, int max );
|
||||
int UbloxParse( const char *buf, int max );
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user