private void btnConnect_Click(object sender, EventArgs e) { if (_comPort != null && _comPort.IsOpen) { _comPort.Close(); } _comPort = new SerialPort(comboBoxPorts.Text, (int)numericBaudRate.Value); _comPort.ReadTimeout = 1000; try { _comPort.Open(); } catch (Exception ex) { AppendConsoleText($"Error! Cannot open {comboBoxPorts.Text}: {ex.Message}"); UpdateConnected(false); return; } UpdateConnected(true); _rtd = new RTD266x(_comPort); }
private void btnDisconnect_Click(object sender, EventArgs e) { if (_comPort != null && _comPort.IsOpen) { _comPort.Close(); } UpdateConnected(false); _rtd = null; }
private void btnClearLock_Click(object sender, EventArgs e) { AppendConsoleText("Clearing lock bits... "); RTD266x.Result result = _rtd.WriteStatus(0x00, 0x00); if (result == RTD266x.Result.Ok) { AppendConsoleText("done\r\n"); } else { AppendConsoleText(RTD266x.ResultToString(result) + "\r\n"); } }
private void ReadWorkerFinished(RTD266x.Result result, byte[] data) { UpdateBackgroundWorkerActive(false); if (result != RTD266x.Result.Ok) { AppendConsoleText(RTD266x.ResultToString(result) + "\r\n"); return; } AppendConsoleText("done\r\n"); if (chkReadConsole.Checked) { StringBuilder dataLog = new StringBuilder(); int column = 0; foreach (byte dataByte in data) { dataLog.Append($"{dataByte:X2} "); column++; if (column == 16) { dataLog.Append("\r\n"); column = 0; } } AppendConsoleText(dataLog.ToString()); } if (chkReadFile.Checked) { try { File.WriteAllBytes(txtReadFileName.Text, data); AppendConsoleText($"Data successfully written to \"{txtReadFileName.Text}\"\r\n"); } catch (Exception ex) { AppendConsoleText($"Cannot write file \"{txtReadFileName.Text}\"! {ex.Message}\r\n"); } } }
private void btnEraseChip_Click(object sender, EventArgs e) { if (MessageBox.Show("Do you really want to erase the whole chip?", "Erase chip", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } AppendConsoleText("Erasing chip (all data)... "); RTD266x.Result result = _rtd.EraseChip(); if (result == RTD266x.Result.Ok) { AppendConsoleText("done\r\n"); } else { AppendConsoleText(RTD266x.ResultToString(result) + "\r\n"); } }