예제 #1
0
        private void DoSetHeading(int newHeadingDegrees)
        {
            var headingChange = newHeadingDegrees - _currentHeading;

            while (headingChange >= 360)
            {
                headingChange -= 360;
            }
            while (headingChange < 0)
            {
                headingChange += 360;
            }

            if (headingChange < 15.0 || headingChange > 345.0)
            {
                return;
            }

            _currentHeading = newHeadingDegrees;

            SpheroTrace.Trace("Heading to {0})", headingChange);
            var command = new SetHeadingCommand(headingChange);

            SendCommand(command);
        }
예제 #2
0
        private void DoSetHeading(int newHeadingDegrees)
        {
            var headingChange = newHeadingDegrees - _currentHeading;

            while (headingChange >= 360)
                headingChange -= 360;
            while (headingChange < 0)
                headingChange += 360;

            if (headingChange < 15.0 || headingChange > 345.0)
                return;

            _currentHeading = newHeadingDegrees;

            SpheroTrace.Trace("Heading to {0})", headingChange);
            var command = new SetHeadingCommand(headingChange);
            SendCommand(command);
        }