private void SetBootloader() { try { _logger.Log("Переход в режим bootloader"); var cmd = new SetBootloaderCommand(); _logger.Log("Команда перехода в режим bootloader поставлена в очередь"); _commandSenderHost.Sender.SendCommandAsync( _targerAddressHost.TargetAddress , cmd , TimeSpan.FromSeconds(1.0), 1 , (exception, bytes) => _userInterfaceRoot.Notifier.Notify(() => { try { if (exception != null) { throw new Exception("Ошибка при передаче данных: " + exception.Message, exception); } _logger.Log("Команда перехода в режим bootloader была отправлена"); } catch (Exception ex) { _logger.Log(ex.Message); } })); } catch (Exception ex) { _logger.Log("Не удалось поставить команду перехода в режим bootloader в очередь: " + ex.Message); } }
private void Flash() { try { _logger.Log("Переход в режим bootloader"); var cmd = new SetBootloaderCommand(); _logger.Log("Команда перехода в режим bootloader поставлена в очередь"); _commandSenderHost.Sender.SendCommandAsync( _targerAddressHost.TargetAddress , cmd , TimeSpan.FromSeconds(1.0), 1 , (exception, bytes) => _userInterfaceRoot.Notifier.Notify(() => { try { if (exception != null ) //throw new Exception("Ошибка при передаче данных: " + exception.Message, exception); { _logger.Log("Произошла ошибка при передаче данных, но это нормально"); } _logger.Log( "Команда перехода в режим bootloader была отправлена, отключаемся от COM-порта"); var psi = new ProcessStartInfo("flash.bat"); var process = new Process { StartInfo = psi }; process.Start(); } catch (Exception ex) { _logger.Log(ex.Message); } })); _linkControl.CloseComPort(); } catch (Exception ex) { _logger.Log("Не удалось поставить команду перехода в режим bootloader в очередь: " + ex.Message); } }