Crate aprs_parser
source ·Expand description
Usage
extern crate aprs_parser;
use aprs_parser::{AprsCst, AprsData, AprsPacket, AprsPosition, Callsign, Latitude, Longitude, Timestamp};
fn main() {
let result = aprs_parser::parse(
br"ICA3D17F2>APRS,qAS,dl4mea:/074849h4821.61N\01224.49E^322/103/A=003054"
);
assert_eq!(
result,
Ok(
AprsPacket {
from: Callsign {
call: "ICA3D17F2".to_string(),
ssid: None
},
to: Callsign {
call: "APRS".to_string(),
ssid: None
},
via: vec![
Callsign {
call: "qAS".to_string(),
ssid: None
},
Callsign {
call: "dl4mea".to_string(),
ssid: None
}
],
data: AprsData::Position(
AprsPosition {
timestamp: Some(
Timestamp::HHMMSS(
7,
48,
49
)
),
messaging_supported: false,
latitude: Latitude::new(48.36016666666667).unwrap(),
longitude: Longitude::new(12.408166666666666).unwrap(),
symbol_table: '\\',
symbol_code: '^',
comment: b"322/103/A=003054".to_vec(),
cst: AprsCst::Uncompressed,
}
)
}
)
);
}