NMEA Parser for Rust
This Rust crate aims to cover the most important AIS and GNSS NMEA 0183 sentences. It supports both class A and B types of AIS.
Usage
Include the following fragment in your Cargo.toml
file:
[]
= "0.4.0"
The following sample program uses the crate to parse the given NMEA sentence and to print some fields of the resulting data object:
use *;
let mut p = new;
let sentences = vec!;
for sentence in sentences
The program outputs the following lines:
MMSI: 271041815
Flag: TR
Name: PROGUY
Type: passenger
Source: Galileo
Latitude: 48.117°
Longitude: 11.517°
Features
The following features are included in the published version of the crate. Details about version history can be found from the changelog.
Feature | Description |
---|---|
AIS sentences | VDM/VDO types 1-3, 5, 18-19 and 24 |
GNSS sentences | GGA, RMC, GSA, GSV, VTG, GLL |
Satellite systems | GPS, GLONASS, Galileo, BeiDou, NavIC and QZSS |
Roadmap
Until version 1.0 refactoring and renaming of crate's code elements is likely to happen. The following table shows the plan to include different sentences in the crate. Prioritisation is based on estimated significance and implementation effort of each of them.
Version | Category | Goal |
---|---|---|
0.5 | AIS | VDM/VDO types 4, 9-17, 21, 27 |
0.6 | GNSS | ALM, DTM, GBS, HDT, ROT, STN, TRF, VBW, ZDA, XTC, XTE |
0.7 | AIS | VDM/VDO types 20, 22, 23, 25, 26 |
0.8 | AIS | VDM/VDO types 6-8 |
1.0 | general | Stable API, optimizations, enhanced documentation |
1.2 | GNSS | AAM, BOD, BWC, R00, RMB, RTE, WPL, ZTG |
1.3 | GNSS | APB, RMA, GRS, GST, MSK, MSS, STN, VBW |
License
This crate is licensed under Apache 2.0 license which also includes liability and warranty statements.