pub fn parse_frame(line: &str) -> Result<NmeaFrame<'_>, FrameError>Expand description
Parse a raw NMEA 0183 line into a validated frame.
Handles both $ (instrument) and ! (AIS) sentences.
Strips optional IEC 61162-450 tag blocks (\...\ prefix).
Validates XOR checksum when present.
ยงExamples
use nmea_kit::parse_frame;
let frame = parse_frame("$WIMWD,270.0,T,268.5,M,12.4,N,6.4,M*63").unwrap();
assert_eq!(frame.prefix, '$');
assert_eq!(frame.talker, "WI");
assert_eq!(frame.sentence_type, "MWD");
assert_eq!(frame.fields.len(), 8);