Пример #1
0
        /// <summary>
        /// 功能按钮,鼠标在控件上移动的事件,根据控件的Tag值,进行操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FuncBtn_MouseMove(object sender, MouseEventArgs e)
        {
            PictureBox pbx;
            int        tag;

            if (sender is PictureBox)
            {
                pbx = (sender as PictureBox);
                tag = int.Parse(pbx.Tag.ToString());

                switch (tag)
                {
                case 1: { pbx.Image = ImagesManage.GetImage("isolation", "start.gif"); break; }

                case 2: { pbx.Image = ImagesManage.GetImage("isolation", "carrier1.gif"); break; }

                case 3: { pbx.Image = ImagesManage.GetImage("isolation", "carrier2.gif"); break; }

                case 4: { pbx.Image = ImagesManage.GetImage("isolation", "freq.gif"); break; }

                case 5: { pbx.Image = ImagesManage.GetImage("isolation", "mark.gif"); break; }

                case 6: { pbx.Image = ImagesManage.GetImage("isolation", "autoscale.gif"); break; }

                case 7: { pbx.Image = ImagesManage.GetImage("isolation", "save.gif"); break; }

                case 8: { pbx.Image = ImagesManage.GetImage("isolation", "read.gif"); break; }

                case 9: { pbx.Image = ImagesManage.GetImage("isolation", "setting.gif"); break; }
                }
            }
        }
Пример #2
0
        private void HarActive()
        {
            if (frmHar == null)
            {
                frmHar = new HarForm();

                this.Controls.Add(frmHar);

                frmHar.Parent = this.pnlModule;
            }

            SetActiveModules(4);
            frmHar.pltHar.SetMarkText(frmHar.Sweep_MarkText);
            frmHar.pltHar.SetMarkText(frmHar.Fixed_MarkText);

            this.SuspendLayout();

            LoadInactiveImages();
            pbxHarmonic.Image = ImagesManage.GetImage("main", "harmonic.gif");

            frmHar.Show();

            HideInActiveModules();

            this.ResumeLayout(true);
        }
Пример #3
0
        private void IsolationActive()
        {
            if (frmIsolation == null)
            {
                frmIsolation = new IsolationForm();

                this.Controls.Add(frmIsolation);

                frmIsolation.Parent = this.pnlModule;
            }

            SetActiveModules(2);
            frmIsolation.pltIso.SetMarkText(frmIsolation.Sweep_MarkText);
            frmIsolation.pltIso.SetMarkText(frmIsolation.Fixed_MarkText);

            this.SuspendLayout();

            LoadInactiveImages();
            pbxIsolation.Image = ImagesManage.GetImage("main", "isolation.gif");

            frmIsolation.Show();

            HideInActiveModules();

            this.ResumeLayout(true);
        }
Пример #4
0
        private void HarForm_Load(object sender, EventArgs e)
        {
            pbxFreq.Image = ImagesManage.GetImage("harmonic", "freq.gif");

            pltHar.SetLimitEnalbe(true, this.settings.Limit, Color.FromArgb(160, 245, 255));

            UpdateWihtNewSettings();
        }
Пример #5
0
        private void IsolationForm_Load(object sender, EventArgs e)
        {
            sweep_params = new SweepParams();
            Prepare_Time_Sweep1(sweep_params);
            pbxFreq.Image = ImagesManage.GetImage("isolation", "freq.gif");

            pltIso.SetLimitEnalbe(true, this.settings.Limit, Color.FromArgb(160, 245, 255));

            UpdateWihtNewSettings();
        }
Пример #6
0
 /// <summary>
 /// 初始化,将全部功能按钮的贴图设置为不活动的
 /// </summary>
 private void LoadInactiveImages()
 {
     pbxPim.Image       = ImagesManage.GetImage("main", "pim_in.gif");
     pbxSpectrum.Image  = ImagesManage.GetImage("main", "spectrum_in.gif");
     pbxIsolation.Image = ImagesManage.GetImage("main", "isolation_in.gif");
     pbxVswr.Image      = ImagesManage.GetImage("main", "vswr_in.gif");
     pbxHarmonic.Image  = ImagesManage.GetImage("main", "harmonic_in.gif");
     pbxCnfg.Image      = ImagesManage.GetImage("main", "config_in.gif");
     pbxHelp.Image      = ImagesManage.GetImage("main", "lock_in.gif");
 }
