Esempio n. 1
0
        /// <summary>
        /// 停止功放测试
        /// </summary>
        /// <param name="Num">功放编号</param>
        private void StopRF(RFInvolved Num)
        {
            if (Num == RFInvolved.Rf_1)
            {
                RF_Set(exe_params.DevInfo.RF_Addr1,
                       exe_params.RFPriority,
                       exe_params.TmeParam.P1, exe_params.TmeParam.F1,
                       false, false, false, false);

                numericUpDownFreq1.Enabled = true;
                numericUpDownRF1.Enabled   = true;

                btnRF1_On.Enabled  = true;
                btnRF1_Off.Enabled = false;
            }
            else
            {
                RF_Set(exe_params.DevInfo.RF_Addr2,
                       exe_params.RFPriority,
                       exe_params.TmeParam.P2, exe_params.TmeParam.F2,
                       false, false, false, false);

                numericUpDownFreq2.Enabled = true;
                numericUpDownRF2.Enabled   = true;

                btnRF2_On.Enabled  = true;
                btnRF2_Off.Enabled = false;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 获取校准频率列表
 /// </summary>
 /// <param name="RF_Num">功放编号</param>
 private void GetCalFreqList(RFInvolved RF_Num)
 {
     jcPimSoftware.VswrForm.CalibrationObj CalObj = new VswrForm.CalibrationObj();
     if (RF_Num == RFInvolved.Rf_1)
     {
         List <RL0_TableItem> listCAL = RL0_Tables.Items(FuncModule.VSW, RFInvolved.Rf_1);
         for (int i = 0; i < listCAL.Count; i++)
         {
             CalObj.Freq = listCAL[i].F;
             CalObj.RL0  = listCAL[i].RL;
             listCurrentCAL_1.Add(CalObj);
         }
         progressBar1.Maximum = listCurrentCAL_1.Count;
         progressBar1.Step    = 1;
     }
     if (RF_Num == RFInvolved.Rf_2)
     {
         List <RL0_TableItem> listCAL = RL0_Tables.Items(FuncModule.VSW, RFInvolved.Rf_2);
         for (int i = 0; i < listCAL.Count; i++)
         {
             CalObj.Freq = listCAL[i].F;
             CalObj.RL0  = listCAL[i].RL;
             listCurrentCAL_2.Add(CalObj);
         }
         progressBar1.Maximum = listCurrentCAL_2.Count;
         progressBar1.Step    = 1;
     }
 }
Esempio n. 3
0
        private void pbxCarrier2_MouseClick(object sender, MouseEventArgs e)
        {
            if (!Sweeping)
            {
                rf_involved       = RFInvolved.Rf_2;
                sweep_or_time     = SweepType.Freq_Sweep;
                pbxCarrier1.Image = ImagesManage.GetImage("isolation", "carrier1_in.gif");
                pbxFreq.Image     = ImagesManage.GetImage("isolation", "freq_in.gif");
                lblSweep.Text     = "Carrier2 Frequncy Sweep";

                pltIso.SetXStartStop(App_Settings.sgn_2.Min_Freq, App_Settings.sgn_2.Max_Freq);
            }
        }
Esempio n. 4
0
        private void pbxCarrier1_MouseClick(object sender, MouseEventArgs e)
        {
            if (!Sweeping)
            {
                rf_involved       = RFInvolved.Rf_1;
                sweep_or_time     = SweepType.Freq_Sweep;
                pbxCarrier2.Image = ImagesManage.GetImage("harmonic", "carrier2_in.gif");
                pbxFreq.Image     = ImagesManage.GetImage("harmonic", "freq_in.gif");
                lblSweep.Text     = "Carrier1 Frequncy Sweep";

                pltHar.SetXStartStop(App_Settings.sgn_1.Min_Freq * settings.Multiplier, App_Settings.sgn_1.Max_Freq * settings.Multiplier);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 初始化扫描参数,仅填入公共部分
        /// </summary>
        /// <param name="p"></param>
        /// <param name="wndh"></param>
        /// <param name="rf"></param>
        /// <param name="count"></param>
        private void Init_Sweep_Params(SweepParams p, IntPtr wndh, RFInvolved rf, int count)
        {
            p.C         = count;
            p.WndHandle = wndh;

            p.DevInfo          = new DeviceInfo();
            p.DevInfo.RF_Addr1 = App_Configure.Cnfgs.ComAddr1;
            p.DevInfo.RF_Addr2 = App_Configure.Cnfgs.ComAddr2;
            p.DevInfo.Spectrum = App_Configure.Cnfgs.Spectrum;
            p.RFInvolved       = rf;

            p.SpeParam           = new SpectrumLib.Models.ScanModel();
            p.SpeParam.Att       = settings.Att_Spc;
            p.SpeParam.Rbw       = settings.Rbw_Spc;
            p.SpeParam.Unit      = SpectrumLib.Defines.CommonDef.EFreqUnit.MHz;
            p.SpeParam.Continued = false;
            p.SpeParam.DeliSpe   = SpectrumLib.Defines.CommonDef.SpectrumType.Deli_ISOLATION;
        }
Esempio n. 6
0
        internal bool Do_CAL(RFInvolved rf_involved)
        {
            bool power_too_large = false;

            this.rf_involved = rf_involved;

            if ((SweepObj != null) || (settings != null))
            {
                if (!Sweeping)
                {
                    power_too_large = StartSweep();
                }
                else
                {
                    SweepObj.StopSweep(1000);
                }
            }

            return(power_too_large);
        }
Esempio n. 7
0
        /// <summary>
        /// 功放自动校准辅助列表
        /// </summary>
        public static Auto_CAL_Items Cal_Carrier(FuncModule module, RFInvolved rfid)
        {
            Auto_CAL_Items result = null;

            if (module == FuncModule.ISO)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[0].Cal_Carrier;
                }
                else
                {
                    result = tables[1].Cal_Carrier;
                }
            }
            else if (module == FuncModule.VSW)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[2].Cal_Carrier;
                }
                else
                {
                    result = tables[3].Cal_Carrier;
                }
            }

            else if (module == FuncModule.HAR)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[4].Cal_Carrier;
                }
                else
                {
                    result = tables[5].Cal_Carrier;
                }
            }

            return(result);
        }
