private void InitConsole() // changes yt7pwr { this.Text = this.Text + GSDR_version + GSDR_revision; WinVer = WindowsVersion.WindowsXP; // default OSInfo = System.Environment.OSVersion; Mixer.console = this; switch (OSInfo.Version.Major) { case 5: { switch (OSInfo.Version.Minor) { case 0: WinVer = WindowsVersion.Windows2000; break; case 1: WinVer = WindowsVersion.WindowsXP; break; } } break; case 6: { switch (OSInfo.Version.Minor) { case 0: WinVer = WindowsVersion.WindowsVista; break; case 1: WinVer = WindowsVersion.Windows7; break; case 2: WinVer = WindowsVersion.Windows8; break; case 3: WinVer = WindowsVersion.Windows8; break; default: WinVer = WindowsVersion.WindowsVista; break; } } break; default: WinVer = WindowsVersion.WindowsXP; break; } booting = true; skin = new Skin(this); VoiceMsgForm = new VoiceMessages(this); g59 = new GenesisG59.G59(Handle); g59.booting = true; g11 = new GenesisG11.G11(Handle); g11.booting = true; g6 = new GenesisG6.G6(Handle); g6.booting = true; g6.SetCallback(GenesisG6CommandCallback); g6.SetIQCallback(Audio.G6AudioCallback); //g6.SetIQCallback(Audio.G6ADCaudioCallback); //g6.SetDACcallback(Audio.G6DACaudioCallback); net_device = new GenesisNetBox.NetBox(Handle); net_device.booting = true; qrp2000 = new QRP2000(this); AnalogSignalGauge = new AGauge(this); NewVFOSignalGauge = new AGauge(this); try { ServerSocket = new ServerSendData(this); // error! ClientSocket = new ClientRecvData(this); } catch (Exception ex) { MessageBox.Show("Error1 in network configuration!\nCheck your network settings!\n" + ex.ToString()); } try { CAT_server_socket = new CAToverEthernetServer(this); CAT_client_socket = new CAToverEthernetClient(this); } catch (Exception ex) { Debug.Write("Error while creating network CAT!\n" + ex.ToString()); } try { MultiPSKServer = new MultiPSKEthernetServer(this); } catch (Exception ex) { Debug.Write("Error in MultiPSK network configuration!\nCheck your network settings!\n" + ex.ToString()); } UpdateBandStackRegisters(); Audio.console = this; chkDSPNB2.Enabled = true; Display_GDI.console = this; // for GDI+ #if(DirectX) try { Display_DirectX.console = this; // for DirectX } catch (Exception ex) { MessageBox.Show("DirectX general fault!\n" + ex.ToString()); } #endif if (CmdLineArgs != null) { for (int i = 0; i < CmdLineArgs.Length; i++) { switch (CmdLineArgs[i]) { case "--disable-swr-prot-at-my-risk": DisableSWRProtection = true; this.Text = this.Text + " *** SWR Protection Disabled! ***"; break; case "--high-pwr-am": Audio.high_pwr_am = true; MessageBox.Show("high power am"); break; case "--debug-enable": debug_enabled = true; debug = new DebugForm(this, true); debug.StartPosition = FormStartPosition.Manual; debug.Show(); debug.Focus(); Win32.SetWindowPos(debug.Handle.ToInt32(), -1, this.Left, this.Top, debug.Width, debug.Height, 0); this.Text = this.Text + " Debug enabled!"; break; } } } losc_hover_digit = -1; vfoA_hover_digit = -1; vfoB_hover_digit = -1; run_setup_wizard = true; // get culture specific decimal separator separator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator; last_band = ""; // initialize bandstack wheel_tune_list = new double[15]; // initialize wheel tuning list array wheel_tune_list[0] = 0.000001; wheel_tune_list[1] = 0.000010; wheel_tune_list[2] = 0.000050; wheel_tune_list[3] = 0.000100; wheel_tune_list[4] = 0.000250; wheel_tune_list[5] = 0.000500; wheel_tune_list[6] = 0.001000; wheel_tune_list[7] = 0.005000; wheel_tune_list[8] = 0.009000; wheel_tune_list[9] = 0.010000; wheel_tune_list[10] = 0.100000; wheel_tune_list[11] = 0.250000; wheel_tune_list[12] = 0.500000; wheel_tune_list[13] = 1.000000; wheel_tune_list[14] = 10.000000; wheel_tune_index = 6; wheel_tune_index_subRX = 6; meter_text_history = new float[multimeter_text_peak_samples]; current_meter_data = -200.0f; this.ActiveControl = chkPower; // Power has focus initially Display_GDI.Target = picDisplay; Display_GDI.Init(); // Initialize Display variables InitDisplayModes(); // Initialize Display Modes InitAGCModes(); // Initialize AGC Modes InitMultiMeterModes(); // Initialize MultiMeter Modes ProcessSampleThreadController[] pstc = new ProcessSampleThreadController[1]; audio_process_thread = new Thread[1]; for (uint proc_thread = 0; proc_thread < 1; proc_thread++) { pstc[proc_thread] = new ProcessSampleThreadController(proc_thread); audio_process_thread[proc_thread] = new Thread(new ThreadStart(pstc[proc_thread].ProcessSampleThread)); audio_process_thread[proc_thread].Name = "Audio Process Thread " + proc_thread.ToString(); audio_process_thread[proc_thread].Priority = ThreadPriority.Highest; audio_process_thread[proc_thread].IsBackground = true; audio_process_thread[proc_thread].Start(); } siolisten = new SIOListenerII(this); Keyer = new CWKeyer2(this); // create new Keyer CWXForm = new CWX(this); // create CWX form CWXForm.stopButton_Click(null, null); EQForm = new EQForm(); XTRVForm = new XTRV(this); UpdateBandStackRegisters(); InitFilterPresets(ref filter_presets, ref filter_presets_subRX); // Initialize filter values SI570 = new ExtIO_si570_usb(this); RTL_SDR = new ExtIO_RTL(this); ir_remote = new WinLIRC(this); rx_image_real_table = new float[(int)Band.LAST + 1]; rx_image_imag_table = new float[(int)Band.LAST + 1]; tx_image_phase_table = new float[(int)Band.LAST + 1]; tx_image_gain_table = new float[(int)Band.LAST + 1]; rx_image_phase_table = new float[(int)Band.LAST + 1]; rx_image_gain_table = new float[(int)Band.LAST + 1]; SetupForm = new Setup(this); // create Setup form SetupForm.StartPosition = FormStartPosition.Manual; SetupForm.GetTxProfiles(); UpdateTXProfile(); WaveForm = new WaveControl(this); // create Wave form WaveForm.StartPosition = FormStartPosition.Manual; CurrentAGCMode = AGCMode.MED; // Initialize front panel controls vfob_dsp_mode = DSPMode.LSB; vfob_filter = Filter.F3; comboDisplayMode.Text = "Panafall"; comboMeterRXMode.SelectedIndex = 0; ptbPWR.Value = 10; CurrentDSPMode = DSPMode.CWU; CurrentDSPModeSubRX = DSPMode.CWU; old_dsp_mode = DSPMode.CWU; old_dsp_mode_subRX = DSPMode.CWU; Splash.SetStatus("Restore Console state..."); GetState(); // recall saved state if (current_dsp_mode == DSPMode.FIRST || current_dsp_mode == DSPMode.LAST) radModeLSB.Checked = true; if (current_dsp_mode_subRX == DSPMode.FIRST || current_dsp_mode == DSPMode.LAST) radSUBRxModeLSB.Checked = true; if (current_filter == Filter.FIRST || current_filter == Filter.LAST || (current_filter == Filter.NONE && current_dsp_mode != DSPMode.DRM && current_dsp_mode != DSPMode.SPEC)) radFilter3.Checked = true; if (current_filter_subRX == Filter.FIRST || current_filter_subRX == Filter.LAST || (current_filter_subRX == Filter.NONE && current_dsp_mode_subRX != DSPMode.DRM && current_dsp_mode_subRX != DSPMode.SPEC)) radSubRXFilter3.Checked = true; booting = false; EQForm.Init(); // set EQU parameter SetupForm.DSPBufferSize = 0; // force refresh VFOAFreq = vfoAFreq; VFOBFreq = vfoBFreq; LOSCFreq = loscFreq; PWR_ValueChanged(); udMIC_ValueChanged(this, EventArgs.Empty); tbRX0Gain_Scroll(this, EventArgs.Empty); tbRX1Gain_Scroll(this, EventArgs.Empty); tbPanMainRX_Scroll(this, EventArgs.Empty); tbPanSubRX_Scroll(this, EventArgs.Empty); ptbPanMainRX.Value = pan_main_rx; ptbPanSubRX.Value = pan_sub_rx; ptbDisplayZoom.Value = 4; CalcDisplayFreq(); wheel_tune_index--; // Setup wheel tuning wheel_tune_index_subRX--; ChangeWheelTuneLeft(); ChangeWheelTuneLeftSubRX(); SetupForm.initCATandPTTprops(); // wjt added -- get console props setup for cat and ptt if (comboMeterTXMode.Items.Count > 0 && comboMeterTXMode.SelectedIndex < 0) comboMeterTXMode.SelectedIndex = 0; chkMOX.Enabled = false; CheckSkins(); #if(DirectX) if (CurrentDisplayEngine == DisplayEngine.DIRECT_X) { CurrentDisplayEngine = current_display_engine; } #endif // yt7pwr if (!skins_enabled) { radDisplayZoom1x.BackColor = button_selected_color; radDisplayZoom2x.BackColor = SystemColors.Control; radDisplayZoom4x.BackColor = SystemColors.Control; radDisplayZoom8x.BackColor = SystemColors.Control; } else radDisplayZoom1x.Checked = true; Splash.SetStatus("Initializing Genesis radio communication"); // Set progress point g59.booting = false; g11.booting = false; g6.booting = false; net_device.booting = false; g59.si570_i2c_address = (int)SetupForm.udSi570_address.Value; g59.si570_fxtal = (int)SetupForm.udSi570_xtal1.Value; g59.HSDiv = (int)SetupForm.udSi570_divisor.Value; g11.si570_i2c_address = (int)SetupForm.udSi570_address.Value; g11.si570_fxtal = (int)SetupForm.udSi570_xtal1.Value; g11.HSDiv = (int)SetupForm.udSi570_divisor.Value; g6.si570_i2c_address = (int)SetupForm.udSi570_address.Value; g6.si570_fxtal = (int)SetupForm.udSi570_xtal1.Value; g6.HSDiv = (int)SetupForm.udSi570_divisor.Value; net_device.si570_i2c_address = (int)SetupForm.udSi570_address.Value; net_device.si570_fxtal = (int)SetupForm.udSi570_xtal1.Value; net_device.si570_div = (int)SetupForm.udSi570_divisor.Value; if (CurrentModel == Model.GENESIS_G59USB) { bool conn = false; g59.USB_Serial = SetupForm.USB_serial_No; conn = g59.Connect(); if (conn) { G59Init(); btnUSB.BackColor = Color.Green; } else { btnUSB.BackColor = Color.Red; } } else if (CurrentModel == Model.GENESIS_G11) { bool conn = false; g11.USB_Serial = SetupForm.USB_serial_No; conn = g11.Connect(); if (conn) { G11Init(); btnUSB.BackColor = Color.Green; } else { btnUSB.BackColor = Color.Red; } } else if (CurrentModel == Model.GENESIS_G6) { bool conn = false; g6.USB_Serial = SetupForm.USB_serial_No; conn = g6.Connect(); if (conn) { G11Init(); btnUSB.BackColor = Color.Green; } else { btnUSB.BackColor = Color.Red; } } else if (current_model == Model.QRP2000) { ReInit_USB(); } else if (current_model == Model.RTL_SDR) { bool result = RTL_SDR.InitUSB(); if (result) { btnUSB.Visible = true; btnUSB.BackColor = Color.Green; } else { btnUSB.BackColor = Color.Red; } } else if (SetupForm.chkGeneralUSBPresent.Checked) { bool result = SI570.Init_USB(); if (result) { btnUSB.Visible = true; btnUSB.BackColor = Color.Green; } else { btnUSB.BackColor = Color.Red; } } txtMemory_fill(); txtFMmemory_fill(); SetTXOscFreqs(false, false); btnG3020_X1.Text = G3020Xtal1.ToString(); btnG3020_X2.Text = G3020Xtal2.ToString(); btnG3020_X3.Text = G3020Xtal3.ToString(); btnG3020_X4.Text = G3020Xtal4.ToString(); btnG160_X1.Text = G160Xtal1.ToString(); btnG160_X2.Text = G160Xtal2.ToString(); btnG80_X1.Text = G80Xtal1.ToString(); btnG80_X2.Text = G80Xtal2.ToString(); btnG80_X3.Text = G80Xtal3.ToString(); btnG80_X4.Text = G80Xtal4.ToString(); btnG40_X1.Text = G40Xtal1.ToString(); btnG137_X1.Text = G137Xtal1.ToString(); btnG500_X1.Text = G500Xtal1.ToString(); txtVFOAMSD.Font = vfo_large_font; txtVFOBMSD.Font = vfo_large_font; txtLOSCMSD.Font = (vfo_large_font); txtVFOAFreq.Font = vfo_large_font; txtVFOBFreq.Font = vfo_large_font; txtLOSCFreq.Font = vfo_large_font; txtVFOALSD.Font = vfo_small_font; txtVFOBLSD.Font = vfo_small_font; txtLOSCLSD.Font = vfo_small_font; NewVFOLargeFont = new_vfo_large_font; // refresh NewVFOSmallFont = new_vfo_small_font; VFOLargeFont = vfo_large_font; VFOSmallFont = vfo_small_font; network_event = new AutoResetEvent(false); sMeterDigital2.MeterForeColor = vfo_text_dark_color; sMeterDigital1.MeterForeColor = vfo_text_dark_color; try { eventWatcher = new ManagementEventWatcher("root\\wmi", "SELECT * FROM MSNdis_StatusMediaDisconnect"); eventWatcher.EventArrived += new EventArrivedEventHandler(eventWatcher_EventArrived); eventWatcher.Start(); } catch (Exception ex) { //MessageBox.Show("Error starting Network watcher!\nCheck you network settings!\n" + //ex.ToString()); } if (current_model == Model.GENESIS_G59NET) NetworkThreadRunning = true; SetupForm.StartEthernetCATServer(); // try ethernet CAT SetupForm.StartEthernetCATClient(); SetupForm.StartMultiPSKServer(); InitSMeterModes(); if (File.Exists(SetupForm.txtLoopDll.Text + "\\loop.dll") && SetupForm.chkAudioEnableVAC.Checked && SetupForm.comboAudioInputVAC.Text == "loop.dll" && SetupForm.comboAudioOutputVAC.Text == "loop.dll") { loopDLL = new LoopDLL(this); Audio.loopDLL_enabled = true; } else Audio.loopDLL_enabled = false; chkVFOSplit.Enabled = false; switch (current_model) { case Model.GENESIS_G59NET: case Model.GENESIS_G59USB: if (SetupForm.chkG59RX2.Checked) lblRX2.BackColor = Color.Red; else lblRX2.BackColor = NewBackgroundVFOColor; break; case Model.GENESIS_G11: if (SetupForm.chkG11RX2.Checked) lblRX2.BackColor = Color.Red; else lblRX2.BackColor = NewBackgroundVFOColor; break; } EQForm.RestoreSettings(); band_button_height = radMoreBands.Height; band_button_width = radMoreBands.Width; AF_ValueChanged(); SetupForm.MultimeterCalOffset = multimeter_cal_offset; SetupForm.DisplayCalOffset = display_cal_offset; FilterUpdate(); PWR_ValueChanged(); if (radMoreBands.Checked) { radMoreBands_Click(this, EventArgs.Empty); } IR_Remote_enabled = ir_remote_enabled; // try WinLIRC SetTXOscFreqs(true, true); SetTXOscFreqs(false, true); SetupForm.ForceAllEvents(); }
public void btnCWX6_Click(object sender, EventArgs e) { if (btnCWX6.Checked && !cwx_playing && !TUN) { CWX_Playing = true; btnCWX1.Checked = false; btnCWX2.Checked = false; btnCWX3.Checked = false; btnCWX4.Checked = false; btnCWX5.Checked = false; btnCWX1.BackColor = SystemColors.Control; btnCWX2.BackColor = SystemColors.Control; btnCWX3.BackColor = SystemColors.Control; btnCWX4.BackColor = SystemColors.Control; btnCWX5.BackColor = SystemColors.Control; btnCWX6.BackColor = button_selected_color; if (CWXForm == null || CWXForm.IsDisposed) { CWXForm = new CWX(this); CWXForm.StartPosition = FormStartPosition.Manual; CWXForm.RestoreSettings(); } else CWXForm.setup_timer(); // kick timer! CWXForm.s6_Click(sender, e); } else { CWX_Playing = false; if (CWXForm != null || !CWXForm.IsDisposed) { CWXForm.stopButton_Click(sender, e); } CWXForm.stopButton_Click(sender, e); btnCWX6.BackColor = SystemColors.Control; } }
private void mnuCWX_Click(object sender, System.EventArgs e) { if (current_dsp_mode == DSPMode.LSB) CurrentDSPMode = DSPMode.CWL; else if (current_dsp_mode == DSPMode.USB) CurrentDSPMode = DSPMode.CWU; if (current_dsp_mode != DSPMode.CWL && current_dsp_mode != DSPMode.CWU) { MessageBox.Show("The radio must be in CWL or CWU mode in order to open the " + "CWX Control Form.", "CWX Error: Wrong Mode", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // cw_key_mode = true; if (CWXForm == null || CWXForm.IsDisposed) { CWXForm = new CWX(this); CWXForm.StartPosition = FormStartPosition.Manual; CWXForm.RestoreSettings(); Win32.SetWindowPos(CWXForm.Handle.ToInt32(), -1, this.Left, this.Top, CWXForm.Width, CWXForm.Height, 0); } btnCWX1.Checked = false; btnCWX2.Checked = false; btnCWX3.Checked = false; btnCWX4.Checked = false; btnCWX5.Checked = false; btnCWX6.Checked = false; CWXForm.stopButton_Click(null, null); CWXForm.Show(); CWXForm.Focus(); CWXForm.setup_timer(); // kick timer! yt7pwr }
private void udCWSpeed_ValueChanged(object sender, System.EventArgs e) { DttSP.SetKeyerSpeed((float)udCWSpeed.Value); ptbCWSpeed.Value = (int)udCWSpeed.Value; if ((current_model == Model.GENESIS_G59USB || current_model == Model.GENESIS_G11 || CurrentModel == Model.GENESIS_G59NET || current_model == Model.GENESIS_G6) && !booting) SetupForm.G59CWSpeed = (int)udCWSpeed.Value; if (CWXForm == null || CWXForm.IsDisposed) { CWXForm = new CWX(this); CWXForm.StartPosition = FormStartPosition.Manual; CWXForm.RestoreSettings(); } CWXForm.CWXWPM = (int)udCWSpeed.Value; if (EthCATIsActive) CAT_client_socket.ClientServerSync("ZZCS;"); // sync with server if (udCWSpeed.Focused) btnHidden.Focus(); }
private void mnuCWX_Click(object sender, System.EventArgs e) { if(rx1_dsp_mode == DSPMode.LSB) RX1DSPMode = DSPMode.CWL; else if(rx1_dsp_mode == DSPMode.USB) RX1DSPMode = DSPMode.CWU; if(rx1_dsp_mode != DSPMode.CWL && rx1_dsp_mode != DSPMode.CWU) { MessageBox.Show("The radio must be in CWL or CWU mode in order to open the "+ "CWX Control Form.", "CWX Error: Wrong Mode", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // cw_key_mode = true; if(CWXForm == null || CWXForm.IsDisposed) { CWXForm = new CWX(this); } CWXForm.Show(); CWXForm.Focus(); }
public void CATCallback(string type, int parm1, int[] parm2, string parm3) { switch (type) { case "Restore": if (this.WindowState == FormWindowState.Minimized) { this.WindowState = FormWindowState.Normal; this.BringToFront(); this.Show(); } else this.WindowState = FormWindowState.Minimized; break; case "AF": AF = parm1; break; case "AF_mute": chkMUT.Checked = !chkMUT.Checked; break; case "AF+": AF += 1; break; case "AF-": AF -= 1; break; case "RF": RF = parm1; break; case "MIC": CATMIC = parm1; break; case "CW Monitor": CATCWMonitor = parm1.ToString(); break; case "CW Speed": CATCWSpeed = parm1; break; case "CW Pitch": SetupForm.CATCWPitch = parm1; break; case "BreakIn Delay": BreakInDelay = parm1; break; case "BreakIn": if (parm1 == 1) BreakInEnabled = true; else BreakInEnabled = false; break; case "Show CW TXfreq": if (parm1 == 1) ShowCWTXFreq = true; else ShowCWTXFreq = false; break; case "Show TXfreq": if (parm1 == 1) ShowTXFilter = true; else ShowTXFilter = false; break; case "CW Iambic": if (parm1 == 1) CWIambic = true; else CWIambic = false; break; case "COMP": if (parm1 == 1) COMP = true; else COMP = false; break; case "COMP Threshold": SetupForm.CATCompThreshold = parm1; break; case "COMP level": parm1 = (int)Math.Min(udCOMP.Maximum, parm1); parm1 = (int)Math.Max(udCOMP.Minimum, parm1); udCOMP.Value = parm1; break; case "CMPD": CATCmpd = parm1; break; case "CPDR": CPDRVal = parm1; break; case "VOX": if (parm1 == 1) VOXEnable = true; else VOXEnable = false; break; case "VOX Gain": VOXSens = parm1; break; case "DSP Mode VFOA": CurrentDSPMode = (DSPMode)parm1; break; case "DSP Mode VFOB": CurrentDSPModeSubRX = (DSPMode)parm1; break; case "AGC mode": CurrentAGCMode = (AGCMode)parm1; break; case "Filter": CurrentFilter = (Filter)parm1; break; case "Filter Width": CATFilterWidth = parm1; break; case "Filter Shift": CATFilterShift = parm1; break; case "Filter Low": FilterLowValue = parm1; UpdateFilters(parm1, FilterHighValue); break; case "Filter High": FilterHighValue = parm1; UpdateFilters(FilterLowValue, parm1); break; case "Filter VFOB": CurrentFilter = (Filter)parm1; break; case "TXFilter High": SetupForm.TXFilterHigh = parm1; break; case "TXFilter Low": SetupForm.TXFilterLow = parm1; break; case "SQL VFOA": SquelchMainRX = parm1; break; case "SQL VFOA Enable": CATSquelch = parm1; break; case "SQL VFOB": SquelchSubRX = parm1; break; case "SQL VFOB Enable": CATSquelchSubRX = parm1; break; case "CWX Remote Msg": byte[] msg = new byte[parm2.Length]; for (int i = 0; i < msg.Length; i++) msg[i] = (byte)parm2[i]; CWXForm.RemoteMessage(msg); break; case "CWX Stop": CWX_Playing = false; break; case "CWX Start": if (CWXForm == null || CWXForm.IsDisposed) { try { CWXForm = new CWX(this); } catch (Exception ex) { Debug.Write(ex.ToString()); } } break; case "PWR": PWR = parm1; break; case "RIT Up": break; case "RIT Down": RITValue -= parm1; break; case "RIT Clear": RITValue = 0; break; case "RIT Enable": if (parm1 == 1) RITOn = true; else RITOn = false; break; case "RIT Value": RITValue = parm1; break; case "XIT Up": break; case "XIT Down": break; case "XIT Status": if (parm1 == 1) XITOn = true; else XITOn = false; break; case "XIT Value": XITValue = parm1; break; case "StepSize VFOA": StepSize = parm1; break; case "StepSize VFOA up": CATTuneStepUp = parm1.ToString(); break; case "StepSize VFOA down": CATTuneStepDown = parm1.ToString(); break; case "StepSize VFOB": StepSizeSubRX = parm1; break; case "VFOA down": VFOAFreq = vfoAFreq - Step2Freq(parm1); break; case "VFOA step down": VFOAFreq = vfoAFreq - wheel_tune_list[StepSize]; break; case "VFOA step up": VFOAFreq = vfoAFreq + wheel_tune_list[StepSize]; break; case "VFOA up": VFOAFreq = vfoAFreq + Step2Freq(parm1); break; case "VFOA freq": VFOAFreq = double.Parse(parm3) / 1e6; break; case "VFOB freq": VFOBFreq = double.Parse(parm3) / 1e6; break; case "VFOB down": VFOAFreq = vfoBFreq - Step2Freq(parm1); break; case "VFOB up": VFOAFreq = vfoBFreq + Step2Freq(parm1); break; case "VFO Lock": if (parm1 == 1) chkVFOLock.Checked = true; else chkVFOLock.Checked = false; break; case "VFO Swap": CATVFOSwap(parm1.ToString()); break; case "VFO mode": CATVFOMODE = parm1; break; case "BandGrp": CATBandGroup = parm1; break; case "BIN": CATBIN = parm1; break; case "DisplayAVG": CATDisplayAvg = parm1; break; case "Display Mode": //CurrentDisplayMode = (DisplayMode)parm1; comboDisplayMode.Text = "Panafall"; break; case "Display Peak": CATDispPeak = parm1.ToString(); break; case "Display Zoom": CATDispZoom = parm1.ToString(); break; case "DX": CATPhoneDX = parm1.ToString(); break; case "RX EQU": EQForm.RXEQ = parm2; break; case "RX EQU Enable": if (parm1 == 1) EQForm.RXEQEnabled = true; else EQForm.RXEQEnabled = false; break; case "TX EQU": EQForm.TXEQ = parm2; break; case "TX EQU Enable": if (parm1 == 1) EQForm.TXEQEnabled = true; else EQForm.TXEQEnabled = false; break; case "Power": if (parm1 == 1) chkPower.Checked = true; else chkPower.Checked = false; break; case "Power toggle": chkPower.Checked = !chkPower.Checked; break; case "Memory Recall": CATMemoryQR(); break; case "Memory Save": CATMemoryQS(); break; case "RTTY OffsetHigh": SetupForm.RttyOffsetHigh = parm1; break; case "RTTY OffsetLow": SetupForm.RttyOffsetLow = parm1; break; case "SUB RX Enable": if (parm1 == 1) EnableSubRX = true; else EnableSubRX = false; break; case "MOX": if (parm1 == 1) MOX = true; else MOX = false; break; case "RXOnly": if (parm1 == 1) SetupForm.RXOnly = true; else SetupForm.RXOnly = false; break; case "TUN Power": SetupForm.TunePower = parm1; break; case "TX Profile": CATTXProfile = parm1; break; case "TUN Enable": if (parm1 == 1) TUN = true; else TUN = false; break; case "VAC": if (parm1 == 1) SetupForm.VACEnable = true; else SetupForm.VACEnable = false; break; case "VAC RX gain": VACRXGain = parm1; break; case "VAC TX gain": VACTXGain = parm1; break; case "VAC SampleRate": VACSampleRate = parm1.ToString(); break; case "CAT Serial Destroy": Siolisten.SIO.run = false; Siolisten.SIO.rx_event.Set(); Siolisten.SIO.Destroy(); break; case "Band set": CurrentBand = (Band)parm1; break; case "Band up": int band = Math.Min((int)Band.LAST, (int)(current_band + 1)); CurrentBand = (Band)band; break; case "Band down": band = Math.Max((int)Band.FIRST, (int)(current_band - 1)); CurrentBand = (Band)band; break; case "Meter RXMode": CurrentMeterRXMode = (MeterRXMode)parm1; break; case "Meter TXMode": CurrentMeterTXMode = (MeterTXMode)parm1; break; case "AF preamp": if (parm1 == 1) AF_button = true; else AF_button = false; break; case "RF preamp": CATRFPreampStatus = parm1; break; case "ATT": if (parm1 == 1) ATT_button = true; else ATT_button = false; break; case "Noise Gate": if (parm1 == 1) NoiseGateEnabled = true; else NoiseGateEnabled = false; break; case "Noise Gate Level": NoiseGate = parm1; break; case "DSP Size": SetupForm.DSPBufferSize = parm1; break; case "MUT": if (parm1 == 1) MUT = true; else MUT = false; break; case "MON": if (parm1 == 1) MON = true; else MON = false; break; case "PAN Swap": //CATPanSwap = parm1.ToString(); break; case "SUB Rx": CATSubRX = parm1.ToString(); break; case "NB1": CATNB1 = parm1; break; case "NB1 Threshold": SetupForm.CATNB1Threshold = parm1; break; case "NB2": CATNB2 = parm1; break; case "NB2 Threshold": SetupForm.CATNB2Threshold = parm1; break; case "NR": CATNR = parm1; break; case "NR gain": CATNRgain = parm1; break; case "ANF": CATANF = parm1; break; case "ANF gain": CATNOTCHgain = parm1; break; case "NOTCH manual": CATNOTCHManual = parm1; break; case "NOTCH manual enable": CATNOTCHenable = parm1; break; case "RPT tone": if (parm1 == 1) CTCSS = true; else CTCSS = false; break; case "SPLIT": switch (parm1) { case 0: // SPLIT disable SplitAB_TX = false; break; case 1: // SPLIT enable SplitAB_TX = true; break; case 0x10: // cancel DUPLEX RPTRmode = RPTRmode.simplex; break; case 0x11: // DUP- RPTRmode = RPTRmode.low; break; case 0x12: // DUP+ RPTRmode = RPTRmode.high; break; } break; case "Memory up": if (MemoryNumber < 99) MemoryNumber++; else if (MemoryNumber == 99) MemoryNumber = 1; txtMemory_fill(); break; case "Memory down": if (MemoryNumber > 1) MemoryNumber--; else if (MemoryNumber == 1) MemoryNumber = 99; txtMemory_fill(); break; case "Memory recall": btnMemoryQuickRestore_Click(this, EventArgs.Empty); break; case "Memory store": btnMemoryQuickSave_Click(this, EventArgs.Empty); break; case "Memory clear": btnEraseMemory_Click(this, EventArgs.Empty); break; case "Restore VFOA": btnVFOA_Click(this, EventArgs.Empty); break; case "USB": if (parm1 == 1) btnUSB.BackColor = Color.Green; else btnUSB.BackColor = Color.Red; break; case "CLOSE": this.Close(); break; } }