47e464c9f7b34ecdbd53e7e15948c9287abd9a47
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / climber / ToggleWinch.java
1 package org.usfirst.frc.team3501.robot.commands.climber;
2
3 import org.usfirst.frc.team3501.robot.Robot;
4 import org.usfirst.frc.team3501.robot.subsystems.Climber;
5
6 import edu.wpi.first.wpilibj.command.Command;
7
8 public class ToggleWinch extends Command {
9 Climber climber = Robot.getClimber();
10 private double climbingSpeed;
11
12 public ToggleWinch() {
13 requires(climber);
14 climbingSpeed = climber.CLIMBER_SPEED;
15 }
16
17 @Override
18 protected void initialize() {
19 }
20
21 @Override
22 protected void execute() {
23 if (climber.shouldBeClimbing) {
24 climber.setCANTalonsBrakeMode(climber.COAST_MODE);
25 climber.setMotorValues(climbingSpeed);
26 } else {
27 climber.setCANTalonsBrakeMode(climber.BRAKE_MODE);
28 end();
29 }
30 }
31
32 @Override
33 protected boolean isFinished() {
34 return false;
35 }
36
37 @Override
38 protected void end() {
39 climber.shouldBeClimbing = !climber.shouldBeClimbing;
40 }
41
42 @Override
43 protected void interrupted() {
44 end();
45 }
46 }