competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / climber / RunWinch.java
index ba8b20160635cbbc59ebd81a7975684d009f7438..5a76b5c182b377c6892b64c75572ca0857fa44ec 100644 (file)
@@ -1,47 +1,65 @@
 package org.usfirst.frc.team3501.robot.commands.climber;
 
 import org.usfirst.frc.team3501.robot.Robot;
-
-import com.sun.glass.ui.Timer;
+import org.usfirst.frc.team3501.robot.subsystems.Climber;
 
 import edu.wpi.first.wpilibj.command.Command;
 
 /**
- * Runs the winch for a given time and motor value
+ * This command runs the winch at a specified speed and time in seconds when the
+ * 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.
+ *
+ * post-condition: Winch motor set to a specified speed for a specified time.
  *
+ * @param motorVal
+ *          value range is from -1 to 1
+ * @param time
+ *          in seconds
  * @author shivanighanta
  *
  */
+
 public class RunWinch extends Command {
-  Timer timer;
+  Climber climber = Robot.getClimber();
+
   private double time;
   private double motorVal;
 
+  /**
+   * See JavaDoc comment in class for details
+   *
+   * @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