1 package org
.usfirst
.frc
.team3501
.robot
.commands
;
3 import org
.usfirst
.frc
.team3501
.robot
.Robot
;
5 import edu
.wpi
.first
.wpilibj
.command
.Command
;
7 public class MoveIntakeArmToLevel
extends Command
{
9 private double currentAngle
;
10 private double targetAngle
;
11 private double targetSpeed
;
12 private double SENSITIVITY_THRESHOLD
= 0.1;
14 public MoveIntakeArmToLevel(double level
, double speed
) {
15 requires(Robot
.intakeArm
);
16 targetAngle
= Robot
.intakeArm
.getAngleForLevel(targetAngle
);
22 protected void initialize() {
23 currentAngle
= Robot
.intakeArm
.getArmAngle();
24 double difference
= targetAngle
- currentAngle
;
26 Robot
.intakeArm
.setArmSpeed(targetSpeed
);
28 Robot
.intakeArm
.setArmSpeed(-targetSpeed
);
33 protected void execute() {
38 protected boolean isFinished() {
39 currentAngle
= Robot
.intakeArm
.getArmAngle();
40 double difference
= Math
.abs(targetAngle
- currentAngle
);
41 return (difference
<= SENSITIVITY_THRESHOLD
);
45 protected void end() {
46 Robot
.intakeArm
.stop();
50 protected void interrupted() {