public AinCommandAndCommonTelemetryViewModel( AinCommandAndMinimalCommonTelemetryViewModel ainCommandAndMinimalCommonTelemetryViewModel, TelemetryCommonViewModel commonTelemetryVm, ICommandSenderHost commandSenderHost, ITargetAddressHost targerAddressHost, IUserInterfaceRoot uiRoot, INotifySendingEnabled notifySendingEnabled) { _commandSenderHost = commandSenderHost; _targerAddressHost = targerAddressHost; _uiRoot = uiRoot; _notifySendingEnabled = notifySendingEnabled; AinCommandAndMinimalCommonTelemetryVm = ainCommandAndMinimalCommonTelemetryViewModel; CommonTelemetryVm = commonTelemetryVm; _syncCancel = new object(); _cancel = !_notifySendingEnabled.IsSendingEnabled; // TODO: possible state loss between lines _notifySendingEnabled.SendingEnabledChanged += isSendingEnabled => { Cancel = !isSendingEnabled; }; // TODO: unsubscribe on exit Ain1LinkError = null; Ain2LinkError = null; Ain3LinkError = null; _errorCounts = 0; }
public AinCommandViewModel( AinCommandAndMinimalCommonTelemetryViewModel ainCommandAndMinimalCommonTelemetryViewModel, TelemetryCommonViewModel commonTelemetryVm, AinTelemetryViewModel ainTelemetryVm, IAinTelemetriesCycleControl ainTelemetriesCycleControl) { AinCommandAndMinimalCommonTelemetryVm = ainCommandAndMinimalCommonTelemetryViewModel; CommonTelemetryVm = commonTelemetryVm; AinTelemetryVm = ainTelemetryVm; ReadCycleCommand = ainTelemetriesCycleControl.ReadCycleCommand; StopReadingCommand = ainTelemetriesCycleControl.StopReadingCommand; }