| 
    Aria
    2.8.0
    
   | 
 
NMEA Parser. More...
#include <ArNMEAParser.h>
Classes | |
| struct | Message | 
| Message data passed to handlers.  More... | |
Public Types | |
| enum | { ParseFinished = 1, ParseError = 2, ParseData = 4, ParseUpdated = 8 } | 
| Flags to indicates what the parse() method did.  More... | |
| typedef ArFunctor1< ArNMEAParser::Message > | Handler | 
| NMEA message handler type.  More... | |
| typedef std::map< std::string, ArNMEAParser::Handler * > | HandlerMap | 
| typedef std::vector< std::string > | MessageVector | 
| NMEA message, divided into parts.  More... | |
Public Member Functions | |
| void | addHandler (const char *message, ArNMEAParser::Handler *handler) | 
| Set a handler for an NMEA message.  More... | |
| ArNMEAParser (const char *name="NMEA Parser") | |
| const ArNMEAParser::HandlerMap & | getHandlersRef () const | 
| int | parse (ArDeviceConnection *dev) | 
| int | parse (const char *buf, int n) | 
| void | removeHandler (const char *message) | 
| void | setIgnoreChecksum (bool ignore) | 
| Set whether checksum is ignored (default behavior is not to ignore it, and skip messages with incorrect checksums, and log a warning mesage)  | |
Public Attributes | |
| enum ArNMEAParser:: { ... } | ParseFlags | 
| Flags to indicates what the parse() method did.  More... | |
NMEA Parser.
Parses NMEA input data and calls callbacks for certain messages with message parts. NMEA is a standard output data protocol used by GPS devices and others (e.g. compass, altimiter, etc.) This class is used internally by ArNMEAParser and subclasses, and by ArTCMCompassDirect.
NMEA message handler type.
| typedef std::vector<std::string> ArNMEAParser::MessageVector | 
NMEA message, divided into parts.
| anonymous enum | 
Flags to indicates what the parse() method did.
i.e. If nothing was done, then the result will be 0. To check a parse() return result result to see if data was updated, use (result & ParseUpdated). To check if there was an error, use (result & ParseError).
| ArNMEAParser::ArNMEAParser | ( | const char * | name = "NMEA Parser" | ) | 
| name | Used in log messages | 
| void ArNMEAParser::addHandler | ( | const char * | message, | 
| ArNMEAParser::Handler * | handler | ||
| ) | 
Set a handler for an NMEA message.
Mostly for internal use or to be used by related classes, but you could use for ususual or custom messages emitted by a device that you wish to be handled outside of the ArNMEAParser class.
| enum { ... } ArNMEAParser::ParseFlags | 
Flags to indicates what the parse() method did.
i.e. If nothing was done, then the result will be 0. To check a parse() return result result to see if data was updated, use (result & ParseUpdated). To check if there was an error, use (result & ParseError).