Exemplo n.º 1
0
        private void Update(ElapsedEventArgs e)
        {
            if (testComplete)
            {
                Invalidate();
                return;
            }
            BalanceBoardState b = parent.wiiDevice.WiimoteState.BalanceBoardState;

            currentBalanceBoardX = b.CenterOfGravity.X;
            currentBalanceBoardY = b.CenterOfGravity.Y;
            // showCurrentPosition();

            if (!started)
            {
                Invalidate();
                return;
            }
            if (currentTime == new DateTime(0))
            {
                currentTime = e.SignalTime;
            }
            else
            {
                remainingTime -= e.SignalTime - currentTime;
                currentTime    = e.SignalTime;
                int secondsLeft = remainingTime.Seconds;
                if (remainingTime.Milliseconds > 0)
                {
                    secondsLeft += 1;
                }

                if (waitingToStart)
                {
                    Timer.Text = "Starting in " + secondsLeft + " Seconds";
                    if (remainingTime <= new TimeSpan(0))
                    {
                        waitingToStart = false;
                        remainingTime  = testTime;
                    }
                    Timer.Invalidate();
                }
                else
                {
                    Timer.Text = "Test Started.  Time Remaining: " + secondsLeft + " Seconds";
                    Timer.Invalidate();

                    if (remainingTime <= new TimeSpan(0))
                    {
                        Timer.Text              = "Test Complete";
                        waitingToStart          = false;
                        remainingTime           = testTime;
                        infoUpdateTimer.Enabled = false;
                        Save.Enabled            = true;
                        Done.Enabled            = true;
                        testComplete            = true;
                        trackBar1.SetRange(0, data.Count);
                        trackBar1.Value = data.Count;
                    }
                    else
                    {
                        collectDataPoint();
                    }
                }
            }
            this.Invalidate();
        }