testing TimeDrive
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / driving / TimeDrive.java
1 package org.usfirst.frc.team3501.robot.commands.driving;
2
3 import org.usfirst.frc.team3501.robot.Robot;
4
5 import edu.wpi.first.wpilibj.Timer;
6 import edu.wpi.first.wpilibj.command.Command;
7
8 /***
9 * This commands make the robot drive for a specified time with the motors set
10 * at a specified value between 1 and -1
11 *
12 * parameters:
13 * time: how long the robot should drive for - in seconds
14 * motorVal: the motor input to set the motors to
15 *
16 *
17 */
18 public class TimeDrive extends Command {
19 Timer timer;
20 double motorVal, time;
21
22 public TimeDrive(final double time, final double motorVal) {
23 requires(Robot.getDriveTrain());
24
25 timer = new Timer();
26 this.time = time;
27 this.motorVal = motorVal;
28 }
29
30 @Override
31 protected void initialize() {
32 timer.start();
33 }
34
35 @Override
36 protected void execute() {
37 Robot.getDriveTrain().setMotorValues(motorVal, motorVal);
38
39 }
40
41 @Override
42 protected boolean isFinished() {
43 return timer.get() >= time;
44 }
45
46 @Override
47 protected void end() {
48 Robot.getDriveTrain().stop();
49 }
50
51 @Override
52 protected void interrupted() {
53 end();
54 }
55 }