Ejemplo n.º 1
0
        public void TrueWindSpeedEncode()
        {
            NmeaSentence.OwnTalkerId = TalkerId.WeatherInstruments;
            WindSpeedAndAngle mwv = new WindSpeedAndAngle(Angle.FromDegrees(220), Speed.FromKnots(5.4), false);

            Assert.True(mwv.Valid);
            Assert.Equal(Angle.FromDegrees(220), mwv.Angle);
            Assert.Equal("220.0,T,5.4,N,A", mwv.ToNmeaParameterList());
            Assert.Contains("Absolute", mwv.ToReadableContent());
        }
Ejemplo n.º 2
0
        public void ApparentWindSpeedEncode()
        {
            NmeaSentence.OwnTalkerId = TalkerId.WeatherInstruments;
            WindSpeedAndAngle mwv = new WindSpeedAndAngle(Angle.FromDegrees(-20), Speed.FromKnots(54), true);

            Assert.True(mwv.Valid);
            Assert.Equal(Angle.FromDegrees(-20), mwv.Angle);
            Assert.Equal("340.0,R,54.0,N,A", mwv.ToNmeaParameterList());
            Assert.Contains("Apparent", mwv.ToReadableContent());
        }
Ejemplo n.º 3
0
        public void MwvDecode()
        {
            string text    = "$YDMWV,331.6,R,0.7,M,A";
            var    decoded = TalkerSentence.FromSentenceString(text, out var error);

            Assert.Equal(NmeaError.None, error);
            Assert.NotNull(decoded);

            WindSpeedAndAngle wind = (WindSpeedAndAngle)decoded !.TryGetTypedValue(ref _lastPacketTime) !;

            Assert.True(wind.Valid);
            Assert.True(wind.Relative);
            Assert.Equal(331.6 - 360.0, wind.Angle.Degrees, 1);
            Assert.Equal(0.7, wind.Speed.MetersPerSecond, 1);
        }
Ejemplo n.º 4
0
        public void TrueWindSpeedDecode()
        {
            string msg = "$WIMWV,220.0,T,5.0,N,A*20";

            var decoded = TalkerSentence.FromSentenceString(msg, out var error);

            Assert.Equal(NmeaError.None, error);
            Assert.NotNull(decoded);

            WindSpeedAndAngle mwv = (WindSpeedAndAngle)decoded !.TryGetTypedValue(ref _lastPacketTime) !;

            Assert.Equal(Angle.FromDegrees(220), mwv.Angle);
            Assert.False(mwv.Relative);
            Assert.Equal(Speed.FromKnots(5.0), mwv.Speed);
        }
Ejemplo n.º 5
0
        public void ApparentWindSpeedDecode()
        {
            string msg = "$WIMWV,350.0,R,16.8,N,A*1A";

            var decoded = TalkerSentence.FromSentenceString(msg, out var error);

            Assert.Equal(NmeaError.None, error);
            Assert.NotNull(decoded);

            WindSpeedAndAngle mwv = (WindSpeedAndAngle)decoded !.TryGetTypedValue(ref _lastPacketTime) !;

            Assert.Equal(AngleUnit.Degree, mwv.Angle.Unit);
            Assert.Equal(Angle.FromDegrees(-10).Degrees, mwv.Angle.Degrees, 3);
            Assert.True(mwv.Relative);
            Assert.Equal(SpeedUnit.Knot, mwv.Speed.Unit);
            Assert.Equal(Speed.FromKnots(16.8), mwv.Speed);
        }