Пример #7
0
        private void pbxFreq_MouseClick(object sender, MouseEventArgs e)
        {
            float f_value = 0.0f;

            if (!Sweeping)
            {
                sweep_or_time = SweepType.Time_Sweep;

                pbxCarrier1.Image = ImagesManage.GetImage("harmonic", "carrier1_in.gif");
                pbxCarrier2.Image = ImagesManage.GetImage("harmonic", "carrier2_in.gif");

                HarFreqForm fm = new HarFreqForm(this.settings.F);

                if (fm.ShowDialog() == DialogResult.OK)
                {
                    f_value = fm.Value;

                    if ((f_value >= App_Settings.sgn_1.Min_Freq) &&
                        (f_value <= App_Settings.sgn_1.Max_Freq))
                    {
                        settings.F = f_value;
                        lblF.Text  = "F:" + f_value.ToString("0.0") + "MHz";
                        float f = f_value * 2;
                        lblSweep.Text = "Carrier1 Time Sweep (" + f.ToString("0.#") + "MHz)";
                    }
                    else if ((f_value >= App_Settings.sgn_2.Min_Freq) &&
                             (f_value <= App_Settings.sgn_2.Max_Freq))
                    {
                        settings.F = f_value;
                        lblF.Text  = "F:" + f_value.ToString("0.0") + "MHz";
                        float f = f_value * 2;
                        lblSweep.Text = "Carrier2 Time Sweep (" + f.ToString("0.#") + "MHz)";
                    }
                    else
                    {
                        MessageBox.Show(this, "Frequency Must In [" +
                                        App_Settings.sgn_1.Min_Freq.ToString("0.0") + "~" +
                                        App_Settings.sgn_1.Max_Freq.ToString("0.0") + "]/[" +
                                        App_Settings.sgn_2.Min_Freq.ToString("0.0") + "~" +
                                        App_Settings.sgn_2.Max_Freq.ToString("0.0") + "]");
                    }
                }
                else
                {
                    float f = settings.F * 2;
                    lblSweep.Text = "Carrier2 Time Sweep (" + f.ToString("0.#") + "MHz)";
                }

                fm.Dispose();

                pltHar.SetXStartStop(0, this.settings.Time_Points);
            }
        }
Пример #8
0
        private void CnfgActive()
        {
            pbxCnfg.Image = ImagesManage.GetImage("main", "config.gif");

            if (frmConfig == null)
            {
                frmConfig = new Config();
                frmConfig.ShowDialog();
                frmConfig.Dispose();
                frmConfig = null;
            }
        }
Пример #9
0
        /// <summary>
        /// 将CSV格式的报表文件读入内存,进行回放操作
        /// </summary>
        /// <param name="csvFileName"></param>
        private void ReadIsoCsv(string csvFileName)
        {
            if (!csv_playbacking)
            {
                csv_playbacking = true;

                csv_points_playback = 0;

                pltIso.Clear();

                CsvReport.Read_Csv_IVH(csvFileName, out csv_entries_playback, out csv_header_playback);

                if ((csv_entries_playback != null) && (csv_header_playback != null))
                {
                    if (csv_header_playback.Swp_Type == SweepType.Time_Sweep)
                    {
                        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, csv_header_playback.Point_Num);
                    }
                    else
                    {
                        pltIso.SetMarkText(Sweep_MarkText);

                        if ((csv_header_playback.Sweep_Start >= App_Settings.sgn_1.Min_Freq) &&
                            (csv_header_playback.Sweep_Start <= App_Settings.sgn_1.Max_Freq))
                        {
                            pbxCarrier1.Image = ImagesManage.GetImage("isolation", "carrier1.gif");
                            pbxCarrier2.Image = ImagesManage.GetImage("isolation", "carrier2_in.gif");
                            pbxFreq.Image     = ImagesManage.GetImage("isolation", "freq_in.gif");
                        }
                        else
                        {
                            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(csv_header_playback.Sweep_Start, csv_header_playback.Sweep_Stop);
                    }

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

                //启动定时器
                timPlayback.Enabled = true;
            }
        }
Пример #10
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);
            }
        }
Пример #11
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);
            }
        }
