diff options
Diffstat (limited to 'include/nmeaparse/GPSService.h')
| -rw-r--r-- | include/nmeaparse/GPSService.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/nmeaparse/GPSService.h b/include/nmeaparse/GPSService.h new file mode 100644 index 0000000..4d10dbd --- /dev/null +++ b/include/nmeaparse/GPSService.h @@ -0,0 +1,45 @@ +/* + * GPSService.h + * + * Created on: Aug 14, 2014 + * Author: Cameron Karlsson + */ + +#ifndef GPSSERVICE_H_ +#define GPSSERVICE_H_ + +#include <string> +#include <chrono> +#include <functional> +#include <nmeaparse/GPSFix.h> +#include <nmeaparse/NMEAParser.h> +#include <nmeaparse/Event.h> + +namespace nmea { + +class GPSService { +private: + + void read_PSRF150(const NMEASentence& nmea); + void read_GPGGA (const NMEASentence& nmea); + void read_GPGSA (const NMEASentence& nmea); + void read_GPGSV (const NMEASentence& nmea); + void read_GPRMC (const NMEASentence& nmea); + void read_GPVTG (const NMEASentence& nmea); + +public: + GPSFix fix; + + GPSService(NMEAParser& parser); + virtual ~GPSService(); + + Event<void(bool)> onLockStateChanged; // user assignable handler, called whenever lock changes + Event<void()> onUpdate; // user assignable handler, called whenever fix changes + + void attachToParser(NMEAParser& parser); // will attach to this parser's nmea sentence events +}; + + +} + +#endif /* GPSSERVICE_H_ */ |
