CSharpRoboticsLib.Drive.Interfaces.GyroscopeDriveExtensions.TurnToAngle C# (CSharp) Method

TurnToAngle() public static method

Turns the robot to an absolute angle using a SimplePID
public static TurnToAngle ( this d, IMotionController controller, double angle, double tolerance, bool brake, double interval = 0.02 ) : void
d this
controller IMotionController
angle double
tolerance double
brake bool
interval double
return void
        public static void TurnToAngle(this IGyroscopeDrive d, IMotionController controller, double angle, double tolerance, bool brake, double interval = 0.02)
        {
            controller.SetPoint = angle;

            while (Math.Abs(d.Gyroscope.GetAngle() - angle) > tolerance)
            {
                double power = controller.Get(d.Gyroscope.GetAngle());
                d.SetPowers(power, -power);
                AccurateWaitSeconds(interval);
            }

            if(brake)
               d.SetPowers(0, 0);
        }

Same methods

GyroscopeDriveExtensions::TurnToAngle ( this d, double power, double angle, bool brake, double interval = 0.02 ) : void