public void txMeterModeChanged(MeterTXMode newMode)
 {
     m_meterTXMode = newMode;
 }
Пример #2
0
        private void comboMeterTXMode_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            MeterTXMode mode = MeterTXMode.FIRST;
            if(comboMeterTXMode.Items.Count == 0 ||
                comboMeterTXMode.SelectedIndex < 0)
            {
                //current_meter_tx_mode = MeterTXMode.FIRST;
            }
            else
            {
                switch(comboMeterTXMode.Text)
                {
                    case "Fwd Pwr":
                        mode = MeterTXMode.FORWARD_POWER;
                        break;
                    case "Ref Pwr":
                        mode = MeterTXMode.REVERSE_POWER;
                        break;
                    case "Mic":
                        mode = MeterTXMode.MIC;
                        break;
                    case "EQ":
                        mode = MeterTXMode.EQ;
                        break;
                    case "Leveler":
                        mode = MeterTXMode.LEVELER;
                        break;
                    case "Lev Gain":
                        mode = MeterTXMode.LVL_G;
                        break;
                    case "COMP":
                        mode = MeterTXMode.COMP;
                        break;
                    case "CPDR":
                        mode = MeterTXMode.CPDR;
                        break;
                    case "ALC":
                        mode = MeterTXMode.ALC;
                        break;
                    case "ALC Comp":
                        mode = MeterTXMode.ALC_G;
                        break;
                    case "SWR":
                        mode = MeterTXMode.SWR;
                        break;
                    case "Off":
                        mode = MeterTXMode.OFF;
                        break;
                }

                if(chkTUN.Checked)
                {
                    tune_meter_tx_mode = mode;
                    if(SetupForm != null) SetupForm.TuneMeterTXMode = mode;
                }
                current_meter_tx_mode = mode;
            }

            if(mox)
            {
                switch(mode)
                {
                    case MeterTXMode.FIRST:
                        lblMultiSMeter.Text = "";
                        break;
                    case MeterTXMode.MIC:
                    case MeterTXMode.EQ:
                    case MeterTXMode.LEVELER:
                    case MeterTXMode.COMP:
                    case MeterTXMode.CPDR:
                    case MeterTXMode.ALC:
                        lblMultiSMeter.Text = "-20    -10     -5      0   1   2   3";
                        break;
                    case MeterTXMode.FORWARD_POWER:
                    case MeterTXMode.REVERSE_POWER:
                        if(pa_present || (fwc_init && current_model == Model.FLEX5000))
                            lblMultiSMeter.Text = "1      5     10    50   100  120+";
                        else
                            lblMultiSMeter.Text = "0      0.1     0.2     0.5        1.0";
                        break;
                    case MeterTXMode.SWR:
                        lblMultiSMeter.Text = "1      1.5   2     3     5    10";
                        lblMultiSMeter.Text = "0             10              20";
                        break;
                    case MeterTXMode.OFF:
                        lblMultiSMeter.Text = "";
                        break;
                    case MeterTXMode.LVL_G:
                    case MeterTXMode.ALC_G:
                        lblMultiSMeter.Text = "0       5       10      15      20";
                        break;
                }
                ResetMultiMeterPeak();
            }

            picMultiMeterDigital.Invalidate();

            if(comboMeterTXMode.Focused)
                btnHidden.Focus();
        }
