1010import edu .wpi .first .net .WebServer ;
1111import edu .wpi .first .wpilibj .Alert ;
1212import edu .wpi .first .wpilibj .Alert .AlertType ;
13+ import edu .wpi .first .wpilibj .DataLogManager ;
14+ import edu .wpi .first .wpilibj .DriverStation ;
1315import edu .wpi .first .wpilibj .Filesystem ;
1416import edu .wpi .first .wpilibj .GenericHID .RumbleType ;
17+ import edu .wpi .first .wpilibj .RobotBase ;
1518import edu .wpi .first .wpilibj .Threads ;
1619import edu .wpi .first .wpilibj2 .command .Command ;
1720import edu .wpi .first .wpilibj2 .command .Command .InterruptionBehavior ;
@@ -102,6 +105,7 @@ public class Robot extends LoggedRobot {
102105
103106 private final List <Pose2d > leftSetpoints ;
104107 private final List <Pose2d > rightSetpoints ;
108+ private final List <Pose2d > l1Setpoints ;
105109 private final List <Pose2d > algaeSetpoints ;
106110
107111 @ AutoLogOutput (key = "Robot/Overridden" )
@@ -154,10 +158,15 @@ public Robot() {
154158
155159 SignalLogger .start ();
156160 SignalLogger .setPath ("/U/logs" );
161+ DataLogManager .start ();
157162 Logger .registerURCL (URCL .startExternal ());
158163 // Start AdvantageKit logger
159164 Logger .start ();
160165
166+ if (!RobotBase .isSimulation ()) {
167+ DriverStation .waitForDsConnection (300 );
168+ }
169+
161170 if (Constants .getMode () != Mode .REPLAY ) {
162171 switch (Constants .robotType ) {
163172 case COMPBOT -> {
@@ -262,6 +271,21 @@ public Robot() {
262271 rightSetpoints =
263272 List .of (B .getPose (), D .getPose (), F .getPose (), H .getPose (), J .getPose (), L .getPose ());
264273
274+ l1Setpoints =
275+ List .of (
276+ A_LEFTL1 .getPose (),
277+ A_RIGHTL1 .getPose (),
278+ C_LEFTL1 .getPose (),
279+ C_RIGHTL1 .getPose (),
280+ E_LEFTL1 .getPose (),
281+ E_RIGHTL1 .getPose (),
282+ G_LEFTL1 .getPose (),
283+ G_RIGHTL1 .getPose (),
284+ I_LEFTL1 .getPose (),
285+ I_RIGHTL1 .getPose (),
286+ K_LEFTL1 .getPose (),
287+ K_RIGHTL1 .getPose ());
288+
265289 algaeSetpoints =
266290 List .of (
267291 CLOSE .getPose (),
@@ -374,9 +398,9 @@ public Robot() {
374398 drive
375399 .autoAlignWithOverride (
376400 () -> DriveSetpoints .closest (drive ::getPose , rightSetpoints ),
377- () -> - controller .getLeftY (),
378- () -> - controller .getLeftX (),
379- () -> - controller .getRightX ())
401+ () -> controller .getLeftY (),
402+ () -> controller .getLeftX (),
403+ () -> controller .getRightX ())
380404 .until (ejector .backSensor .negate ()));
381405
382406 controller .leftBumper ().or (controller .leftTrigger ()).and (override ).whileTrue (ejector .eject (30 ));
@@ -407,9 +431,9 @@ public Robot() {
407431 drive
408432 .autoAlignWithOverride (
409433 () -> DriveSetpoints .closest (drive ::getPose , leftSetpoints ),
410- () -> - controller .getLeftY (),
411- () -> - controller .getLeftX (),
412- () -> - controller .getRightX ())
434+ () -> controller .getLeftY (),
435+ () -> controller .getLeftX (),
436+ () -> controller .getRightX ())
413437 .until (ejector .backSensor .negate ()));
414438
415439 climber .stalled .onTrue (
@@ -446,15 +470,15 @@ public Robot() {
446470 .andThen (Commands .runOnce (() -> controller .setRumble (RumbleType .kBothRumble , 0.0 ))));
447471
448472 controller
449- .leftStick ()
473+ .povLeft ()
450474 .and (override .negate ())
451475 .whileTrue (
452476 Commands .parallel (
453477 drive .autoAlignWithOverride (
454478 () -> DriveSetpoints .closest (drive ::getPose , algaeSetpoints ),
455- () -> - controller .getLeftY (),
456- () -> - controller .getLeftX (),
457- () -> - controller .getRightX ()),
479+ () -> controller .getLeftY (),
480+ () -> controller .getLeftX (),
481+ () -> controller .getRightX ()),
458482 ejector .eject (40 ),
459483 elevator .goToSetpoint (
460484 () -> {
@@ -471,8 +495,30 @@ public Robot() {
471495 intake .backSensor .negate ()))
472496 .withName ("AlgaePop" )
473497 .withInterruptBehavior (InterruptionBehavior .kCancelIncoming ));
498+
474499 controller
475- .rightStick ()
500+ .povRight ()
501+ .and (override .negate ())
502+ .whileTrue (
503+ Commands .sequence (
504+ Commands .parallel (
505+ drive .autoAlignWithOverride (
506+ () -> DriveSetpoints .closest (drive ::getPose , l1Setpoints ),
507+ () -> controller .getLeftY (),
508+ () -> controller .getLeftX (),
509+ () -> controller .getRightX ()),
510+ elevator .goToSetpoint (ElevatorSetpoints .L1 , intake .backSensor .negate ()))
511+ .until (elevator .atSetpoint .and (drive .atSetpoint )),
512+ Commands .parallel (
513+ drive .autoAlignWithOverride (
514+ () -> DriveSetpoints .closest (drive ::getPose , l1Setpoints ),
515+ () -> controller .getLeftY (),
516+ () -> controller .getLeftX (),
517+ () -> controller .getRightX ()),
518+ elevator .goToSetpoint (ElevatorSetpoints .L1 , intake .backSensor .negate ()),
519+ ejector .eject (25 ))));
520+ controller
521+ .leftStick ()
476522 .whileTrue (ejector .eject (15 ).withInterruptBehavior (InterruptionBehavior .kCancelIncoming ));
477523 controller .povUp ().whileTrue (intake .intake (-4 ));
478524
0 commit comments