package org.usfirst.frc.team3501.robot.commands;
-import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.Constants;
-import edu.wpi.first.wpilibj.command.Command;
+import edu.wpi.first.wpilibj.command.CommandGroup;
-public class MoveIntakeArmToBallIntakeHeight extends Command {
- private double targetHeight;
- private double currentHeight;
- private double targetSpeed;
- private double SENSITIVITY_THRESHOLD = 0.1;
- private double NO_MOVEMENT_SPEED = 0;
+public class MoveIntakeArmToBallIntakeHeight extends CommandGroup {
+ private static final double SPEED = 0.6;
- public MoveIntakeArmToBallIntakeHeight(double height, double speed) {
- requires(Robot.intakeArm);
- targetHeight = height;
- targetSpeed = speed;
- }
-
- @Override
- protected void initialize() {
- currentHeight = Robot.intakeArm.getArmHeight();
- double difference = targetHeight - currentHeight;
- if (difference > 0) {
- Robot.intakeArm.setArmVoltage(targetSpeed);
- } else {
- Robot.intakeArm.setArmVoltage(-targetSpeed);
- }
- }
-
- @Override
- protected void execute() {
-
- }
-
- @Override
- protected boolean isFinished() {
- currentHeight = Robot.intakeArm.getArmHeight();
- double distance = Math.abs(currentHeight - targetHeight);
- if (distance <= SENSITIVITY_THRESHOLD) {
- return true;
- } else {
- return false;
- }
-
- }
-
- @Override
- protected void end() {
- Robot.intakeArm.setArmVoltage(NO_MOVEMENT_SPEED);
- }
-
- @Override
- protected void interrupted() {
+ public MoveIntakeArmToBallIntakeHeight() {
+ addSequential(new MoveIntakeArmToHeight(Constants.IntakeArm.BALL_INTAKE_HEIGHT, SPEED));
}
}
--- /dev/null
+package org.usfirst.frc.team3501.robot.commands;
+
+import org.usfirst.frc.team3501.robot.Robot;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+public class MoveIntakeArmToHeight extends Command {
+ private double targetHeight;
+ private double currentHeight;
+ private double targetSpeed;
+ private double SENSITIVITY_THRESHOLD = 0.1;
+ private double NO_MOVEMENT_SPEED = 0;
+
+ public MoveIntakeArmToHeight(double height, double speed) {
+ requires(Robot.intakeArm);
+ targetHeight = height;
+ targetSpeed = speed;
+ }
+
+ @Override
+ protected void initialize() {
+ currentHeight = Robot.intakeArm.getArmHeight();
+ double difference = targetHeight - currentHeight;
+ if (difference > 0) {
+ Robot.intakeArm.setArmVoltage(targetSpeed);
+ } else {
+ Robot.intakeArm.setArmVoltage(-targetSpeed);
+ }
+ }
+
+ @Override
+ protected void execute() {
+
+ }
+
+ @Override
+ protected boolean isFinished() {
+ currentHeight = Robot.intakeArm.getArmHeight();
+ double distance = Math.abs(currentHeight - targetHeight);
+ if (distance <= SENSITIVITY_THRESHOLD) {
+ return true;
+ } else {
+ return false;
+ }
+
+ }
+
+ @Override
+ protected void end() {
+ Robot.intakeArm.setArmVoltage(NO_MOVEMENT_SPEED);
+ }
+
+ @Override
+ protected void interrupted() {
+ }
+}