Пример #12
0
 /// <summary>
 /// 检测可存储设备
 /// </summary>
 private void LoadItems()
 {
     foreach (DriveInfo drive in DriveInfo.GetDrives())
     {
         if (drive.DriveType == DriveType.Removable)
         {
             _usbSize = drive.AvailableFreeSpace;
             SendToolStripMenuItem.DropDownItems.Add(drive.Name);
             SendToolStripMenuItem.DropDownItemClicked += new ToolStripItemClickedEventHandler(SendToolStripMenuItem_DropDownItemClicked);
             foreach (ToolStripItem item in SendToolStripMenuItem.DropDownItems)
             {
                 item.Font  = new Font("宋体", 12F);
                 item.Image = ImagesManage.GetImage("resources", "usb.png");
             }
         }
     }
 }
Пример #13
0
        private void PimActive()
        {
            if (frmPim == null)
            {
                frmPim = new PimForm();
                this.Controls.Add(frmPim);
                frmPim.Parent = this.pnlModule;
            }

            SetActiveModules(0);
            frmPim.pltPim.SetMarkText(frmPim.PimMarkText);
            frmPim.pltPim.SetPeakText(frmPim.PimPeakText);
            this.SuspendLayout();

            LoadInactiveImages();
            pbxPim.Image = ImagesManage.GetImage("main", "pim.gif");

            frmPim.Show();

            HideInActiveModules();

            this.ResumeLayout(true);
        }
Пример #14
0
        private void VswrActive()
        {
            if (frmVswr == null)
            {
                frmVswr = new VswrForm();

                this.Controls.Add(frmVswr);

                frmVswr.Parent = this.pnlModule;
            }

            SetActiveModules(3);
            frmVswr.pltVswr.SetMarkText(frmVswr.VswrMarkText);
            this.SuspendLayout();

            LoadInactiveImages();
            pbxVswr.Image = ImagesManage.GetImage("main", "vswr.gif");

            frmVswr.Show();

            HideInActiveModules();

            this.ResumeLayout(true);
        }
Пример #15
0
        private void SpectrumActive()
        {
            if (frmSpectrum == null)
            {
                frmSpectrum = new SpectrumForm();
                this.Controls.Add(frmSpectrum);
                frmSpectrum.Parent = this.pnlModule;
            }

            SetActiveModules(1);
            frmSpectrum.plot.SetMarkText(frmSpectrum.MakeupMarkText);
            frmSpectrum.plot.SetPeakText(frmSpectrum.MakeupPeakText);

            this.SuspendLayout();

            LoadInactiveImages();
            pbxSpectrum.Image = ImagesManage.GetImage("main", "spectrum.gif");

            frmSpectrum.Show();

            HideInActiveModules();

            this.ResumeLayout(true);
        }
Пример #16
0
 private void YesNoCancel_Load(object sender, EventArgs e)
 {
     pbxYesNo.Image = ImagesManage.GetImage("ico", "warning.ico");
 }
Пример #17
0
        /// <summary>
        /// 功能按钮,鼠标移出的事件,根据控件的Tag值,进行操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FuncBtn_MouseLeave(object sender, EventArgs e)
        {
            PictureBox pbx;
            int        tag;

            if (sender is PictureBox)
            {
                pbx = (sender as PictureBox);
                tag = int.Parse(pbx.Tag.ToString());

                switch (tag)
                {
                case 1:
                {
                    if (!Sweeping)
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "start_in.gif");
                    }

                    break;
                }

                case 2:
                {
                    if ((sweep_or_time == SweepType.Freq_Sweep) && (rf_involved == RFInvolved.Rf_1))
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "carrier1.gif");
                    }
                    else
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "carrier1_in.gif");
                    }

                    break;
                }

                case 3:
                {
                    if ((sweep_or_time == SweepType.Freq_Sweep) && (rf_involved == RFInvolved.Rf_2))
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "carrier2.gif");
                    }
                    else
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "carrier2_in.gif");
                    }

                    break;
                }

                case 4:
                {
                    if (sweep_or_time == SweepType.Time_Sweep)
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "freq.gif");
                    }
                    else
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "freq_in.gif");
                    }
                    break;
                }

                case 5:
                {
                    if (!MarkVisible)
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "mark_in.gif");
                    }

                    break;
                }

                case 6:
                {
                    if (!AutoscaleEnable)
                    {
                        pbx.Image = ImagesManage.GetImage("isolation", "autoscale_in.gif");
                    }

                    break;
                }

                case 7: { pbx.Image = ImagesManage.GetImage("isolation", "save_in.gif"); break; }

                case 8: { pbx.Image = ImagesManage.GetImage("isolation", "read_in.gif"); break; }

                case 9: { pbx.Image = ImagesManage.GetImage("isolation", "setting_in.gif"); break; }
                }
            }
        }
