/// <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; } }
/// <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; } }
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); } }
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); } }
/// <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; }
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); }
/// <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); }
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); }
/// <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(); }
/// <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(); } } }