package org.usfirst.frc.team3501.robot.commands.climber;
import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.Climber;
-import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj.command.Command;
/**
* This command runs the winch at a specified speed and time in seconds when the
- * button triggering it is pressed.
+ * button triggering it is pressed. This command also makes the drive train
+ * motors run because the winch is controlled by the drive train.
*
* pre-condition: This command is run by a button in OI. The robot must be
* attached to the rope.
*/
public class RunWinch extends Command {
- Timer timer;
+ Climber climber = Robot.getClimber();
+
private double time;
private double motorVal;
/**
+ * See JavaDoc comment in class for details
*
- * @author shivanighanta
- *
+ * @param time
+ * time in seconds to run the winch
+ * @param motorVal
+ * value range is from -1 to 1
*/
- public RunWinch(double time, double motorVal) {
- requires(Robot.getClimber());
+ public RunWinch() {
+ requires(climber);
this.time = time;
this.motorVal = motorVal;
}
@Override
protected void initialize() {
- timer.start();
- Robot.getClimber().setMotorValue(motorVal);
+ climber.setCANTalonsBrakeMode(climber.COAST_MODE);
}
@Override
protected void execute() {
-
+ climber.setMotorValues(climber.CLIMBER_SPEED);
}
@Override
protected boolean isFinished() {
- return timer.get() >= time;
+ // return timeSinceInitialized() >= time;
+ return false;
}
@Override
protected void end() {
- Robot.getClimber().stop();
+ climber.stop();
}
@Override