package org.usfirst.frc.team3501.robot.commands.auton;
-import edu.wpi.first.wpilibj.command.Command;
+import org.usfirst.frc.team3501.robot.Constants;
+import org.usfirst.frc.team3501.robot.commands.driving.DriveDistance;
+import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime;
+
+import edu.wpi.first.wpilibj.command.CommandGroup;
/***
* This command will drive the robot through the moat.
*
+ * The code drives the robot for a specific time at a specific speed up the ramp
+ * to the defense then drive over the defense at a different speed and time.
+ *
+ * dependency on subsystem: drivetrain
+ *
+ * dependency on other commands: DriveForTime
+ *
* pre-condition: robot is flush against the ramp of the outerworks in front of
* the moat
*
* @author Meryem and Avi
*
*/
-public class PassMoat extends Command {
- public PassMoat() {
-
- }
+public class PassMoat extends CommandGroup {
- @Override
- protected void initialize() {
- }
-
- @Override
- protected void execute() {
- }
-
- @Override
- protected boolean isFinished() {
- return false;
- }
-
- @Override
- protected void end() {
- }
+ public PassMoat() {
+ if (Constants.Auton.isUsingTime) {
+ addSequential(new DriveForTime(Constants.Auton.passMoatTime,
+ Constants.Auton.passMoatSpeed));
+ }
+ else {
+ addSequential(new DriveDistance(Constants.Auton.passMoatDistance,
+ Constants.DriveTrain.PASS_DEFENSE_TIMEOUT));
+ }
- @Override
- protected void interrupted() {
}
}