static NMEAParser() { RMCSentence = new RMC(); GGASentence = new GGA(); GSASentence = new GSA(); GSVSentence = new GSV[4]; VTGSentence = new VTG(); HDTSentence = new HDT(); GLLSentence = new GLL(); lockGGA = new Object(); lockGSA = new Object(); lockRMC = new Object(); lockGSV = new Object(); lockVTG = new Object(); lockHDT = new Object(); lockGLL = new Object(); }
public void Can_parse_well_formed_sentence() { var bytes = Encoding.UTF8.GetBytes("$GPGGA,232608.000,5057.1975,N,11134.8332,W,2,8,1.06,781.7,M,-18.1,M,0000,0000*62\r\n"); var buffer = new ReadOnlySequence <Byte>(bytes); var gga = new GGA().Parse(buffer) as GGA; gga.ShouldNotBeNull(); gga.FixTime.ShouldBe(new TimeSpan(23, 26, 8)); gga.Latitude.ShouldBe(50.9532916666667d, 0.00000001d); gga.Longitude.ShouldBe(-111.580553333333d, 0.00000001d); gga.Quality.ShouldBe(FixQuality.DgpsFix); gga.NumberOfSatellites.ShouldBe(8); gga.Hdop.ShouldBe(1.06); gga.Altitude.ShouldBe(781.7); gga.AltitudeUnits.ShouldBe('M'); gga.HeightOfGeoid.ShouldBe(-18.1); gga.HeightOfGeoidUnits.ShouldBe('M'); gga.TimeSinceLastDgpsUpdate.ShouldBe(TimeSpan.Zero); gga.DgpsStationId.ShouldBe(0); gga.Checksum.ShouldBe(0x62); }