Skip to content
This repository was archived by the owner on Jan 17, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/main/java/org/curtinfrc/frc2025/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* (log replay from a file).
*/
public final class Constants {
public static final RobotType robotType = RobotType.COMPBOT;
public static final RobotType robotType = RobotType.SIMBOT;
public static final double ROBOT_X = 0.705;
public static final double ROBOT_Y = 0.730;
public static final double FIELD_LENGTH = aprilTagLayout.getFieldLength();
Expand Down
49 changes: 22 additions & 27 deletions src/main/java/org/curtinfrc/frc2025/Robot.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import edu.wpi.first.wpilibj2.command.Commands;
import edu.wpi.first.wpilibj2.command.ScheduleCommand;
import edu.wpi.first.wpilibj2.command.Subsystem;
import edu.wpi.first.wpilibj2.command.button.CommandXboxController;
import edu.wpi.first.wpilibj2.command.button.RobotModeTriggers;
import edu.wpi.first.wpilibj2.command.button.Trigger;
import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine;
Expand Down Expand Up @@ -69,6 +68,7 @@
import org.curtinfrc.frc2025.subsystems.vision.VisionIOPhotonVisionSim;
import org.curtinfrc.frc2025.util.AutoChooser;
import org.curtinfrc.frc2025.util.ButtonBoard;
import org.curtinfrc.frc2025.util.ContextfulXboxController;
import org.curtinfrc.frc2025.util.PhoenixUtil;
import org.curtinfrc.frc2025.util.VirtualSubsystem;
import org.littletonrobotics.junction.AutoLogOutput;
Expand Down Expand Up @@ -96,8 +96,17 @@ public class Robot extends LoggedRobot {
private Ejector ejector;
private Climber climber;

@AutoLogOutput(key = "Robot/Overridden")
private boolean overridden = false;

@AutoLogOutput(key = "Robot/Overide")
private final Trigger override = new Trigger(() -> overridden);

// Controller
private final CommandXboxController controller = new CommandXboxController(0);
private final ContextfulXboxController controller =
new ContextfulXboxController(0, override.negate());
private final ContextfulXboxController manualController =
new ContextfulXboxController(0, override);
private final Alert controllerDisconnected =
new Alert("Driver controller disconnected!", AlertType.kError);
private final ButtonBoard board = new ButtonBoard(1);
Expand All @@ -112,12 +121,6 @@ public class Robot extends LoggedRobot {
private List<Pose2d> l1Setpoints;
private List<Pose2d> algaeSetpoints;

@AutoLogOutput(key = "Robot/Overridden")
private boolean overridden = false;

@AutoLogOutput(key = "Robot/Overide")
private final Trigger override = new Trigger(() -> overridden);

public Robot() {
// Record metadata
Logger.recordMetadata("ProjectName", BuildConstants.MAVEN_NAME);
Expand Down Expand Up @@ -344,15 +347,13 @@ public Robot() {
controller
.rightBumper()
.or(controller.leftBumper())
.and(override.negate())
.whileTrue(
elevator
.goToSetpoint(ElevatorSetpoints.L2, intake.backSensor.negate())
.until(ejector.backSensor.negate()));
controller
.rightTrigger()
.or(controller.leftTrigger())
.and(override.negate())
.whileTrue(
elevator
.goToSetpoint(ElevatorSetpoints.L3, intake.backSensor.negate())
Expand All @@ -361,7 +362,6 @@ public Robot() {
controller
.rightBumper()
.or(controller.rightTrigger())
.and(override.negate())
.whileTrue(
drive
.autoAlignWithOverride(
Expand All @@ -371,30 +371,25 @@ public Robot() {
() -> controller.getRightX())
.until(ejector.backSensor.negate()));

controller.leftBumper().or(controller.leftTrigger()).and(override).whileTrue(ejector.eject(30));
controller
manualController.leftBumper().or(controller.leftTrigger()).whileTrue(ejector.eject(30));
manualController
.leftBumper()
.and(override)
.whileTrue(
elevator.goToSetpoint(ElevatorSetpoints.AlgaePopLow, intake.backSensor.negate()));
controller
manualController
.leftTrigger()
.and(override)
.whileTrue(
elevator.goToSetpoint(ElevatorSetpoints.AlgaePopHigh, intake.backSensor.negate()));
controller
manualController
.rightBumper()
.and(override)
.whileTrue(elevator.goToSetpoint(ElevatorSetpoints.L2, intake.backSensor.negate()));
controller
manualController
.rightTrigger()
.and(override)
.whileTrue(elevator.goToSetpoint(ElevatorSetpoints.L3, intake.backSensor.negate()));

controller
.leftBumper()
.or(controller.leftTrigger())
.and(override.negate())
.whileTrue(
drive
.autoAlignWithOverride(
Expand Down Expand Up @@ -446,7 +441,6 @@ public Robot() {
.or(controller.rightTrigger())
.or(controller.leftTrigger())
.negate())
.and(override.negate())
.whileTrue(
Commands.parallel(
drive.autoAlignWithOverride(
Expand Down Expand Up @@ -501,7 +495,8 @@ public Robot() {
.or(controller.rightTrigger())
.or(controller.leftTrigger()))
.whileTrue(ejector.eject(15).withInterruptBehavior(InterruptionBehavior.kCancelIncoming));
controller.povUp().whileTrue(intake.intake(-4));

controller.povUpRaw().whileTrue(intake.intake(-4));

intake
.backSensor
Expand Down Expand Up @@ -537,7 +532,7 @@ public Robot() {

// Reset gyro to 0° when B button is pressed
controller
.y()
.yRaw()
.onTrue(
Commands.runOnce(
() ->
Expand All @@ -546,15 +541,15 @@ public Robot() {
drive)
.ignoringDisable(true));
controller
.x()
.xRaw()
.onTrue(
Commands.sequence(
climber.disengage(),
climber.goToSetpoint(ClimberConstants.targetPositionRotationsIn),
elevator.goToSetpoint(ElevatorSetpoints.climbPrep, intake.backSensor.negate())));

controller // climb attempt
.a()
.aRaw()
.and(() -> climber.climberDeployed)
.onTrue(
elevator
Expand All @@ -567,7 +562,7 @@ public Robot() {
elevator.goToSetpoint(
ElevatorSetpoints.climbPrep, intake.backSensor.negate()))));

controller.b().onTrue(Commands.runOnce(() -> overridden = !overridden));
controller.bRaw().onTrue(Commands.runOnce(() -> overridden = !overridden));

new Trigger(this::isEnabled).onTrue(climber.disengage());

Expand Down
Loading