示例#1
0
        /// <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;
            }
        }
示例#2
0
        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();
        }
示例#3
0
 /// <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;
 }