/// <summary> /// Command to execute when the flash button is clicked /// </summary> private async void Flash_CommandExecute() { TargetFlashLogic.IsFlashInProgress = true; Flash_Command.RaiseCanExecuteChanged(); Logger _logger = Logger.Instance; _logger.Clear(); await Task.Run(() => { TargetFlashLogic.StartFlash(SelectedComPort, SelectedBaudRate); }); _logger.Log("Finish"); Flash_Command.RaiseCanExecuteChanged(); }
/// <summary> /// the default constructor /// </summary> public MainWindowViewModel() { TargetFlashLogic = new TargetFlashLogic(); ComPorts = TargetFlashLogic.GetPorts(); BaudRates = TargetFlashLogic.GetBaudRates(); #region Delegate Commands TestConnect_Command = new DelegateCommand(TestConnect_CommandExecute, TestConnect_CommandCanExecute); BrowseFile_Command = new DelegateCommand(BrowseFile_CommandExecute).ObservesCanExecute(() => BrowseFile_IsEnabled); Flash_Command = new DelegateCommand(Flash_CommandExecute, Flash_CommandCanExecute); #endregion #region Dispatch Timer // Dispatch timer for polling purposes System.Windows.Threading.DispatcherTimer dispatchTimer = new System.Windows.Threading.DispatcherTimer(); dispatchTimer.Tick += (sender, e) => { Flash_Command.RaiseCanExecuteChanged(); TestConnect_Command.RaiseCanExecuteChanged(); }; dispatchTimer.Interval = new TimeSpan(0, 0, 0, 0, 10); dispatchTimer.Start(); #endregion }
private void TestConnect_CommandExecute() { TargetFlashLogic.TestConnection(SelectedComPort, SelectedBaudRate); }