Exemple #1
0
 /// <summary>
 /// Start taking measurements the next full minute. Wait till then.
 /// </summary>
 public void MeasureNextMin()
 {
     if (state == State.Idle)
     {
         serial.SetNumberOfMeasurements(NR_OFF_MEASUREMENTS);
         state = State.Measure;
         DateTime startTime = DateTime.UtcNow;
         startTime = startTime.AddMinutes(1);
         TimeSpan seconds = new TimeSpan(0, 0, startTime.Second);
         startTime = startTime.Subtract(seconds);
         SerialCommunication.FinishMeasurementCallback cb = FinishedMeasurementCallback;
         StartCoroutine(serial.AsyncMeasure(cb, startTime));
     }
 }
Exemple #2
0
        /// <summary>
        /// Coroutine for actual measure process.
        /// </summary>
        private IEnumerator MeasureCoroutine()
        {
            // Wait for countdown time to prepare measurement.
            float startTime = Time.time + _countdown;

            while (Time.time < startTime)
            {
                float countdowon = startTime - Time.time;
                Debug.Log("Seconds till Start: " + countdowon);
                yield return(null);
            }

            // Actually start the measurement process.
            serial.SetNumberOfMeasurements(NR_OFF_MEASUREMENTS);
            state = State.Measure;
            SerialCommunication.FinishMeasurementCallback cb = FinishedMeasurementCallback;
            StartCoroutine(serial.AsyncMeasure(cb));
        }