1919import edu .wpi .first .wpilibj2 .command .button .CommandXboxController ;
2020import frc .robot .commands .*;
2121import frc .robot .config .CANMappings ;
22+ import frc .robot .config .HopperConfig ;
2223import frc .robot .config .TunerConstants ;
2324import frc .robot .subsystems .*;
2425
@@ -30,19 +31,27 @@ public class RobotContainer {
3031 private Climb climb = new Climb ();
3132 private Intake intake = new Intake ();
3233 private Kicker kicker = new Kicker ();
33- private CommandXboxController controller = new CommandXboxController (0 );
34+ private CommandXboxController controller = new CommandXboxController (1 );
3435 private SwerveDriveState driveState = new SwerveDriveState ();
3536 private final SendableChooser <Command > autoChooser ;
37+ public static boolean isExtended = false ;
3638
3739 private Command shootGroup =
3840 Commands .parallel (
3941 new KickerCommand (kicker , KickerCommand .Position .INTAKE ),
40- new HopperCommand (hopper , HopperCommand .Position .SHOOT_RETRACT ),
42+ Commands .runEnd (
43+ () -> hopper .slowMove (HopperConfig .HOPPER_RETRACT_ROTATION ),
44+ () -> hopper .stop (),
45+ hopper ).withDeadline (Commands .waitSeconds (2 )),
4146 new IntakeCommand (intake , IntakeCommand .Position .SLOW_INTAKE ))
4247 .finallyDo (
4348 interrupt ->
4449 CommandScheduler .getInstance ()
45- .schedule (new HopperCommand (hopper , HopperCommand .Position .SHOOT_EXTEND )));
50+ .schedule (
51+ Commands .runEnd (
52+ () -> hopper .move (HopperConfig .HOPPER_EXTEND_ROTATION ),
53+ () -> hopper .stop (),
54+ hopper ).withDeadline (Commands .waitSeconds (2 ))));
4655
4756 public RobotContainer () {
4857 autoChooser = AutoBuilder .buildAutoChooser ("Test" );
@@ -75,12 +84,22 @@ private void configureBindings() {
7584 .x ()
7685 .and (() -> !shootGroup .isScheduled ())
7786 .toggleOnTrue (new IntakeCommand (intake , IntakeCommand .Position .INTAKE ));
87+
88+ controller
89+ .povRight ()
90+ .and (() -> !shootGroup .isScheduled ())
91+ .toggleOnTrue (new IntakeCommand (intake , IntakeCommand .Position .OUTTAKE ));
7892 // Right Stick Down = Extend/Retract Hopper
7993 controller
8094 .rightStick ()
8195 .and (() -> !shootGroup .isScheduled ())
82- .onTrue (new HopperCommand (hopper , HopperCommand .Position .EXTEND_RETRACT ));
83- // Right Trigger = Climb Retract
96+ .onTrue (
97+ Commands .runEnd (
98+ () -> hopper .move (Hopper .getRotation (isExtended )), () -> hopper .stop (), hopper )
99+ .withDeadline (Commands .waitSeconds (2 ))
100+ .andThen (Commands .runOnce (() -> isExtended = !isExtended )));
101+
102+ // // Right Trigger = Climb Retract
84103 controller
85104 .rightTrigger ()
86105 .whileTrue (new ClimbCommand (climb , ClimbCommand .Position .DIRECTIONAL_CLIMB ));
@@ -104,6 +123,7 @@ private void configureBindings() {
104123 .a ()
105124 .toggleOnTrue (
106125 new FlywheelCommand (flywheel , FlywheelCommand .Position .CALCULATED_SHOT , drivetrain ));
126+ controller .povDown ().onTrue (Commands .runOnce (() -> hopper .zero (), hopper ));
107127 }
108128
109129 public Command getAutonomousCommand () {
0 commit comments