File Information
Library: IoT/GNSS/NMEA
Package: Decoder
Header: IoT/GNSS/NMEA/SentenceDecoder.h
Description
This class decodes NMEA-0183 wire-format sentences into Sentence objects for further processing.
For a complete description of the NMEA 0183 message format see the NMEA 0183 document available from the National Marine Electronics Association.
An informal description of the NMEA 0183 message format can be found at <http://www.catb.org/gpsd/NMEA.html>.
Member Summary
Member Functions: checksum, field, init, invalid, processBuffer, processChar, reset, sentenceComplete, start, talkerType, updateChecksum
Enumerations
Limits
NMEA_MAX_FIELD_COUNT = 32
NMEA_MAX_FIELD_SIZE = 64
State
initial state, beginning of message, skipping CR/LF
'$' message start delimiter was found
reading talker and sentence type
reading fields
reading checksum
invalid characters found
Constructors
SentenceDecoder
Creates the SentenceDecoder.
Destructor
~SentenceDecoder
~SentenceDecoder();
Destroys the SentenceDecoder.
Member Functions
processBuffer
void processBuffer(
const char * buffer,
std::size_t size
);
Processes all characters in the given buffer.
processChar
void processChar(
char ch
);
Processes the given character.
reset
void reset();
Resets the decoder to initial state.
checksum
void checksum(
char ch
);
field
void field(
char ch
);
init
void init(
char ch
);
invalid
void invalid(
char ch
);
sentenceComplete
void sentenceComplete();
start
void start(
char ch
);
talkerType
void talkerType(
char ch
);
updateChecksum
void updateChecksum(
char ch
);
Variables
sentenceReceived
Poco::BasicEvent < const Sentence > sentenceReceived;
Fired when a valid sentence has been received.