Пример #3
0
        private void comboMeterTXMode_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (comboMeterTXMode.Items.Count == 0 ||
                comboMeterTXMode.SelectedIndex < 0)
            {
                current_meter_tx_mode = MeterTXMode.FIRST;
            }
            else
            {
                MeterTXMode mode = MeterTXMode.FIRST;

                switch (comboMeterTXMode.Text)
                {
                    case "Fwd Pwr":
                        mode = MeterTXMode.FORWARD_POWER;
                        sMeterDigital2.PWR_SWR = MeterTXMode.FORWARD_POWER;
                        break;
                    case "Ref Pwr":
                        mode = MeterTXMode.REVERSE_POWER;
                        sMeterDigital2.PWR_SWR = MeterTXMode.REVERSE_POWER;
                        break;
                    case "Mic":
                        mode = MeterTXMode.MIC;
                        sMeterDigital2.PWR_SWR = MeterTXMode.MIC;
                        break;
                    case "EQ":
                        mode = MeterTXMode.EQ;
                        sMeterDigital2.PWR_SWR = MeterTXMode.EQ;
                        break;
                    case "Leveler":
                        mode = MeterTXMode.LEVELER;
                        sMeterDigital2.PWR_SWR = MeterTXMode.LEVELER;
                        break;
                    case "Lev Gain":
                        mode = MeterTXMode.LVL_G;
                        sMeterDigital2.PWR_SWR = MeterTXMode.LVL_G;
                        break;
                    case "COMP":
                        mode = MeterTXMode.COMP;
                        sMeterDigital2.PWR_SWR = MeterTXMode.COMP;
                        break;
                    case "CPDR":
                        mode = MeterTXMode.CPDR;
                        sMeterDigital2.PWR_SWR = MeterTXMode.CPDR;
                        break;
                    case "ALC":
                        mode = MeterTXMode.ALC;
                        sMeterDigital2.PWR_SWR = MeterTXMode.ALC;
                        break;
                    case "ALC Comp":
                        mode = MeterTXMode.ALC_G;
                        sMeterDigital2.PWR_SWR = MeterTXMode.ALC_G;
                        break;
                    case "SWR":
                        mode = MeterTXMode.SWR;
                        sMeterDigital2.PWR_SWR = MeterTXMode.SWR;
                        break;
                    case "Off":
                        mode = MeterTXMode.OFF;
                        sMeterDigital2.PWR_SWR = MeterTXMode.OFF;
                        break;
                }

                current_meter_tx_mode = mode;

                if (SetupForm != null)
                    SetupForm.comboSMeterTXMode.Text = comboMeterTXMode.Text;
            }

            if (chkMOX.Checked)
            {
                switch (current_meter_tx_mode)
                {
                    case MeterTXMode.FIRST:
                        lblMultiSMeter.Text = "";
                        break;
                    case MeterTXMode.MIC:
                    case MeterTXMode.EQ:
                    case MeterTXMode.LEVELER:
                    case MeterTXMode.COMP:
                    case MeterTXMode.CPDR:
                    case MeterTXMode.ALC:
                        lblMultiSMeter.Text = "-20    -10     -5      0   1   2   3";
                        break;
                    case MeterTXMode.FORWARD_POWER:
                    case MeterTXMode.REVERSE_POWER:
                        lblMultiSMeter.Text = "0      1     2     5       10      15";
                        break;
                    case MeterTXMode.SWR:
                        lblMultiSMeter.Text = "1      1.5   2     3     5    10";
                        lblMultiSMeter.Text = "0             10              20";
                        break;
                    case MeterTXMode.OFF:
                        lblMultiSMeter.Text = "";
                        break;
                    case MeterTXMode.LVL_G:
                    case MeterTXMode.ALC_G:
                        lblMultiSMeter.Text = "0       5       10      15      20";
                        break;
                }
                ResetMultiMeterPeak();
            }

            picMultiMeterDigital.Invalidate();

            if (comboMeterTXMode.Focused)
                btnHidden.Focus();
        }
