From: Shivani Oghanta Date: Sun, 7 Feb 2016 00:20:20 +0000 (-0800) Subject: fill MoveIntakeArm command X-Git-Url: http://challenge-bot.com/repos/?a=commitdiff_plain;h=b2d340ccaf26feb89b89a2caa9bcc5d3e29ca530;hp=f81370d3185d07cf82e32b8aa49ea62d5f5fbd4d;p=3501%2Fstronghold-2016 fill MoveIntakeArm command --- diff --git a/src/org/usfirst/frc/team3501/robot/commands/MoveIntakeArm.java b/src/org/usfirst/frc/team3501/robot/commands/MoveIntakeArm.java index 7dbabcb4..b9362b70 100755 --- a/src/org/usfirst/frc/team3501/robot/commands/MoveIntakeArm.java +++ b/src/org/usfirst/frc/team3501/robot/commands/MoveIntakeArm.java @@ -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