コード例 #1
0
        private List <SignalPath> GetAllSignalPathData()
        {
            var signalPaths = new List <SignalPath>();

            Log.log.Info("Start The Calibration.");

            VNA.SetMarkerActive();
            VNA.SetMarkerX(Matrix.Frequency * 1000000);
            //关闭Vertex所有通道,后面用哪个打开哪个
            foreach (var v in Vertexs)
            {
                v.CloseAllChannel(v.APortNum, v.BPortNum);
            }
            //for (int c = 1; c <= vertex.BPortNum; c++)
            //{
            for (int b = 1; b <= Matrix.BPortConnectNum; b++)
            {
                //下行
                var vertexID  = (b - 1) / Vertexs[0].APortConnectNum;
                var inPortID  = (b - 1) % Vertexs[0].APortConnectNum + 1;
                var outPortID = 1;

                Vertexs[vertexID].OpenChannel(inPortID, outPortID, UpDown.DOWN);

                if (Log.log.IsInfoEnabled)
                {
                    Log.log.InfoFormat("第{0}台Vertex响应。打开通道{1}{2},方向{3}。", vertexID, inPortID, outPortID, UpDown.DOWN);
                }

                for (int a = 1; a <= Matrix.APortConnectNum; a++)
                {
                    var calBoxAPortID = a;
                    var calBoxBPortID = ((b - 1) / Vertexs[0].APortConnectNum) * Vertexs[0].BPortConnectNum + 1;
                    SwitchAdapter.DoSwitch(calBoxAPortID, calBoxBPortID);
                    //_calBoxToMatrix.Set64B16Switch(calBoxAPortID, calBoxBPortID, 1, 1);
                    //_calBoxToMatrix.SetSwitch(calBoxAPortID);
                    //_calBoxToVertex.SetSwitch(calBoxBPortID);
                    if (Log.log.IsInfoEnabled)
                    {
                        Log.log.InfoFormat("衰减校准阶段切开关 {0}{1} OK。", calBoxAPortID, calBoxBPortID);
                    }

                    var signalPath = new SignalPath(SwitchAdapter.CalBoxData, Matrix.PhaseStepShiftDirection)
                    {
                        APortID     = a,
                        BPortID     = b,
                        CPortID     = 1,
                        Attenuation = VNA.GetMarkerY(VNA.AttMarkPoint),
                    };
                    signalPaths.Add(signalPath);
                }
                Vertexs[vertexID].CloseChannel(inPortID, outPortID, UpDown.DOWN);

                if (Log.log.IsInfoEnabled)
                {
                    Log.log.InfoFormat("第{0}台Vertex响应。关闭通道{1}{2},方向{3}。", vertexID, inPortID, outPortID, UpDown.DOWN);
                }
            }
            return(signalPaths);
        }