예제 #1
0
            public double[] ReadMultiPoint(Ivi.Driver.PrecisionTimeSpan maximumTime)
            {
                int TriggerCount = Adapter.GetAttributeViInt32(IviDmmAttribute.IVIDMM_ATTR_TRIGGER_COUNT);
                int SampleCount  = Adapter.GetAttributeViInt32(IviDmmAttribute.IVIDMM_ATTR_SAMPLE_COUNT);

                return(ReadMultiPoint(maximumTime, TriggerCount * SampleCount));
            }
예제 #2
0
            public double Read(Ivi.Driver.PrecisionTimeSpan maximumTime)
            {
                double reading = double.NaN;

                Adapter.ViSessionStatusCheck(IviDmmInterop.Read(Adapter.Session, (int)maximumTime.TotalMilliseconds, ref reading));
                return(reading);
            }
예제 #3
0
            public double ReadChannel(string channelName, Ivi.Driver.PrecisionTimeSpan maxTime)
            {
                double result = double.NaN;

                Adapter.ViSessionStatusCheck(IviPwrMeterInterop.ReadChannel(Adapter.Session, channelName, (int)maxTime.TotalMilliseconds, ref result));
                return(result);
            }
예제 #4
0
            public double[] ReadMultiPoint(Ivi.Driver.PrecisionTimeSpan maximumTime, int numberOfMeasurements)
            {
                IntPtr pMeasure  = Marshal.AllocHGlobal(numberOfMeasurements * sizeof(double));
                int    actualPts = 0;

                Adapter.ViSessionStatusCheck(IviDmmInterop.ReadMultiPoint(Adapter.Session, (int)maximumTime.TotalMilliseconds, numberOfMeasurements, pMeasure, ref actualPts));
                double[] reading = new double[actualPts];
                Marshal.Copy(pMeasure, reading, 0, actualPts);
                Marshal.FreeHGlobal(pMeasure);
                return(reading);
            }
예제 #5
0
 public void Configure(int triggerCount, int sampleCount, string sampleTrigger, Ivi.Driver.PrecisionTimeSpan sampleInterval)
 {
     Adapter.ViSessionStatusCheck(IviDmmInterop.ConfigureMultiPoint(Adapter.Session, triggerCount, sampleCount, DmmTriggerSource.getC_Value(sampleTrigger), SampleInterval.TotalSeconds));
 }
예제 #6
0
 public void Configure(string triggerSource, Ivi.Driver.PrecisionTimeSpan triggerDelay)
 {
     Adapter.ViSessionStatusCheck(IviDmmInterop.ConfigureTrigger(Adapter.Session, DmmTriggerSource.getC_Value(triggerSource), triggerDelay.TotalSeconds));
 }