Commit | Line | Data |
---|---|---|
763ccd44 M |
1 | package org.usfirst.frc.team3501.robot.commands.intake; |
2 | ||
e0c1a10b | 3 | import org.usfirst.frc.team3501.robot.Robot; |
dab6e7d6 AD |
4 | |
5 | import edu.wpi.first.wpilibj.Timer; | |
763ccd44 M |
6 | import edu.wpi.first.wpilibj.command.Command; |
7 | ||
8 | /** | |
9 | * | |
10 | * Starts running the intake for a specific period of time that the user inputs. | |
e8eb8b46 | 11 | * |
763ccd44 M |
12 | * @author Meeta |
13 | */ | |
14 | public class RunIntake extends Command { | |
e8eb8b46 | 15 | private double timeToMove; |
dab6e7d6 | 16 | public Timer timer; |
763ccd44 | 17 | |
0fab24e5 AD |
18 | /** |
19 | * | |
20 | * @param timeToMove | |
21 | */ | |
e8eb8b46 | 22 | public RunIntake(double timeToMove) { |
69322d05 | 23 | requires(Robot.getIntake()); |
dab6e7d6 | 24 | timer = new Timer(); |
e8eb8b46 | 25 | this.timeToMove = timeToMove; |
763ccd44 M |
26 | } |
27 | ||
28 | @Override | |
29 | protected boolean isFinished() { | |
dab6e7d6 | 30 | return timer.get() >= timeToMove; |
763ccd44 M |
31 | } |
32 | ||
33 | // Called just before this Command runs the first time | |
34 | @Override | |
35 | protected void initialize() { | |
e0c1a10b | 36 | timer.start(); |
763ccd44 M |
37 | } |
38 | ||
39 | // Called repeatedly when this Command is scheduled to run | |
40 | @Override | |
41 | protected void execute() { | |
0fab24e5 | 42 | Robot.getIntake().runIntake(); |
763ccd44 M |
43 | } |
44 | ||
45 | // Called once after isFinished returns true | |
46 | @Override | |
47 | protected void end() { | |
0fab24e5 AD |
48 | timer.stop(); |
49 | Robot.getIntake().stopIntake(); | |
763ccd44 M |
50 | } |
51 | ||
52 | // Called when another command which requires one or more of the same | |
53 | // subsystems is scheduled to run | |
54 | @Override | |
55 | protected void interrupted() { | |
dab6e7d6 | 56 | end(); |
763ccd44 M |
57 | } |
58 | } |