From b2d340ccaf26feb89b89a2caa9bcc5d3e29ca530 Mon Sep 17 00:00:00 2001 From: Shivani Oghanta Date: Sat, 6 Feb 2016 16:20:20 -0800 Subject: [PATCH] fill MoveIntakeArm command --- .../robot/commands/MoveIntakeArm.java | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) 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 -- 2.30.2