wte-mt-rx-parser-0.1.0 has been yanked.
wte-mt-rx-parser
This Rust crate aims to provide functionality for parsing messages received by the WTE MT-RX-3 AIS, 406 + 121.5 alerting receivers. These receivers are designed to decode various types of emergency and maritime communication signals, including:
- 406MHz EPIRBs, PLBs and ELT beacons operating across the frequencies 406.020 to 406.045 MHz.
- AIS based SART alerting devices operating on both 161.975MHz and 162.025MHz.
- 121.5MHz or 243MHz man-overboard devices and emergency homing transmitters with the use of directional antennas.
Features
Provides simple parsing utilities for:
- 406 Message Serial Output
- MT protocol structured messages (
MT1UUUNNNTFHHHHHHHHHHHHHHHSS112233N4445566WYYYY) - MT protocol raw messages (
MT6UUUNNNRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRYYYY)
- MT protocol structured messages (
- RSS frequency / alerts (
SS,1,NNN<CR>/SS,A,NNN<CR>)
Notes:
- For parsing AIS messages (NMEA format), refer to other crates, such as nmea-parser.
- Refer to MT-RX-3 user manual for more information (#references).
Usage
Add this crate to your Cargo.toml file:
[]
= "0.1.0"
Use it like this:
Output:
Ok(MtStructured(MtStructured { header: "MT1", id: "001", sequence_number: 0, message_type: 'A', format_flag: 'L', beacon: [52, 48, 48, 67, 53, 57, 50, 55, 53, 51, 53, 55, 50, 66, 51], signal_strength: ['2', '3'], lat_degrees: 43, lat_minutes: 32, lat_seconds: 12, n: 'S', long_degrees: 172, long_minutes: 37, long_seconds: 56, w: 'E', checksum: 18182 }))
Ok(MtRaw(MtRaw { header: "MT6", id: "001", sequence_number: 1, data: [70, 70, 70, 69, 50, 70, 65, 48, 48, 69, 48, 48, 48, 48, 67, 66, 65, 66, 57, 53, 57, 68, 66, 48, 57, 48, 51, 55, 56, 56, 67, 55, 49, 66, 55, 57], checksum: 63563 }))
Ok(Rss(Rss { rss_type: Alert, nnn: 123 }))
Ok(Rss(Rss { rss_type: Frequency, nnn: 123 }))
Contributing
If you find any issues or have suggestions for improvement, please feel free to open an issue.