/aprs-parser-rs

APRS message parser for Rust

Primary LanguageRustApache License 2.0Apache-2.0

aprs-parser

Build Status

APRS message parser for Rust

Features

  • Supports packet encoding and decoding
  • Supports textual representations (APRS-IS) as well as binary/AX.25 representations (KISS)

Usage

extern crate aprs_parser;

fn main() {
    let result = aprs_parser::parse(
        br"ICA3D2>APRS,qAS,dl4mea:/074849h4821.61N\01224.49E^322/103/A=003054"
    );

    println!("{:#?}", result);

    // Ok(
    //     AprsPacket {
    //         from: Callsign {
    //             call: "IC17F2",
    //             ssid: None,
    //         },
    //         via: [
    //             QConstruct(
    //                 AS,
    //             ),
    //             Callsign(
    //                 Callsign {
    //                     call: "dl4mea",
    //                     ssid: None,
    //                 },
    //                 false,
    //             ),
    //         ],
    //         data: Position(
    //             AprsPosition {
    //                 to: Callsign {
    //                     call: "APRS",
    //                     ssid: None,
    //                 },
    //                 timestamp: Some(
    //                     HHMMSS(
    //                         7,
    //                         48,
    //                         49,
    //                     ),
    //                 ),
    //                 messaging_supported: false,
    //                 latitude: Latitude(
    //                     48.36016666666667,
    //                 ),
    //                 longitude: Longitude(
    //                     12.408166666666666,
    //                 ),
    //                 precision: HundredthMinute,
    //                 symbol_table: '\\',
    //                 symbol_code: '^',
    //                 comment: [
    //                     51,
    //                     50,
    //                     50,
    //                     47,
    //                     49,
    //                     48,
    //                     51,
    //                     47,
    //                     65,
    //                     61,
    //                     48,
    //                     48,
    //                     51,
    //                     48,
    //                     53,
    //                     52,
    //                 ],
    //                 cst: Uncompressed,
    //             },
    //         ),
    //     },
    // )
}

License

This project is licensed under either of

at your option.