public SerialTelemetryLink(IDeviceManager deviceManager, IMavLinkMessageParser messageParser, IDispatcherServices dispatcherServices) { _deviceManager = deviceManager; _messageParser = messageParser; _dispatcherServices = dispatcherServices; Messages = new ObservableCollection <MAVLinkMessage>(); _messageParser.MessageParsed += (sndr, msg) => { Complete(msg); _dispatcherServices.Invoke(() => { MessageParsed(sndr, msg); lock (this) { MessagesReceived++; if (!Messages.Where(emsg => emsg.MessageInfo.MsgId == msg.MessageInfo.MsgId).Any()) { Messages.Insert(0, msg); if (Messages.Count == 100) { Messages.Remove(Messages.Last()); } } } }); }; }
public SerialPortTransport(IDispatcherServices dispatcher) : base(dispatcher) { }
public LogFileTransport(string logFileName, IDispatcherServices dispatcher) : base(dispatcher) { mLogFileName = logFileName; }
public Transport(IDispatcherServices dispatcher) { _dispatcher = dispatcher; }
public UdpTransport(IDispatcherServices dispatcher) : base(dispatcher) { }
public WiFiAdapter(IDispatcherServices dispatcherService) { _dispatcherService = dispatcherService; }