Complete documentation can be found on www.docs.rs/nmea
Supported sentences:
NMEA Standard Sentences - AAM - ALM - BOD - BWC - BWW - DBK - GBS - GGA * - GLL * - GNS * - GSA * - GSV * - HDT - MDA - MTW - MWV - RMC * - VHW - VTG * - ZDA - ZFO - ZTG
Other Sentences - TXT *
Vendor Extensions - PGRMZ
* [Nmea::parse()
] supported sentences
We have an ongoing effort to support as many sentences from NMEA 0183
as possible,
starting with the most well-known.
If you'd like to contribute by writing a parser for a given message, check out the Supporting additional sentences (AeroRust/nmea#54) issue and contribute in 3 easy steps:
./src/sentences
directory using the nom
crate.NMEA 0183 is a combined electrical and data specification for communication between marine electronics such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other types of instruments.
- https://en.wikipedia.org/wiki/NMEA0183_
Add the nmea
dependency in your Cargo.toml
:
toml
[dependencies]
nmea = "0.5"
no_std
This crate support no_std
without the use of an allocator ( alloc
),
just add the nmea
crate without the default features:
toml
[dependencies]
nmea = { version = "0.5", default-features = false }
To use the NMEA parser create a Nmea
struct and feed it with NMEA sentences (only supports GNSS
messages, otherwise use the parse_str()
and parse_bytes()
):
```rust use nmea::Nmea;
fn main() { let mut nmea = Nmea::default(); let gga = "$GPGGA,092750.000,5321.6802,N,00630.3372,W,1,8,1.03,61.7,M,55.2,M,,*76";
// feature `GGA` should be enabled to parse this sentence.
#[cfg(feature = "GGA")]
{
nmea.parse(gga).unwrap();
println!("{}", nmea);
}
} ```
The Minimum supported Rust version (or MSRV) is 1.64.
We use #![deny(unsafe_code)]
for a fully unsafe
-free crate.
This project is licensed under the Apache-2.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the project by you, shall be licensed as Apache-2.0, without any additional terms or conditions.