Пример #4
0
        private void chkTUN_CheckedChanged(object sender, System.EventArgs e)
        {
            if(chkTUN.Checked)
            //			if(!tuning && chkPower.Checked)
            {
                if(!chkPower.Checked)
                {
                    MessageBox.Show("Power must be on to turn on the Tune function.",
                        "Power is off",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Hand);
                    chkTUN.Checked = false;
                    return;
                }

                tuning = true;

                chkTUN.BackColor = button_selected_color;

                if(current_meter_tx_mode != tune_meter_tx_mode)
                {
                    old_tune_meter_tx_mode = current_meter_tx_mode;
                    CurrentMeterTXMode = tune_meter_tx_mode;
                    comboMeterTXMode_SelectedIndexChanged(this, EventArgs.Empty);
                }

                switch(rx1_dsp_mode)
                {
                    case DSPMode.USB:
                    case DSPMode.CWU:
                    case DSPMode.DIGU:
                        Audio.SineFreq1 = cw_pitch;
                        DttSP.SetTXFilter(1, cw_pitch-100, cw_pitch+100);
                        Audio.TXInputSignal = Audio.SignalSource.SINE;
                        Audio.SourceScale = 1.0;
                        break;
                    case DSPMode.LSB:
                    case DSPMode.CWL:
                    case DSPMode.DIGL:
                        Audio.SineFreq1 = cw_pitch;
                        DttSP.SetTXFilter(1, -cw_pitch-100, -cw_pitch+100);
                        Audio.TXInputSignal = Audio.SignalSource.SINE;
                        Audio.SourceScale = 1.0;
                        break;
                    case DSPMode.DSB:
                        Audio.SineFreq1 = cw_pitch;
                        DttSP.SetTXFilter(1, cw_pitch-100, cw_pitch+100);
                        Audio.TXInputSignal = Audio.SignalSource.SINE;
                        Audio.SourceScale = 1.0;
                        break;
                    case DSPMode.AM:
                    case DSPMode.SAM:
                    case DSPMode.FMN:
                        Audio.SineFreq1 = cw_pitch;
                        DttSP.SetTXFilter(1, cw_pitch-100, cw_pitch+100);
                        Audio.TXInputSignal = Audio.SignalSource.SINE;
                        Audio.SourceScale = 1.0;
                        break;
                }

                DttSP.SetMode(1, 0, DSPMode.DIGU);

                PreviousPWR = (int)udPWR.Value;
                if(!xvtr_tune_power || current_xvtr_index < 0)
                {
                    if(rx1_dsp_mode == DSPMode.FMN)
                        udPWR.Value = (int)(tune_power*0.4);
                    else udPWR.Value = tune_power;
                }

                if(!chkVFOSplit.Checked)
                {
                    txtVFOAFreq_LostFocus(this, EventArgs.Empty);
                }
                else
                {
                    if(!chkRX2.Checked)
                        txtVFOBFreq_LostFocus(this, EventArgs.Empty);
                    else
                        txtVFOABand_LostFocus(this, EventArgs.Empty);
                }

                chkMOX.Checked = true;
                if(!mox)
                {
                    chkTUN.Checked = false;
                    return;
                }
                current_ptt_mode = PTTMode.MANUAL;

                switch(rx1_dsp_mode)
                {
                    case DSPMode.CWL:
                    case DSPMode.CWU:
                        Audio.CurrentAudioState1 = Audio.AudioState.DTTSP;
                        Audio.RX1DSPMode = DSPMode.DIGU;
                        break;
                }

                if(atu_present && tx_band != Band.B2M &&
                    (ATUTuneMode)comboTuneMode.SelectedIndex != ATUTuneMode.BYPASS)
                {
                    chkTUN.Enabled = false;
                    comboTuneMode.Enabled = false;

                    Thread t = new Thread(new ThreadStart(Tune));
                    t.IsBackground = true;
                    t.Priority = ThreadPriority.Normal;
                    t.Name = "TUN Thread";
                    t.Start();
                }
                return;
            }
            else
            {
                Audio.TXInputSignal = Audio.SignalSource.RADIO;

                chkMOX.Checked = false;
                chkTUN.BackColor = SystemColors.Control;
                tuning = false;

                if(!chkVFOSplit.Checked)
                {
                    txtVFOAFreq_LostFocus(this, EventArgs.Empty);
                }
                else
                {
                    if(!chkRX2.Checked)
                        txtVFOBFreq_LostFocus(this, EventArgs.Empty);
                    else
                        txtVFOABand_LostFocus(this, EventArgs.Empty);
                }

                if(!(atu_present && tx_band != Band.B2M &&
                    (ATUTuneMode)comboTuneMode.SelectedIndex != ATUTuneMode.BYPASS))
                {
                    if(current_xvtr_index >= 0 && xvtr_tune_power)
                    {
                        // do not do anything
                    }
                    else
                    {
                        if(rx1_dsp_mode == DSPMode.FMN)
                            TunePower = (int)((int)udPWR.Value*2.5);
                        else TunePower = (int)udPWR.Value;
                    }
                }
                udPWR.Value = PreviousPWR;
                DttSP.SetMode(1, 0, rx1_dsp_mode);
                switch(rx1_dsp_mode)
                {
                    case DSPMode.AM:
                    case DSPMode.SAM:
                    case DSPMode.FMN:
                        Audio.SineFreq1 = cw_pitch;
                        break;
                    case DSPMode.CWL:
                    case DSPMode.CWU:
                        Audio.RX1DSPMode = rx1_dsp_mode;
                        break;
                }
                DttSP.SetTXFilter(1, radio.GetDSPTX(0).TXFilterLow, radio.GetDSPTX(0).TXFilterHigh);

                if(tune_meter_tx_mode != old_tune_meter_tx_mode)
                    CurrentMeterTXMode = old_tune_meter_tx_mode;
            }
        }