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 MoveIntakeArmToHeight
extends Command
{
8 private double targetHeight
;
9 private double currentHeight
;
10 private double targetSpeed
;
11 private double SENSITIVITY_THRESHOLD
= 0.1;
12 private double NO_MOVEMENT_SPEED
= 0;
14 public MoveIntakeArmToHeight(double height
, double speed
) {
15 requires(Robot
.intakeArm
);
16 targetHeight
= height
;
21 protected void initialize() {
22 currentHeight
= Robot
.intakeArm
.getArmHeight();
23 double difference
= targetHeight
- currentHeight
;
25 Robot
.intakeArm
.setArmVoltage(targetSpeed
);
27 Robot
.intakeArm
.setArmVoltage(-targetSpeed
);
32 protected void execute() {
37 protected boolean isFinished() {
38 currentHeight
= Robot
.intakeArm
.getArmHeight();
39 double distance
= Math
.abs(currentHeight
- targetHeight
);
40 if (distance
<= SENSITIVITY_THRESHOLD
) {
49 protected void end() {
50 Robot
.intakeArm
.setArmVoltage(NO_MOVEMENT_SPEED
);
54 protected void interrupted() {