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

rust_nmea

NMEA (0183) 解析器和信息库,适用于 Rust

1 个稳定版本

1.2.6 2023年11月26日
1.0.1 2022年7月2日

#29 in 机器人

GPL-2.0 许可协议

59KB
1.5K SLoC

Rust-NMEA

Crates.io Version Documentation

Rust 的 NMEA (0183) 解析器和信息库。

示例

    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,
      })
    ));
支持的包 已测试 已实现
[DTM] (基准参考)
[GBS] (卫星故障检测)
[GGA] (全球定位系统定位数据)
[GLL] (地理位置 - 纬度 / 经度)
[GNS] (GNSS 定位数据)
[GRS] (GNSS 范围残差)
[GSA] (GNSS DOP 和活动卫星)
[GST] (GNSS 伪距误差统计)
[GSV] (视野中的 GNSS 卫星)
[RLM] (返回链接消息)
[RMC] (推荐的最小特定 GNSS 数据)
[THS] (车辆航向)
[TXT] (文本传输)
[VLW] (双地面/水域距离)
[VTG] (地面航向和地面速度)
[ZDA] (时间和日期)

重要:此库不提供 SerialPort

许可协议

Rust-NMEA 根据 GPL-2.0 许可协议 许可。

无运行时依赖