1 package org
.usfirst
.frc
.team3501
.robot
.commands
.climber
;
3 import org
.usfirst
.frc
.team3501
.robot
.Constants
;
4 import org
.usfirst
.frc
.team3501
.robot
.Robot
;
6 import edu
.wpi
.first
.wpilibj
.Timer
;
7 import edu
.wpi
.first
.wpilibj
.command
.Command
;
10 * This command runs the winch at a specified speed and time in seconds when the
11 * button triggering it is pressed. This command also makes the drive train
12 * motors run because the winch is controlled by the drive train.
14 * pre-condition: This command is run by a button in OI. The robot must be
15 * attached to the rope.
17 * post-condition: Winch motor set to a specified speed for a specified time.
20 * value range is from -1 to 1
23 * @author shivanighanta
26 public class MaintainWinchSpeed
extends Command
{
29 private double motorVal
;
32 * See JavaDoc comment in class for details
35 * time in seconds to run the winch
37 * value range is from -1 to 1
39 public MaintainWinchSpeed(double time
, double motorVal
) {
40 requires(Robot
.getDriveTrain());
42 this.motorVal
= motorVal
;
46 protected void initialize() {
51 protected void execute() {
52 Robot
.getDriveTrain().setMotorValues(Constants
.Climber
.MAINTAIN_MOTOR_VAL
,
53 Constants
.Climber
.MAINTAIN_MOTOR_VAL
);
58 protected boolean isFinished() {
59 return timer
.get() >= time
;
63 protected void end() {
64 Robot
.getDriveTrain().stop();
68 protected void interrupted() {