Esempio n. 8
0
        public static List <RL0_TableItem> Items(FuncModule module, RFInvolved rfid)
        {
            List <RL0_TableItem> result = null;

            if (module == FuncModule.ISO)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[0].RL0_Items;
                }
                else
                {
                    result = tables[1].RL0_Items;
                }
            }
            else if (module == FuncModule.VSW)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[2].RL0_Items;
                }
                else
                {
                    result = tables[3].RL0_Items;
                }
            }

            else if (module == FuncModule.HAR)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[4].RL0_Items;
                }
                else
                {
                    result = tables[5].RL0_Items;
                }
            }

            return(result);
        }
Esempio n. 9
0
        /// <summary>
        /// 启动自动校准
        /// </summary>
        /// <param name="RF_Num">功放编号</param>
        private void AutoCAL(RFInvolved RF_Num)
        {
            SweepParams sp = new SweepParams();

            sp.WndHandle = this.Handle;
            sp.SweepType = SweepType.Freq_Sweep;
            sp.FrqParam  = new FreqSweepParam();

            if (RF_Num == RFInvolved.Rf_1)
            {
                sp.RFInvolved      = RFInvolved.Rf_1;
                sp.FrqParam.P1     = this.settings.Tx;
                sp.FrqParam.Items1 = GetItemList(listCurrentCAL_1);
            }
            if (RF_Num == RFInvolved.Rf_2)
            {
                sp.RFInvolved      = RFInvolved.Rf_2;
                sp.FrqParam.P2     = this.settings.Tx;
                sp.FrqParam.Items2 = GetItemList(listCurrentCAL_2);
            }

            //设备参数
            sp.DevInfo          = new DeviceInfo();
            sp.DevInfo.RF_Addr1 = App_Configure.Cnfgs.ComAddr1;
            sp.DevInfo.RF_Addr2 = App_Configure.Cnfgs.ComAddr2;
            sp.DevInfo.Spectrum = App_Configure.Cnfgs.Spectrum;
            sp.C = 1;

            //频谱参数
            sp.SpeParam           = new SpectrumLib.Models.ScanModel();
            sp.SpeParam.Att       = this.settings.Att_Spc;
            sp.SpeParam.Rbw       = this.settings.Rbw_Spc;
            sp.SpeParam.Unit      = SpectrumLib.Defines.CommonDef.EFreqUnit.MHz;
            sp.SpeParam.Continued = false;
            sp.SpeParam.DeliSpe   = SpectrumLib.Defines.CommonDef.SpectrumType.Deli_VSWR;

            SweepObj.InitSweep();
            SweepObj.Prepare(sp);
            SweepObj.StartSweep();
        }