Пример #18
0
        protected override void WndProc(ref Message m)
        {
            switch (m.Msg)
            {
            //完成一趟操作
            case MessageID.ISO_SWEEP_DONE:
            {
                Sweeping = false;

                pbxStart.Image = ImagesManage.GetImage("isolation", "start_in.gif");

                break;
            }

            //完成单点扫描
            case MessageID.ISO_SUCCED:
            {
                SweepProcessing();

                break;
            }

            //功放操作错误
            case MessageID.RF_ERROR:
            {
                SweepObj.CloneReference(ref ps1, ref ps2, ref sr, ref rfr_errors1, ref rfr_errors2);

                MessageBox.Show(this, rfr_errors1.ToString() + "\n\r" + rfr_errors2.ToString());

                BreakSweep(1000);

                break;
            }

            //频谱分析错误
            case MessageID.SPECTRUM_ERROR:
            {
                MessageBox.Show(this, "Spectrum analysis failed. It may be caused by the spectrum device does not connect or scanning failed!");

                BreakSweep(1000);

                break;
            }

            //频谱分析成功
            case MessageID.SPECTRUEME_SUCCED:
            {
                SweepObj.Spectrum_Succed();

                break;
            }

            //功放操作成功
            case MessageID.RF_SUCCED_ALL:
            {
                if (m.WParam.ToInt32() == App_Configure.Cnfgs.ComAddr1)
                {
                    SweepObj.Power1_Succed();
                }

                else if (m.WParam.ToInt32() == App_Configure.Cnfgs.ComAddr2)
                {
                    SweepObj.Power2_Succed();
                }

                break;
            }

            default:
            {
                base.WndProc(ref m);
                break;
            }
            }
        }
Пример #19
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();
                }
            }
        }
