1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
//! NMEA 0183 parser
//!
//! Use [`Nmea::parse()`] and [`Nmea::parse_for_fix()`]
//! to preserve state between receiving new NMEA sentence,
//! and [`parse_str()`] or [`parse_bytes()`] to parse sentences without state.
//!
//! Units used: **celsius**, **degrees**, **knots**, **meters** for altitude
//!
//! # 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 Extension
//! - PGRMZ
//!
//! **\* [`Nmea::parse()`] supported sentences**
//!
//!
//! # Crate features
//!
//! - `default` features - `std`
//! - `std` - enable `std`
//! - `serde` - enable `serde`
//!
//! [`Nmea::parse()`]: Nmea::parse
//! [`Nmea::parse_for_fix()`]: Nmea::parse_for_fix
// only enables the `doc_cfg` feature when
// the `docsrs` configuration attribute is defined
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(not(any(feature = "std", test)), no_std)]
#![deny(unsafe_code, rustdoc::broken_intra_doc_links)]
mod error;
pub(crate) mod parse;
mod parser;
pub mod sentences;
#[doc(inline)]
pub use parser::*;
pub use error::Error;
#[doc(inline)]
pub use parse::*;
#[cfg(doctest)]
// Test the README examples
doc_comment::doctest!("../README.md");