public PatchCreatorWindow ( [NotNull] FirmwareLoader firmwareLoader, [NotNull] PatchManager patchManager, [NotNull] IEnumerable <FirmwareDefinition> firmwareDefinitions ) : this() { if (firmwareLoader == null) { throw new ArgumentNullException("firmwareLoader"); } if (patchManager == null) { throw new ArgumentNullException("patchManager"); } if (firmwareDefinitions == null) { throw new ArgumentNullException("firmwareDefinitions"); } m_loader = firmwareLoader; m_patchManager = patchManager; m_firmwareDefinitions = firmwareDefinitions; AuthorTextBox.Text = Environment.UserName; foreach (var firmwareDefinition in m_firmwareDefinitions) { DefinitionComboBox.Items.Add(firmwareDefinition.Name); } }
private void FileChannelHandler(byte[] segment) { if (segment.Length == 3 && Encoding.Default.GetString(segment) == "EOF") { string file_name = UserAssignedFile.Name; Console.WriteLine("Received file with size: {0}", UserAssignedFile.Length); UserAssignedFile.Close(); try { Task <string> t = FirmwareLoader.RunQuartusCommandAsync($"quartus_pgm -m jtag –o \"p;{file_name}@1\""); t.ContinueWith((task) => { File.Delete(file_name); FileCreated = false; }); } catch (Exception ex) { Console.WriteLine("Exception: {0}", ex.Message); } } else { WriteFileSegment(segment, UserAssignedFile); } }
private void OkButton_Click(object sender, EventArgs e) { string fileName; using (var op = new OpenFileDialog { Title = @"Select encrypted or decrypted firmware file ...", Filter = Consts.FirmwareFilter }) { if (op.ShowDialog() != DialogResult.OK) { return; } fileName = op.FileName; } try { var firmware = m_loader.LoadFile(fileName); if (FirmwareLoader.FindByteArray(firmware, Encoding.UTF8.GetBytes(m_connectedDeviceProductId)) == -1) { InfoBox.Show("Selected firmware file is not suitable for the connected device."); return; } m_worker.RunWorkerAsync(firmware); } catch (Exception ex) { InfoBox.Show("An exception occured during firmware update.\n" + ex.Message); } }
public FirmwareUpdaterWindow(Firmware firmware, FirmwareLoader loader) { InitializeComponent(); Icon = NFEPaths.ApplicationIcon; InitializeControls(); m_firmware = firmware; m_loader = loader; m_worker.DoWork += BackgroundWorker_DoWork; m_worker.ProgressChanged += BackgroundWorker_ProgressChanged; Load += (s, e) => { // When form shown as dialog we dont need to handle click event to close it, // otherwise we need to close application mannualy. if (!Modal) { CancelButton.Click += (s1, e1) => Application.Exit(); } }; Closing += (s, e) => { if (!CancelButton.Enabled) { e.Cancel = true; return; } HidConnector.Instance.DeviceConnected -= DeviceConnected; }; }
public override void RemoveRemoteControlling(PeerConnection Connection) { // Removing handler of data channel adding Connection.DataChannelAdded -= DataChannelAddedHandler; // Closing opened file, destroying Arduino input emulator and Quartus firmware loader InputEmulator?.Close(); UserAssignedFile?.Close(); FirmwareLoader?.Close(); }
public FirmwareUpdaterWindow(FirmwareLoader loader) { InitializeComponent(); Icon = Paths.ApplicationIcon; InitializeControls(); m_loader = loader; m_worker.DoWork += BackgroundWorker_DoWork; m_worker.ProgressChanged += BackgroundWorker_ProgressChanged; }
public FirmwareUpdaterWindow(Firmware firmware, FirmwareLoader loader) { InitializeComponent(); Icon = Paths.ApplicationIcon; InitializeControls(); m_firmware = firmware; m_loader = loader; m_worker.DoWork += BackgroundWorker_DoWork; m_worker.ProgressChanged += BackgroundWorker_ProgressChanged; }
private void UpdateFirmware(Func <byte[]> firmwareFunc) { var skipValidation = ModifierKeys.HasFlag(Keys.Control) && ModifierKeys.HasFlag(Keys.Alt); try { var firmware = firmwareFunc(); if (!skipValidation && FirmwareLoader.FindByteArray(firmware, Encoding.UTF8.GetBytes(m_connectedDeviceProductId)) == -1) { InfoBox.Show("Opened firmware file is not suitable for the connected device."); return; } m_worker.RunWorkerAsync(new AsyncProcessWrapper(worker => UpdateFirmwareAsyncWorker(worker, firmware))); } catch (Exception ex) { InfoBox.Show("An error occured during firmware update.\n" + ex.Message); } }
public DecryptionWindow() { InitializeComponent(); m_encoder = new JoyetechEncryption(); m_loader = new FirmwareLoader(); SelectSourceButton.Click += SelectSourceButton_Click; SourceTextBox.TextChanged += (s, e) => { SelectDestinationButton.Enabled = !string.IsNullOrEmpty(SourceTextBox.Text); }; SelectDestinationButton.Click += SelectDestinationButton_Click; DestinationTextBox.TextChanged += (s, e) => { EncryptDecryptButton.Enabled = !string.IsNullOrEmpty(DestinationTextBox.Text); }; EncryptDecryptButton.Click += EncryptDecryptButton_Click; }
public FirmwareUpdaterWindow(Firmware firmware, FirmwareLoader loader) { InitializeComponent(); Icon = Paths.ApplicationIcon; InitializeControls(); m_firmware = firmware; m_loader = loader; m_worker.DoWork += BackgroundWorker_DoWork; m_worker.ProgressChanged += BackgroundWorker_ProgressChanged; Load += (s, e) => { // When form shown as dialog we dont need to handle click event to close it, // otherwise we need to close application mannualy. if (!Modal) { CancelButton.Click += (s1, e1) => Application.Exit(); } }; }