fill MoveIntakeArm command
authorShivani Oghanta <shivani.oghanta@gmail.com>
Sun, 7 Feb 2016 00:20:20 +0000 (16:20 -0800)
committerCindy Zhang <cindyzyx9@gmail.com>
Sat, 13 Feb 2016 19:52:19 +0000 (11:52 -0800)
src/org/usfirst/frc/team3501/robot/commands/MoveIntakeArm.java

index 7dbabcb4d0e6a79d913a64e6e955cbc68e7de981..b9362b700b53a07843e0f47ca43c8e63d50f5605 100755 (executable)
@@ -5,30 +5,49 @@ import org.usfirst.frc.team3501.robot.Robot;
 import edu.wpi.first.wpilibj.command.Command;
 
 public class MoveIntakeArm extends Command {
+       private double targetAngle;
+       private double currentAngle;
+       private double targetSpeed;
+       private double SENSITIVITY_THRESHOLD = 0.1;
+       private double NO_MOVEMENT_SPEED = 0;
 
-       public MoveIntakeArm() {
+       public MoveIntakeArm(double angle, double speed) {
                requires(Robot.intakeArm);
+               targetAngle = angle;
+               targetSpeed = speed;
        }
 
        @Override
        protected void initialize() {
-               Robot.intakeArm.getArmAngle();
+               currentAngle = Robot.intakeArm.getArmAngle();
+               double difference = targetAngle - currentAngle;
+               if (difference > 0) {
+                       Robot.intakeArm.setArmVoltage(targetSpeed);
+               } else {
+                       Robot.intakeArm.setArmVoltage(-targetSpeed);
+               }
        }
 
        @Override
        protected void execute() {
-               if (Robot.intakeArm.getArmVoltage() == 1) {
 
-               }
        }
 
        @Override
        protected boolean isFinished() {
-               return false;
+               currentAngle = Robot.intakeArm.getArmAngle();
+               double distance = Math.abs(currentAngle - targetAngle);
+               if (distance <= SENSITIVITY_THRESHOLD) {
+                       return true;
+               } else {
+                       return false;
+               }
+
        }
 
        @Override
        protected void end() {
+               Robot.intakeArm.setArmVoltage(NO_MOVEMENT_SPEED);
        }
 
        @Override