package org.usfirst.frc.team3501.robot.commands.climber;
+import org.usfirst.frc.team3501.robot.OI;
import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.Climber;
import edu.wpi.first.wpilibj.command.Command;
/**
- * This command will run the winch motor continuously until the button
- * triggering it is released. This command also runs the drive train.
+ * This command runs the drive train motors (which runs the winch) continuously
+ * at a specified speed until the button triggering it is released
*
- * pre-condition: This command must be run by a button in OI. The robot must be
- * attached to the rope.
+ * pre-condition: This command must be run by a button in OI with
+ * button.whileHeld(...). The robot must be attached to the rope.
*
- * post-condition: Winch motor set to a specified speed.
- *
- * @param motorVal
- * value range is from -1 to 1
+ * post-condition: Drive train motors set to a specified speed.
*
* @author shivanighanta
*
*/
public class RunWinchContinuous extends Command {
- private double motorVal;
+ Climber climber = Robot.getClimber();
+ private double climbingSpeed;
/**
* See JavaDoc comment in class for details
* @param motorVal
* value range is from -1 to 1
*/
- public RunWinchContinuous(double motorVal) {
- requires(Robot.getDriveTrain());
- this.motorVal = motorVal;
+ public RunWinchContinuous() {
+ requires(climber);
+ climbingSpeed = climber.CLIMBER_SPEED;
}
@Override
protected void initialize() {
- Robot.getDriveTrain().setMotorValues(motorVal, motorVal);
-
+ climber.setCANTalonsBrakeMode(climber.COAST_MODE);
}
@Override
protected void execute() {
-
+ double thrust = OI.xboxController.getY();
+ climber.setMotorValues(-thrust);
}
@Override
@Override
protected void end() {
-
+ climber.stop();
}
@Override