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 ;
@@ -111,6 +114,7 @@ public class Robot extends LoggedRobot {
111114
112115 private final List <Pose2d > leftSetpoints ;
113116 private final List <Pose2d > rightSetpoints ;
117+ private final List <Pose2d > l1Setpoints ;
114118 private final List <Pose2d > algaeSetpoints ;
115119
116120 public Robot () {
@@ -157,10 +161,15 @@ public Robot() {
157161
158162 SignalLogger .start ();
159163 SignalLogger .setPath ("/U/logs" );
164+ DataLogManager .start ();
160165 Logger .registerURCL (URCL .startExternal ());
161166 // Start AdvantageKit logger
162167 Logger .start ();
163168
169+ if (!RobotBase .isSimulation ()) {
170+ DriverStation .waitForDsConnection (300 );
171+ }
172+
164173 if (Constants .getMode () != Mode .REPLAY ) {
165174 switch (Constants .robotType ) {
166175 case COMPBOT -> {
@@ -265,6 +274,21 @@ public Robot() {
265274 rightSetpoints =
266275 List .of (B .getPose (), D .getPose (), F .getPose (), H .getPose (), J .getPose (), L .getPose ());
267276
277+ l1Setpoints =
278+ List .of (
279+ A_LEFTL1 .getPose (),
280+ A_RIGHTL1 .getPose (),
281+ C_LEFTL1 .getPose (),
282+ C_RIGHTL1 .getPose (),
283+ E_LEFTL1 .getPose (),
284+ E_RIGHTL1 .getPose (),
285+ G_LEFTL1 .getPose (),
286+ G_RIGHTL1 .getPose (),
287+ I_LEFTL1 .getPose (),
288+ I_RIGHTL1 .getPose (),
289+ K_LEFTL1 .getPose (),
290+ K_RIGHTL1 .getPose ());
291+
268292 algaeSetpoints =
269293 List .of (
270294 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 manualController .leftBumper ().or (controller .leftTrigger ()).whileTrue (ejector .eject (30 ));
@@ -402,9 +426,9 @@ public Robot() {
402426 drive
403427 .autoAlignWithOverride (
404428 () -> DriveSetpoints .closest (drive ::getPose , leftSetpoints ),
405- () -> - controller .getLeftY (),
406- () -> - controller .getLeftX (),
407- () -> - controller .getRightX ())
429+ () -> controller .getLeftY (),
430+ () -> controller .getLeftX (),
431+ () -> controller .getRightX ())
408432 .until (ejector .backSensor .negate ()));
409433
410434 climber .stalled .onTrue (
@@ -441,14 +465,14 @@ public Robot() {
441465 .andThen (Commands .runOnce (() -> controller .setRumble (RumbleType .kBothRumble , 0.0 ))));
442466
443467 controller
444- .leftStick ()
468+ .povLeft ()
445469 .whileTrue (
446470 Commands .parallel (
447471 drive .autoAlignWithOverride (
448472 () -> DriveSetpoints .closest (drive ::getPose , algaeSetpoints ),
449- () -> - controller .getLeftY (),
450- () -> - controller .getLeftX (),
451- () -> - controller .getRightX ()),
473+ () -> controller .getLeftY (),
474+ () -> controller .getLeftX (),
475+ () -> controller .getRightX ()),
452476 ejector .eject (40 ),
453477 elevator .goToSetpoint (
454478 () -> {
@@ -465,6 +489,28 @@ public Robot() {
465489 intake .backSensor .negate ()))
466490 .withName ("AlgaePop" )
467491 .withInterruptBehavior (InterruptionBehavior .kCancelIncoming ));
492+
493+ controller
494+ .povRight ()
495+ .and (override .negate ())
496+ .whileTrue (
497+ Commands .sequence (
498+ Commands .parallel (
499+ drive .autoAlignWithOverride (
500+ () -> DriveSetpoints .closest (drive ::getPose , l1Setpoints ),
501+ () -> controller .getLeftY (),
502+ () -> controller .getLeftX (),
503+ () -> controller .getRightX ()),
504+ elevator .goToSetpoint (ElevatorSetpoints .L1 , intake .backSensor .negate ()))
505+ .until (elevator .atSetpoint .and (drive .atSetpoint )),
506+ Commands .parallel (
507+ drive .autoAlignWithOverride (
508+ () -> DriveSetpoints .closest (drive ::getPose , l1Setpoints ),
509+ () -> controller .getLeftY (),
510+ () -> controller .getLeftX (),
511+ () -> controller .getRightX ()),
512+ elevator .goToSetpoint (ElevatorSetpoints .L1 , intake .backSensor .negate ()),
513+ ejector .eject (25 ))));
468514 controller
469515 .rightStickRaw ()
470516 .whileTrue (ejector .eject (15 ).withInterruptBehavior (InterruptionBehavior .kCancelIncoming ));
0 commit comments