private void picPanadapter_MouseDown(object sender, MouseEventArgs e) { try { picPanadapter.Focus(); #if(DirectX) if (VideoDriver == DisplayDriver.DIRECTX) { if (e.Button == MouseButtons.Left && (tuning_mode == TuneMode.Off || tuning_mode == TuneMode.VFOA)) { float x = PixelToHz(e.X); VFOA = x / 1e6; tbPan.Value = 0; } else if (e.Button == MouseButtons.Left && tuning_mode == TuneMode.VFOB) { float x = PixelToHz(e.X); VFOB = x / 1e6; tbPan.Value = 0; } else if (e.Button == MouseButtons.Right && tuning_mode == TuneMode.Off) { tuning_mode = TuneMode.VFOA; DX.tuning_mode = TuneMode.VFOA; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } else if (e.Button == MouseButtons.Right && tuning_mode == TuneMode.VFOA && DX.RX2Enabled) { tuning_mode = TuneMode.VFOB; DX.tuning_mode = TuneMode.VFOB; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } else if (e.Button == MouseButtons.Right && tuning_mode == TuneMode.VFOA && !DX.RX2Enabled) { tuning_mode = TuneMode.Off; DX.tuning_mode = TuneMode.Off; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } else if (e.Button == MouseButtons.Right && tuning_mode == TuneMode.VFOB) { tuning_mode = TuneMode.Off; DX.tuning_mode = TuneMode.Off; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } } else #endif { if (e.Button == MouseButtons.Left && (tuning_mode == TuneMode.Off || tuning_mode == TuneMode.VFOA)) { float x = PixelToHz(e.X); VFOA = x / 1e6; tbPan.Value = 0; } else if (e.Button == MouseButtons.Left && tuning_mode == TuneMode.VFOB) { float x = PixelToHz(e.X); VFOB = x / 1e6; tbPan.Value = 0; } else if (e.Button == MouseButtons.Right && Display_GDI.tuning_mode == TuneMode.Off) { tuning_mode = TuneMode.VFOA; Display_GDI.tuning_mode = TuneMode.VFOA; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } else if (e.Button == MouseButtons.Right && Display_GDI.tuning_mode == TuneMode.VFOA && Display_GDI.RX2Enabled) { tuning_mode = TuneMode.VFOB; Display_GDI.tuning_mode = TuneMode.VFOB; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } else if (e.Button == MouseButtons.Right && Display_GDI.tuning_mode == TuneMode.VFOA && !Display_GDI.RX2Enabled) { tuning_mode = TuneMode.Off; Display_GDI.tuning_mode = TuneMode.Off; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } else if (e.Button == MouseButtons.Right && Display_GDI.tuning_mode == TuneMode.VFOB) { tuning_mode = TuneMode.Off; Display_GDI.tuning_mode = TuneMode.Off; btnRX2On_CheckedChanged(this, EventArgs.Empty); UpdateFilters(); } } if (e.Button == MouseButtons.Right) { Mode new_mode = op_mode_vfoA; TuneMode new_tune_mode = tuning_mode; if (tuning_mode == TuneMode.VFOB) new_mode = op_mode_vfoB; switch (new_mode) { case Mode.CW: cWToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.RTTY: rTTYToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.BPSK31: bPSK31ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.BPSK63: bPSK63ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.BPSK125: bPSK125ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.BPSK250: bPSK250ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.QPSK31: qPSK31ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.QPSK63: qPSK63ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.QPSK125: qPSK125ToolStripMenuItem_Click(this, EventArgs.Empty); break; case Mode.QPSK250: qPSK250ToolStripMenuItem_Click(this, EventArgs.Empty); break; } tuning_mode = new_tune_mode; } } catch (Exception ex) { Debug.Write(ex.ToString()); } }
private void btnRX2On_CheckedChanged(object sender, EventArgs e) { if (btnRX2On.Checked) { btnRX2On.BackColor = Color.WhiteSmoke; Audio.RX2 = true; Display_GDI.RX2Enabled = true; #if(DirectX) DX.RX2Enabled = true; #endif btnRX2On.BackColor = Color.LimeGreen; switch (op_mode_vfoB) { case Mode.CW: cwDecoder.RX2Enabled = true; cwDecoder.run_rx2 = true; SetRXOn(0, 1, true); rtty.run_rx2 = false; psk.run_rx2 = false; switch (op_mode_vfoA) { case Mode.CW: SetRXOn(0, 2, false); SetRXOn(0, 3, false); break; case Mode.RTTY: SetRXOn(0, 2, true); SetRXOn(0, 3, false); break; case Mode.BPSK31: case Mode.BPSK63: case Mode.BPSK125: case Mode.BPSK250: case Mode.QPSK31: case Mode.QPSK63: case Mode.QPSK125: case Mode.QPSK250: SetRXOn(0, 2, false); SetRXOn(0, 3, false); break; } break; case Mode.RTTY: rtty.RX2Enabled = true; rtty.run_rx2 = true; SetRXOn(0, 2, true); SetRXOn(0, 3, true); cwDecoder.run_rx2 = false; psk.run_rx2 = false; switch (op_mode_vfoA) { case Mode.RTTY: break; case Mode.CW: case Mode.BPSK31: case Mode.BPSK63: case Mode.BPSK125: case Mode.BPSK250: case Mode.QPSK31: case Mode.QPSK63: case Mode.QPSK125: case Mode.QPSK250: SetRXOn(0, 1, false); break; } break; case Mode.BPSK31: case Mode.BPSK63: case Mode.BPSK125: case Mode.BPSK250: case Mode.QPSK31: case Mode.QPSK63: case Mode.QPSK125: case Mode.QPSK250: psk.RX2Enabled = true; psk.run_rx2 = true; SetRXOn(0, 1, true); cwDecoder.run_rx2 = false; rtty.run_rx2 = false; switch (op_mode_vfoA) { case Mode.RTTY: SetRXOn(0, 2, true); SetRXOn(0, 3, false); break; case Mode.CW: case Mode.BPSK31: case Mode.BPSK63: case Mode.BPSK125: case Mode.BPSK250: case Mode.QPSK31: case Mode.QPSK63: case Mode.QPSK125: case Mode.QPSK250: SetRXOn(0, 2, false); SetRXOn(0, 3, false); break; } break; } } else { btnRX2On.BackColor = Color.LimeGreen; Audio.RX2 = false; Display_GDI.RX2Enabled = false; #if(DirectX) DX.RX2Enabled = false; #endif btnRX2On.BackColor = Color.WhiteSmoke; Audio.channel = 5; btnCH1.BackColor = Color.LimeGreen; btnCH2.BackColor = Color.WhiteSmoke; switch (op_mode_vfoA) { case Mode.CW: cwDecoder.RX2Enabled = false; SetRXOn(0, 1, false); SetRXOn(0, 2, false); SetRXOn(0, 3, false); cwDecoder.run_rx2 = false; break; case Mode.RTTY: rtty.RX2Enabled = false; SetRXOn(0, 2, false); SetRXOn(0, 3, false); rtty.run_rx2 = false; break; case Mode.BPSK31: case Mode.BPSK63: case Mode.BPSK125: case Mode.BPSK250: case Mode.QPSK31: case Mode.QPSK63: case Mode.QPSK125: case Mode.QPSK250: psk.RX2Enabled = false; psk.run_rx2 = false; SetRXOn(0, 1, false); SetRXOn(0, 2, false); SetRXOn(0, 3, false); break; } if (tuning_mode == TuneMode.VFOB) { tuning_mode = TuneMode.Off; Display_GDI.tuning_mode = TuneMode.Off; #if(DirectX) DX.tuning_mode = TuneMode.Off; #endif } } Mode new_mode = op_mode_vfoA; if (tuning_mode == TuneMode.VFOB) new_mode = op_mode_vfoB; switch (new_mode) { case Mode.CW: lblRTTYMark.Visible = false; lblRTTYMarkBox.Visible = false; lblRTTYSpace.Visible = false; lblRTTYSpaceBox.Visible = false; radRTTYNormal.Visible = false; radRTTYReverse.Visible = false; lblDCDCh1.Visible = false; lblDCDCh2.Visible = false; lblPSKCH1Freq.Visible = false; lblPSKCH2Freq.Visible = false; lblPSKDCDCh1.Visible = false; lblPSKDCDCh2.Visible = false; chkSQL.Visible = true; chkAFC.Visible = false; break; case Mode.RTTY: lblRTTYMark.Visible = true; lblRTTYMarkBox.Visible = true; lblRTTYSpace.Visible = true; lblRTTYSpaceBox.Visible = true; radRTTYNormal.Visible = true; radRTTYReverse.Visible = true; lblDCDCh1.Visible = false; lblDCDCh2.Visible = false; lblPSKCH1Freq.Visible = false; lblPSKCH2Freq.Visible = false; lblPSKDCDCh1.Visible = false; lblPSKDCDCh2.Visible = false; chkSQL.Visible = true; chkAFC.Visible = false; break; case Mode.BPSK31: case Mode.BPSK63: case Mode.BPSK125: case Mode.BPSK250: case Mode.QPSK31: case Mode.QPSK63: case Mode.QPSK125: case Mode.QPSK250: lblRTTYMark.Visible = false; lblRTTYMarkBox.Visible = false; lblRTTYSpace.Visible = false; lblRTTYSpaceBox.Visible = false; radRTTYNormal.Visible = false; radRTTYReverse.Visible = false; lblDCDCh1.Visible = true; lblDCDCh2.Visible = true; lblPSKCH1Freq.Visible = true; lblPSKCH2Freq.Visible = true; lblPSKDCDCh1.Visible = true; lblPSKDCDCh2.Visible = true; chkSQL.Visible = false; chkAFC.Visible = true; break; } }
private void cWToolStripMenuItem_Click(object sender, EventArgs e) { Audio.audio_paused = true; if (tuning_mode == TuneMode.Off || tuning_mode == TuneMode.VFOA) { chkSQL.Visible = true; chkAFC.Visible = false; rTTYToolStripMenuItem.Checked = false; cWToolStripMenuItem.Checked = true; bPSK250ToolStripMenuItem.Checked = false; bPSK125ToolStripMenuItem.Checked = false; bPSK63ToolStripMenuItem.Checked = false; bPSK31ToolStripMenuItem.Checked = false; qPSK31ToolStripMenuItem.Checked = false; qPSK63ToolStripMenuItem.Checked = false; qPSK125ToolStripMenuItem.Checked = false; qPSK250ToolStripMenuItem.Checked = false; tuning_mode = TuneMode.Off; OpModeVFOA = Mode.CW; cwDecoder.run_rx1 = true; rtty.run_rx1 = false; psk.run_rx1 = false; InitLOG(); } else { OpModeVFOB = Mode.CW; cwDecoder.run_rx2 = true; rtty.run_rx2 = false; psk.run_rx2 = false; } btnRX2On_CheckedChanged(this, EventArgs.Empty); this.grpChannels.Text = "VFOA " + op_mode_vfoA.ToString() + " VFOB " + op_mode_vfoB.ToString() + " "; grpMonitor.Text = "Mode CW"; Audio.audio_paused = false; }
public void GetState() { try { double Losc = 14.04, VfoA = 14.05, VfoB = 14.05; // get list of live controls ArrayList temp = new ArrayList(); // list of all first level controls ControlList(this, ref temp); ArrayList checkbox_list = new ArrayList(); ArrayList combobox_list = new ArrayList(); ArrayList numericupdown_list = new ArrayList(); ArrayList radiobutton_list = new ArrayList(); ArrayList textbox_list = new ArrayList(); ArrayList trackbar_list = new ArrayList(); ArrayList colorbutton_list = new ArrayList(); foreach (Control c in temp) { if (c.GetType() == typeof(CheckBox)) checkbox_list.Add(c); else if (c.GetType() == typeof(ComboBox)) combobox_list.Add(c); else if (c.GetType() == typeof(NumericUpDown)) numericupdown_list.Add(c); else if (c.GetType() == typeof(RadioButton)) radiobutton_list.Add(c); //else if (c.GetType() == typeof(TextBox)) //textbox_list.Add(c); else if (c.GetType() == typeof(TrackBar)) trackbar_list.Add(c); } temp.Clear(); // now that we have the controls we want, delete first list ArrayList a = DB.GetVars("Options"); a.Sort(); // restore saved values to the controls foreach (string s in a) // string is in the format "name,value" { string[] vals = s.Split('/'); if (vals.Length > 2) { for (int i = 2; i < vals.Length; i++) vals[1] += "/" + vals[i]; } string name = vals[0]; string val = vals[1]; if (s.StartsWith("chk")) { for (int i = 0; i < checkbox_list.Count; i++) { CheckBox c = (CheckBox)checkbox_list[i]; if (c.Name.Equals(name)) // name found { c.Checked = bool.Parse(val); // restore value i = checkbox_list.Count + 1; } if (i == checkbox_list.Count) MessageBox.Show("Control not found: " + name); } } else if (s.StartsWith("combo")) // control is a ComboBox { for (int i = 0; i < combobox_list.Count; i++) { // look through each control to find the matching name ComboBox c = (ComboBox)combobox_list[i]; if (c.Name.Equals(name)) // name found { if (c.Items.Count > 0 && c.Items[0].GetType() == typeof(string)) { c.Text = val; } else { foreach (object o in c.Items) { if (o.ToString() == val) c.Text = val; // restore value } } i = combobox_list.Count + 1; } if (i == combobox_list.Count) MessageBox.Show("Control not found: " + name); } } else if (s.StartsWith("ud")) { for (int i = 0; i < numericupdown_list.Count; i++) { // look through each control to find the matching name NumericUpDown c = (NumericUpDown)numericupdown_list[i]; if (c.Name.Equals(name)) // name found { decimal num = decimal.Parse(val); if (num > c.Maximum) num = c.Maximum; // check endpoints else if (num < c.Minimum) num = c.Minimum; c.Value = num; // restore value i = numericupdown_list.Count + 1; } if (i == numericupdown_list.Count) MessageBox.Show("Control not found: " + name); } } else if (s.StartsWith("rad")) { // look through each control to find the matching name for (int i = 0; i < radiobutton_list.Count; i++) { RadioButton c = (RadioButton)radiobutton_list[i]; if (c.Name.Equals(name)) // name found { c.Checked = bool.Parse(val); // restore value i = radiobutton_list.Count + 1; } if (i == radiobutton_list.Count) MessageBox.Show("Control not found: " + name); } } else if (s.StartsWith("txt")) { // look through each control to find the matching name for (int i = 0; i < textbox_list.Count; i++) { TextBox c = (TextBox)textbox_list[i]; if (c.Name.Equals(name)) // name found { c.Text = val; // restore value i = textbox_list.Count + 1; } if (i == textbox_list.Count) MessageBox.Show("Control not found: " + name); } } else if (s.StartsWith("tb")) { // look through each control to find the matching name for (int i = 0; i < trackbar_list.Count; i++) { TrackBar c = (TrackBar)trackbar_list[i]; if (c.Name.Equals(name)) // name found { c.Value = Int32.Parse(val); i = trackbar_list.Count + 1; } if (i == trackbar_list.Count) MessageBox.Show("Control not found: " + name); } } else if (s.StartsWith("OpModeVFOA")) { vals = s.Split('/'); if (vals.Length > 2) { for (int i = 2; i < vals.Length; i++) vals[1] += "/" + vals[i]; } val = vals[1]; tuning_mode = TuneMode.VFOA; switch (val) { case "CW": OpModeVFOA = Mode.CW; cWToolStripMenuItem_Click(this, EventArgs.Empty); break; case "RTTY": OpModeVFOA = Mode.RTTY; rTTYToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK31": OpModeVFOA = Mode.BPSK31; bPSK31ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK63": OpModeVFOA = Mode.BPSK63; bPSK63ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK125": OpModeVFOA = Mode.BPSK125; bPSK125ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK250": OpModeVFOA = Mode.BPSK250; bPSK250ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK31": OpModeVFOA = Mode.QPSK31; qPSK31ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK63": OpModeVFOA = Mode.QPSK63; qPSK63ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK125": OpModeVFOA = Mode.QPSK125; qPSK125ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK250": OpModeVFOA = Mode.QPSK250; qPSK250ToolStripMenuItem_Click(this, EventArgs.Empty); break; } } else if (s.StartsWith("OpModeVFOB")) { vals = s.Split('/'); if (vals.Length > 2) { for (int i = 2; i < vals.Length; i++) vals[1] += "/" + vals[i]; } val = vals[1]; tuning_mode = TuneMode.VFOB; switch (val) { case "CW": OpModeVFOB = Mode.CW; cWToolStripMenuItem_Click(this, EventArgs.Empty); break; case "RTTY": OpModeVFOB = Mode.RTTY; rTTYToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK31": OpModeVFOB = Mode.BPSK31; bPSK31ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK63": OpModeVFOB = Mode.BPSK63; bPSK63ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK125": OpModeVFOB = Mode.BPSK125; bPSK125ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "BPSK250": OpModeVFOB = Mode.BPSK250; bPSK250ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK31": OpModeVFOB = Mode.QPSK31; qPSK31ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK63": OpModeVFOB = Mode.QPSK63; qPSK63ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK125": OpModeVFOB = Mode.QPSK125; qPSK125ToolStripMenuItem_Click(this, EventArgs.Empty); break; case "QPSK250": OpModeVFOB = Mode.QPSK250; qPSK250ToolStripMenuItem_Click(this, EventArgs.Empty); break; } } else if (s.StartsWith("VFOA")) { vals = s.Split('/'); if (vals.Length > 2) { for (int i = 2; i < vals.Length; i++) vals[1] += "/" + vals[i]; } val = vals[1]; VfoA = double.Parse(val); } else if (s.StartsWith("VFOB")) { vals = s.Split('/'); if (vals.Length > 2) { for (int i = 2; i < vals.Length; i++) vals[1] += "/" + vals[i]; } val = vals[1]; VfoB = double.Parse(val); } else if (s.StartsWith("LOSC")) { vals = s.Split('/'); if (vals.Length > 2) { for (int i = 2; i < vals.Length; i++) vals[1] += "/" + vals[i]; } val = vals[1]; Losc = double.Parse(val); } else if (s.StartsWith("LOG file path")) { vals = s.Split('/'); log_file_path = vals[1]; } else if (s.StartsWith("main_top")) { int top = Int32.Parse(vals[1]); this.Top = top; } else if (s.StartsWith("main_left")) { int left = Int32.Parse(vals[1]); this.Left = left; } else if (s.StartsWith("main_width")) { int width = Int32.Parse(vals[1]); this.Width = width; } else if (s.StartsWith("main_height")) { int height = Int32.Parse(vals[1]); this.Height = height; } switch (name) { case "tx_image_phase_table": string[] list = val.Split('|'); for (int i = 0; i <= (int)Band.B6M && i < list.Length; i++) tx_image_phase_table[i] = float.Parse(list[i]); break; case "tx_image_gain_table": list = val.Split('|'); for (int i = 0; i <= (int)Band.B6M && i < list.Length; i++) tx_image_gain_table[i] = float.Parse(list[i]); break; case "rx_image_phase_table": list = val.Split('|'); for (int i = 0; i <= (int)Band.B6M && i < list.Length; i++) rx_image_phase_table[i] = float.Parse(list[i]); break; case "rx_image_gain_table": list = val.Split('|'); for (int i = 0; i <= (int)Band.B6M && i < list.Length; i++) rx_image_gain_table[i] = float.Parse(list[i]); break; } } tbZoom.Value = 4; tbPan.Value = 0; CalcDisplayFreq(); SetupForm.tbTXPhase.Value = (int)tx_image_phase_table[(int)current_band]; SetupForm.tbTXGain.Value = (int)tx_image_gain_table[(int)current_band]; SetupForm.tbRXPhase.Value = (int)rx_image_phase_table[(int)current_band]; SetupForm.tbRXGain.Value = (int)rx_image_gain_table[(int)current_band]; } catch (Exception ex) { MessageBox.Show("Error in GetOption function!\n" + ex.ToString()); } }