/// <summary> /// closes and rises the grappler if its on the ground /// </summary> private static void RiseGrappler() { // no need to check more, because the pressure sensor // stops either way if (GrapplerPosition == GrapplerPosition.Down) { GrapplerRiserMotor.ResetTacho(); GrapplerRiserMotor.SetSpeed(Constants.GRAPPLER_RISER_SPEED); while (Math.Abs(GrapplerRiserMotor.GetTachoCount()) < Constants.GRAPPLER_RISER_TACHO_BOUNDARY) { } GrapplerRiserMotor.Brake(); GrapplerPosition = GrapplerPosition.Up; } }
public static void PushObjectInFrontToLeft() { Rotate( RotationMode.TimerMode, Constants.ROTATION_SPEED_FORWARD, Constants.ROTATION_SPEED_BACKWARD); GrapplerRiserMotor.Off(); GrapplerPosition = GrapplerPosition.Down; Thread.Sleep(1000); Rotate( RotationMode.TimerMode, Constants.ROTATION_SPEED_BACKWARD, Constants.ROTATION_SPEED_FORWARD); RiseGrappler(); }
/// <summary> /// halts the two motors that are responsible for rising/lowering /// and turning the grappler /// </summary> public static void TurnOffGrappler() { GrapplerRiserMotor.Off(); GrapplerWheelMotor.Off(); GrapplerPosition = GrapplerPosition.Down; }