#nmea #gps #gpio #ublox #date-time

rust_nmea

NMEA (0183) parser and information library for Rust

1 stable release

1.2.6 Nov 26, 2023
1.0.1 Jul 2, 2022

#23 in Robotics

GPL-2.0 license

59KB
1.5K SLoC

Rust-NMEA

Crates.io Version Documentation

NMEA (0183) parser and information library for Rust.

Example

    use rust_nmea::{parser, types::{CommandTypes, Time, Cordinate, GGAStatus}, commands::gga::GGA};
    let line = "$GPGGA,161009.00,1122.20418,N,02339.35234,E,1,08,1.09,11.5,M,11.3,M,,*62";
    let parsed = parser::Parser::parse_line(line);
    assert_eq!(parsed, Ok(
       CommandTypes::GGA(GGA {
           time: Time {
               hour: 16,
               minute: 10,
               second: 9,
               decimal_seconds: 0,
           },
           lat: Cordinate {
               degree: 112,
               minute: 2.20418,
           },
           northing_indicator: 'N',
           lon: Cordinate {
               degree: 23,
               minute: 39.42234,
           },
           easting_indicator: 'E',
           status: GGAStatus::S2d3D,
           number_of_satellites: 8,
           horizontal_dilution_of_position: 1.09,
           altitude: 11.5,
           altitude_unit: "M".to_string(),
           geoid_separation: 11.3,
           geoid_separation_unit: "M".to_string(),
           differential_age_of_position: 0,
           differential_reference_station_id: 0,
      })
    ));
Supported Packages Tested Implemented
[DTM] (Datum Reference)
[GBS] (Satellite Fault Detection)
[GGA] (Global Positioning System Fix Data)
[GLL] (Geographic Position - Lat / Long)
[GNS] (GNSS Fix Data)
[GRS] (GNSS Range Residuals)
[GSA] (GNSS DOP and Active Satellites)
[GST] (GNSS Pseudorange Error Statistics)
[GSV] (GNSS Satellites in View)
[RLM] (Return Link Message)
[RMC] (Recommended Min Specific GNSS Data)
[THS] (Heading of Vehicle)
[TXT] (Text Transmission)
[VLW] (Dual Ground / Water Distance)
[VTG] (Course Over Ground and Ground Speed)
[ZDA] (Time & Date)

Important: This libary does not provide SerialPort

License

Rust-NMEA is licensed under the GPL-2.0 license

No runtime deps