Example #1
0
        public bool GetMarkerCount(CHANNEL channel,
                                   MEASUREMENT measurement,
                                   out int markerCount)
        {
            markerCount = -1;
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                markerCount = chMeasurement.Markers.Count;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #2
0
        public void CreateChannel(SPARAMS sp,
                                  CHANNEL channel,
                                  WINDOW window,
                                  MEASUREMENT measurement)
        {
            Tuple <CHANNEL, MEASUREMENT> t = new Tuple <CHANNEL, MEASUREMENT>(channel, measurement);

            if (m_measureChannelDic.ContainsKey(t) == true)
            {
                return;
            }

            driver.Channels.AddMeasurement("Standard", SparamName[(int)sp], (int)channel, (int)window);
            // Setup convineient pointers to Channels and Measurements
            agNAChannel[(int)channel - 1] = driver.Channels.get_Item(GetChannelName(channel));
            IAgNAMeasurement chMeasurement;

            if (measurement != MEASUREMENT.LIKE_CHANNEL)
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                m_measureChannelDic.Add(new Tuple <CHANNEL, MEASUREMENT>(channel, measurement), sp);
            }
            else
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                m_measureChannelDic.Add(new Tuple <CHANNEL, MEASUREMENT>(channel, (MEASUREMENT)channel), sp);
            }
        }
Example #3
0
        public void MeasureSparam(CHANNEL channel,
                                  out float[] data,
                                  out double[] freq,
                                  out int points,
                                  MEASUREMENT measurement,
                                  bool autoScale = true)
        {
            IAgNAMeasurement chMeasurement;

            if (measurement != MEASUREMENT.LIKE_CHANNEL)
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
            }
            else
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
            }

            agNAChannel[(int)channel - 1].TriggerSweep(2000); // Take sweep and wait up to 2 seconds for sweep to complete
            if (autoScale)
            {
                chMeasurement.Trace.AutoScale();
            }

            // Read and output data
            data   = chMeasurement.FetchFormatted();
            freq   = chMeasurement.FetchX();
            points = data.Length;
        }
Example #4
0
        public bool GetMarkerTargetValue(CHANNEL channel,
                                         MEASUREMENT measurement,
                                         MARKERS marker,
                                         out double targetValue,
                                         out string outMessage)
        {
            targetValue = 0;
            outMessage  = string.Empty;
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                targetValue = chMeasurement.Markers.Item[getMarker(marker)].TargetValue;
                return(true);
            }
            catch (Exception err)
            {
                outMessage = err.Message;
                return(false);
            }
        }
Example #5
0
        public bool MarkerQueryBandwidth(CHANNEL channel, MEASUREMENT measurement, MARKERS marker,
                                         ref double pBandWidthVal,
                                         ref double pCenterFreqVal,
                                         ref double pQVal,
                                         ref double pLossVal)
        {
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                chMeasurement.Markers.Item[getMarker(marker)].QueryBandwidth(ref pBandWidthVal, ref pCenterFreqVal, ref pQVal, ref pLossVal);


                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #6
0
        public bool GetMarkerStimulus(CHANNEL channel,
                                      MEASUREMENT measurement,
                                      MARKERS marker,
                                      out double stimulus)
        {
            stimulus = 0;
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                stimulus = chMeasurement.Markers.Item[getMarker(marker)].Stimulus;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #7
0
        public bool GetMarkerNames(CHANNEL channel,
                                   MEASUREMENT measurement,
                                   out string [] names,
                                   out string outMessage)
        {
            names      = null;
            outMessage = string.Empty;
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                int markerCount = chMeasurement.Markers.Count;
                names = new string[markerCount];
                for (int i = 0; i < markerCount; i++)
                {
                    names[i] = chMeasurement.Markers.Name[i];
                }
                return(true);
            }
            catch (Exception err)
            {
                outMessage = err.Message;
                return(false);
            }
        }
Example #8
0
        public AgNAMeasurementFormatEnum GetMeasureFormat(CHANNEL channel, MEASUREMENT measurement)
        {
            IAgNAMeasurement chMeasurement;

            if (measurement != MEASUREMENT.LIKE_CHANNEL)
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
            }
            else
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
            }
            return(chMeasurement.Format);
        }
Example #9
0
        public void AutoScale(CHANNEL channel, MEASUREMENT measurement)
        {
            IAgNAMeasurement chMeasurement;

            if (measurement != MEASUREMENT.LIKE_CHANNEL)
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
            }
            else
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
            }

            chMeasurement.Trace.AutoScale();
        }
Example #10
0
        public bool SetMarkerTrackEnabled(CHANNEL channel, MEASUREMENT measurement, MARKERS marker, bool te)
        {
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                chMeasurement.Markers.Item[getMarker(marker)].MarkerTrackEnabled = te;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #11
0
        public bool MarkerSearch(CHANNEL channel, MEASUREMENT measurement, MARKERS marker, AgNAMarkerSearchTypeEnum s)
        {
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                chMeasurement.Markers.Item[getMarker(marker)].Search(s);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #12
0
        public bool SetMarkerBandwidthThreshold(CHANNEL channel, MEASUREMENT measurement, MARKERS marker, double t)
        {
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                chMeasurement.Markers.Item[getMarker(marker)].BandwidthThreshold = t;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #13
0
        public bool FastCalibrate(CHANNEL channel, MEASUREMENT measurement)
        {
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                chMeasurement.DataToMemory();
                chMeasurement.TraceMath = AgNAMeasurementTraceMathEnum.AgNAMeasurementTraceMathDivided;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #14
0
        public bool GetMarkerPeakExcursion(CHANNEL channel, MEASUREMENT measurement, MARKERS marker, out double targetValue)
        {
            targetValue = 0;
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                targetValue = chMeasurement.Markers.Item[getMarker(marker)].PeakExcursion;
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #15
0
        public bool MarkerQueryValue(CHANNEL channel, MEASUREMENT measurement, MARKERS marker,
                                     ref double pRealVal, ref double pImagVal)
        {
            try
            {
                IAgNAMeasurement chMeasurement;
                if (measurement != MEASUREMENT.LIKE_CHANNEL)
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
                }
                else
                {
                    chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
                }

                chMeasurement.Markers.Item[getMarker(marker)].QueryValue(ref pRealVal, ref pImagVal);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #16
0
        public void SetMeasureFormat(AgNAMeasurementFormatEnum measureFormat, CHANNEL channel, MEASUREMENT measurement)
        {
            IAgNAMeasurement chMeasurement;

            if (measurement != MEASUREMENT.LIKE_CHANNEL)
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)measurement);
            }
            else
            {
                chMeasurement = agNAChannel[(int)channel - 1].Measurements.get_Item("Measurement" + (int)channel);
            }

            chMeasurement.Format = measureFormat;
        }
Example #17
0
        public SPARAMS GetMeasureSparams(CHANNEL channel, MEASUREMENT measurement)
        {
            Tuple <CHANNEL, MEASUREMENT> t = new Tuple <CHANNEL, MEASUREMENT>(channel, measurement);

            return(m_measureChannelDic[t]);
        }