74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
//
|
|
// Linux GPS
|
|
//
|
|
|
|
/* prevent multiple inclusions */
|
|
#ifndef __FastraxParser__
|
|
#define __FastraxParser__
|
|
|
|
/* 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 ******************************************************/
|
|
|
|
// Fastrax iTrax03
|
|
class NmeaSentencePFST : public NmeaSentence {
|
|
public:
|
|
char msg[4];
|
|
|
|
NmeaSentencePFST();
|
|
~NmeaSentencePFST();
|
|
|
|
int Decode( int argc, char *argv[] );
|
|
void Update( GpsPoint &PosData, ErrorInfo &ErrInfo, SatelliteInfo &SatInfo );
|
|
};
|
|
|
|
class FastraxParser : public NmeaParser {
|
|
// public data
|
|
public:
|
|
|
|
// protected data
|
|
protected:
|
|
// Fastrax iTrax03
|
|
NmeaSentencePFST PFST;
|
|
|
|
// private data
|
|
private:
|
|
// data
|
|
|
|
// private methods
|
|
|
|
// public methods
|
|
public:
|
|
// constructors
|
|
FastraxParser();
|
|
|
|
// destructor
|
|
virtual ~FastraxParser();
|
|
|
|
// virtual functions
|
|
int GpsDecode( const char *buf, int max ) { return FastraxDecode( (const u_char *)buf, max); };
|
|
int GpsParse( const char *buf, int max ) { return FastraxParse( buf, max ); };
|
|
|
|
// public methods
|
|
int FastraxDecode( const u_char *buf, int max );
|
|
int FastraxParse( const char *buf, int max );
|
|
};
|
|
|
|
#endif
|