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()); }
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()); }
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); }
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); }
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); }