Beispiel #1
0
 /// <summary>Starts taking measurements and fires MeasurementComplete when a new measurement is available.</summary>
 public void StartTakingMeasurements()
 {
     if (timer != null)
     {
         timer.Dispose(); IsRunning = false;
     }
     this.Behavior = TimerBehaviors.RunContinuously;
     StartTimer();
     IsRunning = true;
 }
Beispiel #2
0
        /// <summary>Obtains a single measurement and raises the event when complete.</summary>
        public void RequestSingleMeasurement()
        {
            if (this.Behavior == TimerBehaviors.RunContinuously && this.IsTakingMeasurements)
            {
                throw new InvalidOperationException("You cannot request a single measurement while continuous measurements are being taken.");
            }

            this.Behavior = TimerBehaviors.RunOnce;
            StartTimer();
            IsRunning = true;
            autoEvent.WaitOne();
            this.timer.Dispose();
            IsRunning = false;
        }