competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / climber / RunWinch.java
index 5acd6d1e1042736d59ee83a819bc5350d05e1846..5a76b5c182b377c6892b64c75572ca0857fa44ec 100644 (file)
@@ -1,13 +1,14 @@
 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.
@@ -23,40 +24,42 @@ import edu.wpi.first.wpilibj.command.Command;
  */
 
 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());
+    requires(climber);
     this.time = time;
     this.motorVal = motorVal;
   }
 
   @Override
   protected void initialize() {
-    timer.start();
-    Robot.getClimber().setMotorValue(motorVal);
   }
 
   @Override
   protected void execute() {
-
+    climber.setMotorValues(motorVal);
   }
 
   @Override
   protected boolean isFinished() {
-    return timer.get() >= time;
+    return timeSinceInitialized() >= time;
   }
 
   @Override
   protected void end() {
-    Robot.getClimber().stop();
+    climber.stop();
   }
 
   @Override