public FakeWinKey(string serialPort, SerialBridge bridge) { m_Bridge = bridge; m_Port = new SerialPort(serialPort); m_Port.BaudRate = 1200; m_Port.Open(); Thread t = new Thread(ProcessThread); t.IsBackground = true; t.Start(); }
private void BridgePortChanged(object sender, EventArgs e) { if (m_Bridge != null) { m_Bridge.Dispose(); m_Bridge = null; if (m_WinKey != null) m_WinKey.Bridge = null; } if (m_K3SerialChoice.SelectedIndex >= 0 && m_VirtualK3Choice.SelectedIndex >= 0) { Settings.Set("RealK3Serial", m_K3SerialChoice.Text); Settings.Set("VirtualK3Serial", m_VirtualK3Choice.Text); if (!string.IsNullOrEmpty(m_CATSpeed.Text)) Settings.Set("CATSpeed", m_CATSpeed.Text); bool bothOK = true; m_VirtualK3Status.Text = m_K3SerialStatus.Text = string.Empty; if (!TestOpenSerialPort(m_K3SerialChoice.Text)) { m_K3SerialStatus.Text = "Error opening port"; bothOK = false; } if (!TestOpenSerialPort(m_VirtualK3Choice.Text)) { m_VirtualK3Status.Text = "Error opening port"; bothOK = false; } if (bothOK) { try { m_Bridge = new SerialBridge(m_K3SerialChoice.Text, m_VirtualK3Choice.Text, m_CurrentCATSpeed); m_Bridge.RealRadioErrorReceived += new EventHandler(RealRadioErrorReceived); m_Bridge.FakeRadioErrorReceived += new EventHandler(FakeRadioErrorReceived); if (m_WinKey != null) m_WinKey.Bridge = m_Bridge; m_K3SerialStatus.Text = m_VirtualK3Status.Text = "Connected"; } catch (Exception ex) { m_K3SerialStatus.Text = m_VirtualK3Status.Text = "Error creating bridge"; } } } }