Пример #20
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            bool  running = false;
            Mutex mt      = new Mutex(true, "jcPimSoftware", out running);

            //获取程序执行路径
            string exePath = Application.StartupPath;

            //加载全局配置文件
            App_Configure.NewConfigure(exePath + "\\Configures.ini");
            App_Configure.Cnfgs.LoadSettings();

            //判断授权文件
            Code c = new Code();

            try
            {
                if (File.Exists(Code.strFilePath))
                {
                    if (!c.CheckFile(App_Configure.Cnfgs.SN.ToLower()))
                    {
                        running = false;
                        MessageBox.Show("授权日期已到!");
                    }
                }
                else
                {
                    running = false;
                    MessageBox.Show("请先生成授权文件!");
                }
            }
            catch
            {
                running = false;
                MessageBox.Show("授权文件缺失或错误,请重新生成授权文件!");
            }

            if (running)
            {
                sf = new StartForm("Initializing......\r\n");
                Thread t = new Thread(new ThreadStart(Show));
                t.IsBackground = true;
                t.Start();
                try
                {
                    //ygq
                    string s = Copy(Application.StartupPath + "\\settings", "D:\\settings");
                    //



                    #region 加载主配置文件,获取配置文件相对路径
                    //获取程序执行路径
                    //string exePath = Application.StartupPath;

                    //加载全局配置文件
                    //App_Configure.NewConfigure(exePath + "\\Configures.ini");
                    //App_Configure.Cnfgs.LoadSettings();


                    //获取配置文件夹路径
                    string setPath = App_Configure.Cnfgs.Path_Def;
                    #endregion

                    #region 建立功放补偿表格文件对象,并加载数据
                    //TX补偿文件
                    if (App_Configure.Cnfgs.Ms_switch_port_count <= 0)
                    {
                        //Tx_Tables.NewTables(exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_rev.ini",
                        //                    exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_disp_rev.ini"
                        //                  );


                        if (App_Configure.Cnfgs.Mode >= 2)
                        {
                            Tx_Tables.NewTables(exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_rev.ini",
                                                exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_disp_rev.ini",
                                                exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_rev2.ini",
                                                exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_disp_rev2.ini"
                                                );

                            Tx_Tables.LoadTables();

                            //RX补偿文件
                            string path1 = exePath + "\\" + setPath + "\\RX_Tables";
                            //string[] rx_tables_names = { path1 + "\\pim_rev.txt", path1 + "\\pim_frd.txt" };
                            string[] rx_tables_names = { path1 + "\\pim_rev.txt",  path1 + "\\pim_frd.txt",
                                                         path1 + "\\pim_rev2.txt", path1 + "\\pim_frd2.txt" };
                            Rx_Tables.NewTables(rx_tables_names);

                            Rx_Tables.LoadTables();
                        }

                        else
                        {
                            Tx_Tables.NewTables(exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_rev.ini",
                                                exePath + "\\" + setPath + "\\Tx_Tables\\signal_tx_disp_rev.ini"
                                                );

                            Tx_Tables.LoadTables2();

                            //RX补偿文件
                            string   path1           = exePath + "\\" + setPath + "\\RX_Tables";
                            string[] rx_tables_names = { path1 + "\\pim_rev.txt", path1 + "\\pim_frd.txt" };

                            Rx_Tables.NewTables(rx_tables_names);

                            Rx_Tables.LoadTables();
                        }
                    }
                    else
                    {
                        bool com_client = MsSwithc.ClientCom();
                        //mSwitch = new MotorSwitch();
                        //bool com_client = mSwitch.Connect("192.168.1.178", 4001);
                        if (com_client)
                        {
                            sf.GetInfoMation("Load switch successfully!");
                        }
                        else
                        {
                            sf.GetInfoMation("Load switch failed!");
                        }
                        offset = new Offset(App_Configure.Cnfgs.Ms_switch_port_count);
                        int a = int.Parse(IniFile.GetString("cnfgs", "xuhao", "0", exePath + "\\Configures.ini"));
                        offset.LoadingRX();
                        offset.LoadingTX();
                        offset.GetTX(a);
                        offset.GetRX(a);
                    }
                    //建立补偿系数文件对象,并加载文件
                    App_Factors.NewFactors(exePath + "\\" + setPath + "\\Offsets_Tx.ini",
                                           exePath + "\\" + setPath + "\\Offsets_Tx_Disp.ini",
                                           exePath + "\\" + setPath + "\\Offsets_Rx.ini");
                    App_Factors.LoadFactros();

                    #endregion

                    #region 建立频谱补偿表格文件对象,并加载数据
                    //频谱补偿文件
                    string   path2            = exePath + "\\" + setPath + "\\Spectrum_Tables";
                    string[] spc_tables_names = { path2 + "\\Ch1_4KHz.txt", path2 + "\\Ch1_20KHz.txt", path2 + "\\Ch1_100KHz.txt", path2 + "\\Ch1_1000KHz.txt",
                                                  path2 + "\\Ch2_4KHz.txt", path2 + "\\Ch2_20KHz.txt", path2 + "\\Ch2_100KHz.txt", path2 + "\\Ch2_1000KHz.txt" };

                    Spectrum_Tables.NewTables(spc_tables_names);
                    #endregion ;

                    #region 建立RLO校准文件对象,并加载数据
                    //string path4 = exePath + "\\" + setPath + "\\RL0_Tables";
                    //string[] rl0_tables_names = {path4 + "\\iso_tx1.txt", path4 + "\\iso_tx2.txt",
                    //                         path4 + "\\vsw_tx1.txt", path4 + "\\vsw_tx2.txt",
                    //                         path4 + "\\har_tx1.txt", path4 + "\\har_tx2.txt"};

                    //RL0_Tables.NewTables(rl0_tables_names);
                    //RL0_Tables.LoadTables();
                    #endregion

                    #region 建立默认模块配置信息对象,并加载数据
                    //默认模块配置文件
                    string   path3          = "D:\\" + setPath;
                    string[] settings_names = { path3 + "\\Settings_Sgn.ini", path3 + "\\Settings_Pim.ini",
                                                path3 + "\\Settings_Spc.ini",
                                                path3 + "\\Specifics.ini" };

                    App_Settings.NewSettings(settings_names);
                    App_Settings.LoadSettings();
                    #endregion

                    #region 加载皮肤资源
                    FileInfo f    = new FileInfo(exePath + "\\" + App_Configure.Cnfgs.Skin_pack_path);
                    string   name = f.Name.Substring(0, f.Name.LastIndexOf("."));
                    ImagesManage.LoadImageDLL(name);
                    #endregion

                    #region 加载语言包资源

                    #endregion


                    //建立报告文件夹结构
                    App_Configure.CreateReportFolder();

                    //建立用户配置文件夹结构
                    App_Configure.CreateUsrSettingFolder();

                    sf.GetInfoMation("Load default configuration successfully!");
                }
                catch
                {
                    sf.GetInfoMation("Load default configuration failed!");
                }
                NativeMessage.PostMessage(handel, MessageID.SF_WAIT, 0, 0);
                #region 建立程序主窗体
                frmMain = new MainForm();
                NativeMessage.PostMessage(handel, MessageID.SF_CONTINUTE, 0, 0);
                #endregion

                #region 建立射频功放层
                RFSignal.InitRFSignal(frmMain.Handle);
                bool flag      = false;
                int  adrr1     = App_Configure.Cnfgs.ComAddr1;
                int  adrr2     = App_Configure.Cnfgs.ComAddr2;
                int  rfClass   = App_Configure.Cnfgs.RFClass;
                int  rFFormula = App_Configure.Cnfgs.RFFormula;

                flag = RFSignal.NewRFSignal(adrr1, rfClass, rFFormula);
                if (flag)
                {
                    sf.GetInfoMation("Serial " + adrr1.ToString() + " initialized successfully!");
                    sf.status = sf.status & 1;
                }
                else
                {
                    sf.GetInfoMation("Serial " + adrr1.ToString() + " initialized failed!");
                    sf.status = sf.status & 0;
                }
                flag = RFSignal.NewRFSignal(adrr2, rfClass, rFFormula);

                if (flag)
                {
                    sf.GetInfoMation("Serial " + adrr2.ToString() + " initialized successfully!");
                    sf.status = sf.status & 1;
                }
                else
                {
                    sf.GetInfoMation("Serial " + adrr2.ToString() + " initialized failed!");
                    sf.status = sf.status & 0;
                }
                RFSignal.RFOff(adrr1, 2);
                RFSignal.RFOff(adrr2, 2);

                #endregion
                NativeMessage.PostMessage(handel, MessageID.SF_WAIT, 0, 0);
                #region WINIO、GPIO初始化操作

                flag = GPIO.InitWinIo();

                if (!flag)
                {
                    Thread.Sleep(300);
                    flag = GPIO.InitWinIo();
                }

                if (flag)
                {
                    sf.GetInfoMation("WINIO initialized successfully!");
                    sf.status = sf.status & 1;
                }
                else
                {
                    // Log.WriteLog("winIO初始化失败!", Log.EFunctionType.TestMode);
                    sf.GetInfoMation("WINIO initialized failed!");
                    sf.status = sf.status & 0;
                }
                sf.Complete = true;
                //GPIO.Narrowband();
                NativeMessage.PostMessage(handel, MessageID.SF_CONTINUTE, 0, 0);
                #endregion

                #region 判断Bird频谱仪状态

                if (App_Configure.Cnfgs.Spectrum == 1)
                {
                    FunTimeout                   tf           = new FunTimeout();
                    SpectrumLib.ISpectrum        ISpectrumObj = new SpectrumLib.Spectrums.BirdSh(handel, MessageID.SPECTRUEME_SUCCED, MessageID.SPECTRUM_ERROR);
                    SpectrumLib.Models.ScanModel model        = new SpectrumLib.Models.ScanModel();
                    sf.ISpectrumObj = ISpectrumObj;
                    if (ISpectrumObj.ConnectSpectrum() != 1)
                    {
                        GPIO.SetHigh();
                        Thread.Sleep(1000);
                        GPIO.SetLow();
                        ISpectrumObj.ResetStatus();
                        sf.GetInfoMation("Bird connect failed!");
                        Log.WriteLog("Bird connect failed!", Log.EFunctionType.SPECTRUM);
                    }
                    model.StartFreq = 900;
                    model.EndFreq   = 900.5;
                    model.Att       = 0;
                    model.Rbw       = 10 * 1000;
                    model.Vbw       = 3 * 1000;
                    model.Continued = false;
                    model.Unit      = SpectrumLib.Defines.CommonDef.EFreqUnit.MHz;

                    tf.obj = model;
                    tf.Do  = ISpectrumObj.StartAnalysis;
                    if (tf.DoWithTimeout(new TimeSpan(0, 0, 0, 1)))
                    {
                        GPIO.SetHigh();
                        Thread.Sleep(1000);
                        GPIO.SetLow();
                        ISpectrumObj.ResetStatus();
                        Log.WriteLog("Bird get data failed!", Log.EFunctionType.SPECTRUM);
                    }
                }

                #endregion

                #region 判断Deli频谱仪状态

                if (App_Configure.Cnfgs.Spectrum == 2)
                {
                    try
                    {
                        SpectrumLib.ISpectrum        ISpectrumObj = new SpectrumLib.Spectrums.Deli(handel, MessageID.SPECTRUEME_SUCCED, MessageID.SPECTRUM_ERROR);
                        SpectrumLib.Models.ScanModel model        = new SpectrumLib.Models.ScanModel();
                        sf.ISpectrumObj = ISpectrumObj;
                        if (ISpectrumObj.ConnectSpectrum() != 1)
                        {
                            ISpectrumObj.ResetStatus();
                            sf.GetInfoMation("Deli spectrum connect failed !");
                            Log.WriteLog("Deli spectrum connect failed!", Log.EFunctionType.SPECTRUM);
                        }
                        else
                        {
                            object o;
                            model.StartFreq         = App_Settings.pim.F1;
                            model.EndFreq           = model.StartFreq + 2 * App_Settings.pim.Scanband;
                            model.Unit              = SpectrumLib.Defines.CommonDef.EFreqUnit.MHz;
                            model.Att               = App_Settings.pim.Att_Spc;
                            model.Rbw               = App_Settings.pim.Rbw_Spc;
                            model.Vbw               = App_Settings.pim.Vbw_Spc;
                            model.Deli_averagecount = 6;
                            model.Deli_detector     = "AVERage";//检波方式
                            model.Deli_ref          = -50;
                            model.Deli_refoffset    = 0;
                            model.Deli_specing      = "LOGarithmic";
                            model.Deli_sweepmode    = "PERFormance"; //扫描模式
                            model.Deli_source       = "FREERUN";     //触发方式
                            model.Deli_scale        = 10;            //单位/格
                            model.Deli_startspe     = 0;             //频谱仪是否第一次启动
                            model.Deli_isSpectrum   = true;          //频谱模式

                            o = model;
                            if (!ISpectrumObj.Setting(o))
                            {
                                Thread.Sleep(1000);
                                ISpectrumObj.ResetStatus();
                                sf.GetInfoMation("Deli spectrum set failed !");
                                Log.WriteLog("Deli spectrum set failed!", Log.EFunctionType.SPECTRUM);
                            }
                        }
                    }
                    catch
                    {
                        sf.GetInfoMation("Deli spectrum connect failed !");
                        Log.WriteLog("Deli connect failed!", Log.EFunctionType.SPECTRUM);
                    }
                }
                #endregion

                #region 判断FanShuang收信机状态

                if (App_Configure.Cnfgs.Spectrum == SpectrumType.FanShuang)
                {
                    FunTimeout                   tf           = new FunTimeout();
                    SpectrumLib.ISpectrum        ISpectrumObj = new SpectrumLib.Spectrums.FanShuang(handel, MessageID.SPECTRUEME_SUCCED, MessageID.SPECTRUM_ERROR);
                    SpectrumLib.Models.ScanModel model        = new SpectrumLib.Models.ScanModel();
                    sf.ISpectrumObj = ISpectrumObj;
                    if (ISpectrumObj.ConnectSpectrum() != 1)
                    {
                        GPIO.SetHigh();
                        Thread.Sleep(1000);
                        GPIO.SetLow();
                        ISpectrumObj.ResetStatus();
                        sf.GetInfoMation("FanShaung connect failed!");
                        Log.WriteLog("FanShaung connect failed!", Log.EFunctionType.SPECTRUM);
                    }
                }

                #endregion

                mre.WaitOne();

                #region 启动程序

                Application.Run(frmMain);
                mt.ReleaseMutex();
            }
            else
            {
                Application.Exit();
            }
            #endregion

            #region 释放资源
            RFSignal.FinaRFSignal();
            #endregion
        }
Пример #21
0
 private void Error_Load(object sender, EventArgs e)
 {
     pbxError.Image = ImagesManage.GetImage("ico", "error.ico");
 }
Пример #22
0
 private void Demo_Load(object sender, EventArgs e)
 {
     picX.Image       = ImagesManage.GetImage("ico", "x.gif");
     this.txtBox.Text = _value;
     sb = new StringBuilder();
 }
Пример #23
0
 private void OkCancel_Load(object sender, EventArgs e)
 {
     pbxOkCancel.Image = ImagesManage.GetImage("ico", "info.ico");
 }
Пример #24
0
 private void YesNo_Load(object sender, EventArgs e)
 {
     picBox.Image = ImagesManage.GetImage("ico", "warning.ico");
 }