示例#1
0
        // <summary>
        /// 根据exe_sweeps中的扫描参数,执行一系列动作
        /// 包括操作功放、频谱仪、检测并发送异常信息、发送扫描结果,获取设备状态
        /// </summary>
        private void Exectue()
        {
            Monitor.Enter(ctrl);
            ctrl.Quit = false;
            Monitor.Exit(ctrl);

            ISpectrumObj.EnableLog();

            try
            {
                //点频
                if (exe_params.SweepType == SweepType.Time_Sweep)
                {
                    if (exe_params.RFInvolved == RFInvolved.Rf_1)
                    {
                        VSWR_Time_Sweep_1(0.15f);
                    }

                    else if (exe_params.RFInvolved == RFInvolved.Rf_2)
                    {
                        VSWR_Time_Sweep_2(0.15f);
                    }
                }
                //扫频
                if (exe_params.SweepType == SweepType.Freq_Sweep)
                {
                    if (exe_params.RFInvolved == RFInvolved.Rf_1)
                    {
                        VSWR_Freq_Sweep_1(exe_params.FrqParam.Items1, 0.15f);
                    }
                    else if (exe_params.RFInvolved == RFInvolved.Rf_2)
                    {
                        VSWR_Freq_Sweep_2(exe_params.FrqParam.Items2, 0.15f);
                    }
                }
            }
            catch
            {
            }
            finally
            {
                //向WndHandle发送消息,告知完成上所有的分析
                NativeMessage.PostMessage(exe_params.WndHandle, MessageID.VSW_SWEEP_DONE, 0, 0);
            }

            //指示循环已经正常结束
            //thrd_Handle.Set();
        }