示例#1
0
 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();
 }
示例#2
0
        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);
        }