1 stable release
1.2.6 | Nov 26, 2023 |
---|---|
1.0.1 |
|
#54 in Robotics
59KB
1.5K
SLoC
Rust-NMEA
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