GPS Library  0.1
GPS driver and NMEA parser
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
NMEAInterpreter.h
Go to the documentation of this file.
1 #ifndef __NMEAINTERPRETER_H__
2 #define __NMEAINTERPRETER_H__
3 
4 #include <GPS/Interpreter/I_GPSInterpreter.h>
5 
7 {
8  public:
9  inline NMEAInterpreter(void):
10  write_data(NULL),
11  param(0),
12  checksum(0),
13  state(Seeking)
14  {
15  }
16 
17  virtual bool GotData(char data, I_GPSDriver * driver = nullptr);
18  virtual bool CheckData(char data);
19 
20  virtual const char * GetName(void) { return "NMEA"; }
21 
22  private:
23  SYS_DEFINE_CLASS_NAME("NMEAInterpreter");
24 
25  static int HexConvert(char ch);
26  void NextState(char ch);
27  void GotMessage(I_GPSDriver * driver = nullptr);
28 
29  inline void Seek(void) {
30  state = Seeking;
32  param = 0;
33  }
34 
35  enum {
38  };
39 
41 
42  char * write_data;
43 
45 
46  int param;
47 
49 
50  char checksum;
51 
52  enum {
58  };
59 
60  char state;
61 };
62 
63 #endif /* __NMEAINTERPRETER_H__ */
64 
65 /* * * * * * * * * * * * * End - of - File * * * * * * * * * * * * * * */