1 package org
.usfirst
.frc
.team3501
.robot
.commands
.shooter
;
3 import org
.usfirst
.frc
.team3501
.robot
.Constants
.IntakeArm
;
4 import org
.usfirst
.frc
.team3501
.robot
.commands
.intakearm
.MoveIntakeArm
;
6 import edu
.wpi
.first
.wpilibj
.command
.CommandGroup
;
7 import edu
.wpi
.first
.wpilibj
.command
.WaitCommand
;
10 * This command group performs the sequence of steps to shoot at the high goal
12 * pre-conditions: a ball is in the intake
14 * post-conditions: catapult is retracted, intake is extended
16 public class ShootAtHighGoal
extends CommandGroup
{
17 private static final double WAIT_SECONDS
= 1.0;
19 public ShootAtHighGoal() {
21 // make sure intake is in up position
22 addSequential(new MoveIntakeArm(IntakeArm
.RETRACT
));
24 addSequential(new WaitCommand(WAIT_SECONDS
));
26 // get ball onto catapult
28 // shoot catapult pistons
29 addSequential(new FireCatapult());
31 addSequential(new WaitCommand(WAIT_SECONDS
));
33 // extend intake (ball actually shoots here)
34 addSequential(new MoveIntakeArm(IntakeArm
.EXTEND
));
36 addSequential(new WaitCommand(WAIT_SECONDS
));
39 addSequential(new WaitCommand(WAIT_SECONDS
));
41 // retract catapult pistons
42 addSequential(new ResetCatapult());