public MainWindow() { var heading = new MagneticMessageCompassValue(160); try { Apb = new APB("SN") // Electronic Positioning System, other/general { BOD = heading, Bearing = heading, DestinationWayPointId = 1, Heading = heading, SteerTurn = Turn.Left, XTE = 0, XteUnits = Units.NauticalMiles, }; InitializeComponent(); _repeatingSender = new RepeatingSender(new MessageSender("localhost", "serialout"), TimeSpan.FromSeconds(1)) { Message = Apb }; _repeatingSender.Start(); } catch (Exception x) { MessageBox.Show(x.ToString()); throw; } }
public MainViewModel() { Basic = new Basic(CreateMessageFromBasic); TalkerId = "SN"; var messagesender = new MessageSender("localhost", "serialout"); _repeatingSender = new RepeatingSender(messagesender, TimeSpan.FromSeconds(1)); }
public AutopilotControl(MagneticContext magneticContext, MessageSender messageSender) { _magneticContext = magneticContext; _apb = new APB("SN"); _heading = new MagneticMessageCompassValue(0); EnabledCommand = new DelegateCommand(() => Enabled = !Enabled); RightCommand = new DelegateCommand(Right); LeftCommand = new DelegateCommand(Left); MagneticCommand = new DelegateCommand(() => HeadingMagnetic = true); TrueCommand = new DelegateCommand(() => HeadingMagnetic = false); SetToHeadingCommand = new DelegateCommand(() => CopyCurrentHeading = !CopyCurrentHeading); _periodicalMessageSender = new RepeatingSender(messageSender, TimeSpan.FromMilliseconds(500), OnBeforeAPBSend) { Message = _apb }; }