public override bool Parse(Sentence sentence) { /* ** HVM - Magnetic Variation, Manually set ** ** 1 2 3 ** | | | ** $--HVM,x.x,a*hh<CR><LF> ** ** Field Number: ** 1) Magnetic Variation degrees ** 2) Magnetic Variation direction, E = Easterly, W = Westerly ** 3) Checksum */ /* ** First we check the checksum... */ if (sentence.IsChecksumBad() == Boolean.True) { Empty(); return(false); } MagneticVariationDegrees = sentence.Double(1); MagneticVariationDirection = sentence.EastOrWest(2); return(true); }
public override void Empty() { base.Empty(); MagneticVariationDegrees = 0.0D; MagneticVariationDirection = EastOrWest.Unknown; }
public override bool Parse(Sentence sentence) { /* ** RMA - Recommended Minimum Navigation Information ** 12 ** 1 2 3 4 5 6 7 8 9 10 11| ** | | | | | | | | | | | | ** $--RMA,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,x.x,x.x,x.x,a*hh<CR><LF> ** ** Field Number: ** 1) Blink Warning ** 2) Latitude ** 3) N or S ** 4) Longitude ** 5) E or W ** 6) Time Difference A, uS ** 7) Time Difference B, uS ** 8) Speed Over Ground, Knots ** 9) Track Made Good, degrees true ** 10) Magnetic Variation, degrees ** 11) E or W ** 12) Checksum */ /* ** First we check the checksum... */ if (sentence.IsChecksumBad() == Boolean.True) { Empty(); return(false); } IsDataValid = sentence.Boolean(1); Position.Parse(2, 3, 4, 5, sentence); TimeDifferenceA = sentence.Double(6); TimeDifferenceB = sentence.Double(7); SpeedOverGroundKnots = sentence.Double(8); TrackMadeGoodDegreesTrue = sentence.Double(9); MagneticVariation = sentence.Double(10); MagneticVariationDirection = sentence.EastOrWest(11); int checksum_field_number = sentence.ChecksumFieldNumber(); if (checksum_field_number == 13) { Mode = sentence.FAAMode(12); } else { Mode = FAAModeIndicator.Unknown; } return(true); }
public override void Empty() { base.Empty(); IsDataValid = Boolean.Unknown; Position.Empty(); TimeDifferenceA = 0.0D; TimeDifferenceB = 0.0D; SpeedOverGroundKnots = 0.0D; TrackMadeGoodDegreesTrue = 0.0D; MagneticVariation = 0.0D; MagneticVariationDirection = EastOrWest.Unknown; Mode = NMEA.FAAModeIndicator.Unknown; }
public override bool Parse(Sentence sentence) { /* ** HDG - Heading - Deviation & Variation ** ** 1 2 3 4 5 6 ** | | | | | | ** $--HDG,x.x,x.x,a,x.x,a*hh<CR><LF> ** ** Field Number: ** 1) Magnetic Sensor heading in degrees ** 2) Magnetic Deviation, degrees ** 3) Magnetic Deviation direction, E = Easterly, W = Westerly ** 4) Magnetic Variation degrees ** 5) Magnetic Variation direction, E = Easterly, W = Westerly ** 6) Checksum */ /* ** First we check the checksum... */ if (sentence.IsChecksumBad() == Boolean.True) { Empty(); return(false); } MagneticSensorHeadingDegrees = sentence.Double(1); MagneticDeviationDegrees = sentence.Double(2); MagneticDeviationDirection = sentence.EastOrWest(3); MagneticVariationDegrees = sentence.Double(4); MagneticVariationDirection = sentence.EastOrWest(5); return(true); }