diff --git a/src/sentences/fix_type.rs b/src/sentences/fix_type.rs index 852bd0c..80041d3 100644 --- a/src/sentences/fix_type.rs +++ b/src/sentences/fix_type.rs @@ -13,6 +13,7 @@ pub enum FixType { Estimated, Manual, Simulation, + WAAS, } impl FixType { @@ -20,7 +21,12 @@ impl FixType { pub fn is_valid(self) -> bool { match self { FixType::Simulation | FixType::Manual | FixType::Estimated | FixType::Invalid => false, - FixType::DGps | FixType::Gps | FixType::Rtk | FixType::FloatRtk | FixType::Pps => true, + FixType::DGps + | FixType::Gps + | FixType::Rtk + | FixType::FloatRtk + | FixType::Pps + | FixType::WAAS => true, } } } @@ -37,6 +43,7 @@ impl From for FixType { '6' => FixType::Estimated, '7' => FixType::Manual, '8' => FixType::Simulation, + '9' => FixType::WAAS, _ => FixType::Invalid, } } diff --git a/src/sentences/gga.rs b/src/sentences/gga.rs index 52e1543..3106a37 100644 --- a/src/sentences/gga.rs +++ b/src/sentences/gga.rs @@ -50,7 +50,7 @@ fn do_parse_gga(i: &str) -> IResult<&str, GgaData> { let (i, _) = char(',').parse(i)?; let (i, lat_lon) = parse_lat_lon(i)?; let (i, _) = char(',').parse(i)?; - let (i, fix_quality) = one_of("012345678").parse(i)?; + let (i, fix_quality) = one_of("0123456789").parse(i)?; let (i, _) = char(',').parse(i)?; let (i, fix_satellites) = opt(number::).parse(i)?; let (i, _) = char(',').parse(i)?;