Esempio n. 10
0
        /// <summary>
        /// 使用扫描参数对象,启动隔离度分析
        /// </summary>
        /// <param name="sweepParams"></param>
        private void StartSweep()
        {
            bool power_too_large = false;

            if ((!Sweeping) && (!csv_playbacking))
            {
                Sweeping            = true;
                MarkVisible         = false;
                AutoscaleEnable     = false;
                PointsDone          = 0;
                csv_points_playback = 0;

                pbxStart.Image     = ImagesManage.GetImage("isolation", "start.gif");
                pbxMark.Image      = ImagesManage.GetImage("isolation", "mark_in.gif");
                pbxAutoscale.Image = ImagesManage.GetImage("isolation", "autoscale_in.gif");

                pltIso.Clear();

                pltIso.SetYStartStop(this.settings.Min_Iso, this.settings.Max_Iso);

                sweep_params = new SweepParams();

                //准备扫描参数,并启动扫描
                if (sweep_or_time == SweepType.Freq_Sweep)
                {
                    pltIso.SetMarkText(Sweep_MarkText);

                    if (rf_involved == RFInvolved.Rf_1)
                    {
                        pbxCarrier1.Image = ImagesManage.GetImage("isolation", "carrier1.gif");
                        pbxCarrier2.Image = ImagesManage.GetImage("isolation", "carrier2_in.gif");
                        pbxFreq.Image     = ImagesManage.GetImage("isolation", "freq_in.gif");

                        if (!IsoSettingForm.bEnableCAL_RF1)
                        {
                            MessageBox.Show(this, "Please calibrate carrier 1!");
                            pbxStart.Image = ImagesManage.GetImage("isolation", "start_in.gif");
                            Sweeping       = false;
                            return;
                        }

                        pltIso.SetXStartStop(App_Settings.sgn_1.Min_Freq, App_Settings.sgn_1.Max_Freq);

                        if (this.settings.Tx > App_Settings.sgn_1.Max_Power || this.settings.Tx < App_Settings.sgn_1.Min_Power)
                        {
                            power_too_large = true;
                        }

                        Prepare_Freq_Sweep1(sweep_params);

                        //for (int i = 0; i < sweep_params.FrqParam.Items1.Length; i++)
                        //if (sweep_params.FrqParam.Items1[i].P1 > App_Settings.sgn_1.Max_Power)
                        //{
                        //    power_too_large = true;
                        //    break;
                        //}
                    }
                    else
                    {
                        if (!IsoSettingForm.bEnableCAL_RF2)
                        {
                            MessageBox.Show(this, "Please calibrate carrier 2!");
                            pbxStart.Image = ImagesManage.GetImage("isolation", "start_in.gif");
                            Sweeping       = false;
                            return;
                        }

                        pbxCarrier2.Image = ImagesManage.GetImage("isolation", "carrier2.gif");
                        pbxCarrier1.Image = ImagesManage.GetImage("isolation", "carrier1_in.gif");
                        pbxFreq.Image     = ImagesManage.GetImage("isolation", "freq_in.gif");
                        pltIso.SetXStartStop(App_Settings.sgn_2.Min_Freq, App_Settings.sgn_2.Max_Freq);

                        if (this.settings.Tx > App_Settings.sgn_2.Max_Power || this.settings.Tx < App_Settings.sgn_2.Min_Power)
                        {
                            power_too_large = true;
                        }

                        Prepare_Freq_Sweep2(sweep_params);

                        //for (int i = 0; i < sweep_params.FrqParam.Items2.Length; i++)
                        //if (sweep_params.FrqParam.Items2[i].P2 > App_Settings.sgn_2.Max_Power)
                        //{
                        //    power_too_large = true;
                        //    break;
                        //}
                    }
                }
                else
                {
                    pltIso.SetMarkText(Fixed_MarkText);

                    pbxFreq.Image     = ImagesManage.GetImage("isolation", "freq.gif");
                    pbxCarrier1.Image = ImagesManage.GetImage("isolation", "carrier1_in.gif");
                    pbxCarrier2.Image = ImagesManage.GetImage("isolation", "carrier2_in.gif");

                    //pltIso.SetXStartStop(0, (this.settings.Time_Points - 1));
                    pltIso.SetXStartStop(0, (this.settings.Time_Points));

                    if ((this.settings.F >= App_Settings.sgn_1.Min_Freq) &&
                        (this.settings.F <= App_Settings.sgn_1.Max_Freq))
                    {
                        if (!IsoSettingForm.bEnableCAL_RF1)
                        {
                            MessageBox.Show(this, "Please calibrate carrier 1!");
                            pbxStart.Image = ImagesManage.GetImage("isolation", "start_in.gif");
                            Sweeping       = false;
                            return;
                        }

                        rf_involved = RFInvolved.Rf_1;
                    }
                    else
                    {
                        if (!IsoSettingForm.bEnableCAL_RF2)
                        {
                            MessageBox.Show(this, "Please calibrate carrier 2!");
                            pbxStart.Image = ImagesManage.GetImage("isolation", "start_in.gif");
                            Sweeping       = false;
                            return;
                        }

                        rf_involved = RFInvolved.Rf_2;
                    }

                    if (rf_involved == RFInvolved.Rf_1)
                    {
                        if (this.settings.Tx > App_Settings.sgn_1.Max_Power || this.settings.Tx < App_Settings.sgn_1.Min_Power)
                        {
                            power_too_large = true;
                        }

                        Prepare_Time_Sweep1(sweep_params);

                        //if (sweep_params.TmeParam.P1 > App_Settings.sgn_1.Max_Power)
                        //    power_too_large = true;
                    }
                    else
                    {
                        if (this.settings.Tx > App_Settings.sgn_2.Max_Power || this.settings.Tx < App_Settings.sgn_2.Min_Power)
                        {
                            power_too_large = true;
                        }

                        Prepare_Time_Sweep2(sweep_params);

                        //if (sweep_params.TmeParam.P2 > App_Settings.sgn_2.Max_Power)
                        //    power_too_large = true;
                    }
                }

                if (power_too_large)
                {
                    Sweeping = false;

                    MessageBox.Show(this, "The carrier power setup is out of its range!");
                }
                else
                {
                    SweepObj.InitSweep();

                    SweepObj.Prepare(sweep_params);

                    SweepObj.StartSweep();
                }
            }
        }