1 package org
.usfirst
.frc
.team3501
.robot
.commands
.driving
;
3 import org
.usfirst
.frc
.team3501
.robot
.Constants
.Direction
;
4 import org
.usfirst
.frc
.team3501
.robot
.Robot
;
6 import edu
.wpi
.first
.wpilibj
.Timer
;
7 import edu
.wpi
.first
.wpilibj
.command
.Command
;
10 * This command turns the robot in a specified direction for a specified
11 * duration in seconds.
13 * pre-condition: robot is on a flat surface
15 * post-condition: robot has turned in the specified direction for the specified
18 * @author Meryem, Avi, and Sarvesh
22 public class TurnForTime
extends Command
{
23 private final double SPEED
= 0.5;
24 private Direction direction
;
25 private double seconds
;
28 public TurnForTime(double seconds
, Direction direction
) {
29 this.seconds
= seconds
;
30 this.direction
= direction
;
34 protected void initialize() {
38 if (direction
== Direction
.RIGHT
) {
39 Robot
.driveTrain
.setMotorSpeeds(SPEED
, -SPEED
);
40 } else if (direction
== Direction
.LEFT
) {
41 Robot
.driveTrain
.setMotorSpeeds(-SPEED
, SPEED
);
46 protected void execute() {
51 protected boolean isFinished() {
52 if (timer
.get() >= seconds
)
58 protected void end() {
62 protected void interrupted() {