Expand description

NMEA Parser: NMEA parser for Rust

This crate aims to cover all AIS sentences and the most important GNSS sentences used with NMEA 0183 standard. The parser supports AIS class A and B types. It also identifies GPS, GLONASS, Galileo, BeiDou, NavIC and QZSS satellite systems.

Usage in a #[no_std] environment is also possible though an allocator is required


pub use chrono;


AIS VDM/VDO data structures
GNSS data structures


NMEA sentence parser which keeps multi-sentence state between parse_sentence calls. The parser tries to be as permissible as possible about the field formats because some NMEA encoders don’t follow the standards strictly.


Parse error returned by NmeaParser::parse_sentence(). String data type is used instead of static &str because the error messages are expected to contain context-specific details.
Result from function NmeaParser::parse_sentence(). If the given sentence represents only a partial message ParsedMessage::Incomplete is returned.


Read-only access to geographical position in the implementing type.