예제 #1
0
        public double MeasureFiberLength()
        {
            try
            {
                IniciaAquisicao();

                double fiberLength = 0;

                EventTableAnalyzer eventTable = new EventTableAnalyzer();

                _sig = _clsRemote.CurrentSignature;
<<<<<<< HEAD

                eventTable.BufferedEventTable.FiberParams.EndLossThresh = 3;
                eventTable.BufferedEventTable.FiberParams.Sensitivity = 0.003;
                //eventTable.BufferedEventTable.FiberEventTable.ComputeTable(_sig);
                eventTable.BufferedEventTable.Compute(_sig);
                eventTable.Analyze(_sig);

                if (eventTable.BufferedEventTable.FiberEventTable.Count > 1)
                {
                    IOTDRTrace trace = _sig.Trace;

                    double offset = trace.FPOffset * 100000000;
                    double pointSpacing = trace.PointSpacing * GetFiberCoef();
                    double totalFiberLength = eventTable.FiberLength.Value * GetFiberCoef();
                    double refFiberLength = eventTable.BufferedEventTable[0].Loc * GetFiberCoef();
                    fiberLength = totalFiberLength - refFiberLength;
                }

                return fiberLength;
            }
예제 #2
0
        public FrontPanelOTDR()
        {

            _clsRemote = new clsRemote();

            _sig = _clsRemote.CurrentSignature;

            _otdr = _clsRemote.otdr;

            _clsRemote.CloseAnalysis();

            FrontPanel = new clsFrontPanelUser().FrontPanel;
        }