From 71368c1dfdb11cd4653873d732b94275c519b79b Mon Sep 17 00:00:00 2001 From: aaditsangvikar Date: Tue, 4 Mar 2025 22:35:18 -0700 Subject: [PATCH 1/3] changing to CommandXboxController --- .../java/org/blackknights/RobotContainer.java | 34 ++++++++++--------- .../blackknights/commands/ClimberCommand.java | 13 +++---- .../org/blackknights/utils/Controller.java | 3 -- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/blackknights/RobotContainer.java b/src/main/java/org/blackknights/RobotContainer.java index bd0fb54..8d75fd0 100644 --- a/src/main/java/org/blackknights/RobotContainer.java +++ b/src/main/java/org/blackknights/RobotContainer.java @@ -7,6 +7,8 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.*; import java.util.function.Supplier; + +import edu.wpi.first.wpilibj2.command.button.CommandXboxController; import org.blackknights.commands.*; import org.blackknights.constants.ScoringConstants; import org.blackknights.constants.VisionConstants; @@ -28,8 +30,8 @@ public class RobotContainer { ButtonBoardSubsystem buttonBoardSubsystem = new ButtonBoardSubsystem(buttonBoard); // Controllers - Controller primaryController = new Controller(0); - Controller secondaryController = new Controller(1); + CommandXboxController primaryController = new CommandXboxController(0); + CommandXboxController secondaryController = new CommandXboxController(1); private final NetworkTablesUtils NTTune = NetworkTablesUtils.getTable("debug"); @@ -88,10 +90,10 @@ private void configureBindings() { true, true)); - primaryController.leftBumper.whileTrue( + primaryController.leftBumper().whileTrue( getPlaceCommand(() -> coralQueue.getCurrentPosition(), () -> coralQueue.getNext())); - primaryController.rightBumper.whileTrue( + primaryController.leftBumper().whileTrue( new ParallelCommandGroup( new ElevatorArmCommand( elevatorSubsystem, @@ -101,7 +103,7 @@ private void configureBindings() { elevatorSubsystem.setDefaultCommand(new BaseCommand(elevatorSubsystem, armSubsystem)); - primaryController.dpadDown.whileTrue(new RunCommand(() -> swerveSubsystem.zeroGyro())); + primaryController.povDown().whileTrue(new RunCommand(() -> swerveSubsystem.zeroGyro())); // SECONDARY CONTROLLER @@ -113,32 +115,32 @@ private void configureBindings() { // secondaryController.rightBumper.onTrue(new InstantCommand(() -> // coralQueue.stepForwards())); - secondaryController.aButton.whileTrue( + secondaryController.a().whileTrue( new ElevatorArmCommand( elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L1)); - secondaryController.bButton.whileTrue( + secondaryController.b().whileTrue( new ElevatorArmCommand( elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L2)); - secondaryController.xButton.whileTrue( + secondaryController.x().whileTrue( new ElevatorArmCommand( elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L3)); - secondaryController.yButton.whileTrue( + secondaryController.y().whileTrue( new ElevatorArmCommand( elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L4)); - secondaryController.leftBumper.onTrue(new InstantCommand(() -> coralQueue.stepForwards())); + secondaryController.leftBumper().onTrue(new InstantCommand(() -> coralQueue.stepForwards())); - secondaryController.rightBumper.whileTrue( + secondaryController.rightBumper().whileTrue( new InstantCommand(() -> coralQueue.stepBackwards())); - // secondaryController.rightTrigger.whileTrue( - // new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.OUTTAKE)); - // - // secondaryController.leftTrigger.whileTrue( - // new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.INTAKE)); + secondaryController.rightTrigger(0.2).whileTrue( + new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.OUTTAKE)); + + secondaryController.leftTrigger(0.2).whileTrue( + new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.INTAKE)); } /** Runs once when the code starts */ diff --git a/src/main/java/org/blackknights/commands/ClimberCommand.java b/src/main/java/org/blackknights/commands/ClimberCommand.java index 06d49cf..44709f3 100644 --- a/src/main/java/org/blackknights/commands/ClimberCommand.java +++ b/src/main/java/org/blackknights/commands/ClimberCommand.java @@ -2,13 +2,14 @@ package org.blackknights.commands; import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.button.CommandXboxController; import org.blackknights.subsystems.ClimberSubsystem; import org.blackknights.utils.Controller; /** Climber command to control the climber */ public class ClimberCommand extends Command { public ClimberSubsystem climberSubsystem; - public Controller controller; + public CommandXboxController controller; /** * Command to controller the climber, right now over pure voltage @@ -16,7 +17,7 @@ public class ClimberCommand extends Command { * @param climberSubsystem The instance of {@link ClimberSubsystem} * @param controller A {@link Controller} to control the climber */ - public ClimberCommand(ClimberSubsystem climberSubsystem, Controller controller) { + public ClimberCommand(ClimberSubsystem climberSubsystem, CommandXboxController controller) { this.climberSubsystem = climberSubsystem; this.controller = controller; addRequirements(climberSubsystem); @@ -24,13 +25,13 @@ public ClimberCommand(ClimberSubsystem climberSubsystem, Controller controller) @Override public void execute() { - if (controller.dpadDown.getAsBoolean()) { + if (controller.povDown().getAsBoolean()) { climberSubsystem.setClimberSpeed(1); - } else if (controller.dpadUp.getAsBoolean()) { + } else if (controller.povUp().getAsBoolean()) { climberSubsystem.setClimberSpeed(-1); - } else if (controller.dpadLeft.getAsBoolean()) { + } else if (controller.povLeft().getAsBoolean()) { climberSubsystem.setLockSpeed(0.5); - } else if (controller.dpadRight.getAsBoolean()) { + } else if (controller.povRight().getAsBoolean()) { climberSubsystem.setLockSpeed(-0.5); } else { climberSubsystem.setClimberSpeed(0); diff --git a/src/main/java/org/blackknights/utils/Controller.java b/src/main/java/org/blackknights/utils/Controller.java index c6b5593..b920039 100644 --- a/src/main/java/org/blackknights/utils/Controller.java +++ b/src/main/java/org/blackknights/utils/Controller.java @@ -38,9 +38,6 @@ public class Controller extends XboxController { public Controller(int port) { super(port); - leftTrigger = new JoystickButton(this, XboxController.Axis.kLeftTrigger.value); - rightTrigger = new JoystickButton(this, XboxController.Axis.kRightTrigger.value); - leftBumper = new JoystickButton(this, XboxController.Button.kLeftBumper.value); rightBumper = new JoystickButton(this, XboxController.Button.kRightBumper.value); From 45734ccec13a470ab01a38725c84ee0cf2115d19 Mon Sep 17 00:00:00 2001 From: aaditsangvikar Date: Tue, 4 Mar 2025 22:42:15 -0700 Subject: [PATCH 2/3] linting --- .../java/org/blackknights/RobotContainer.java | 88 ++++++++++++------- 1 file changed, 57 insertions(+), 31 deletions(-) diff --git a/src/main/java/org/blackknights/RobotContainer.java b/src/main/java/org/blackknights/RobotContainer.java index 8d75fd0..97141e7 100644 --- a/src/main/java/org/blackknights/RobotContainer.java +++ b/src/main/java/org/blackknights/RobotContainer.java @@ -6,9 +6,8 @@ import edu.wpi.first.wpilibj.smartdashboard.SendableChooser; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.*; -import java.util.function.Supplier; - import edu.wpi.first.wpilibj2.command.button.CommandXboxController; +import java.util.function.Supplier; import org.blackknights.commands.*; import org.blackknights.constants.ScoringConstants; import org.blackknights.constants.VisionConstants; @@ -90,16 +89,22 @@ private void configureBindings() { true, true)); - primaryController.leftBumper().whileTrue( - getPlaceCommand(() -> coralQueue.getCurrentPosition(), () -> coralQueue.getNext())); - - primaryController.leftBumper().whileTrue( - new ParallelCommandGroup( - new ElevatorArmCommand( - elevatorSubsystem, - armSubsystem, - () -> ScoringConstants.ScoringHeights.INTAKE), - new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.INTAKE))); + primaryController + .leftBumper() + .whileTrue( + getPlaceCommand( + () -> coralQueue.getCurrentPosition(), () -> coralQueue.getNext())); + + primaryController + .leftBumper() + .whileTrue( + new ParallelCommandGroup( + new ElevatorArmCommand( + elevatorSubsystem, + armSubsystem, + () -> ScoringConstants.ScoringHeights.INTAKE), + new IntakeCommand( + intakeSubsystem, IntakeCommand.IntakeMode.INTAKE))); elevatorSubsystem.setDefaultCommand(new BaseCommand(elevatorSubsystem, armSubsystem)); @@ -115,32 +120,53 @@ private void configureBindings() { // secondaryController.rightBumper.onTrue(new InstantCommand(() -> // coralQueue.stepForwards())); - secondaryController.a().whileTrue( - new ElevatorArmCommand( - elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L1)); + secondaryController + .a() + .whileTrue( + new ElevatorArmCommand( + elevatorSubsystem, + armSubsystem, + () -> ScoringConstants.ScoringHeights.L1)); - secondaryController.b().whileTrue( - new ElevatorArmCommand( - elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L2)); + secondaryController + .b() + .whileTrue( + new ElevatorArmCommand( + elevatorSubsystem, + armSubsystem, + () -> ScoringConstants.ScoringHeights.L2)); - secondaryController.x().whileTrue( - new ElevatorArmCommand( - elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L3)); + secondaryController + .x() + .whileTrue( + new ElevatorArmCommand( + elevatorSubsystem, + armSubsystem, + () -> ScoringConstants.ScoringHeights.L3)); - secondaryController.y().whileTrue( - new ElevatorArmCommand( - elevatorSubsystem, armSubsystem, () -> ScoringConstants.ScoringHeights.L4)); + secondaryController + .y() + .whileTrue( + new ElevatorArmCommand( + elevatorSubsystem, + armSubsystem, + () -> ScoringConstants.ScoringHeights.L4)); - secondaryController.leftBumper().onTrue(new InstantCommand(() -> coralQueue.stepForwards())); + secondaryController + .leftBumper() + .onTrue(new InstantCommand(() -> coralQueue.stepForwards())); - secondaryController.rightBumper().whileTrue( - new InstantCommand(() -> coralQueue.stepBackwards())); + secondaryController + .rightBumper() + .whileTrue(new InstantCommand(() -> coralQueue.stepBackwards())); - secondaryController.rightTrigger(0.2).whileTrue( - new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.OUTTAKE)); + secondaryController + .rightTrigger(0.2) + .whileTrue(new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.OUTTAKE)); - secondaryController.leftTrigger(0.2).whileTrue( - new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.INTAKE)); + secondaryController + .leftTrigger(0.2) + .whileTrue(new IntakeCommand(intakeSubsystem, IntakeCommand.IntakeMode.INTAKE)); } /** Runs once when the code starts */ From deed47cb51742838b5028c716718e58162c02adc Mon Sep 17 00:00:00 2001 From: TotalTaxAmount <64336456+TotalTaxAmount@users.noreply.github.com> Date: Thu, 6 Mar 2025 07:56:35 -0700 Subject: [PATCH 3/3] Delete src/main/java/org/blackknights/utils/Controller.java --- .../org/blackknights/utils/Controller.java | 73 ------------------- 1 file changed, 73 deletions(-) delete mode 100644 src/main/java/org/blackknights/utils/Controller.java diff --git a/src/main/java/org/blackknights/utils/Controller.java b/src/main/java/org/blackknights/utils/Controller.java deleted file mode 100644 index b920039..0000000 --- a/src/main/java/org/blackknights/utils/Controller.java +++ /dev/null @@ -1,73 +0,0 @@ -/* Black Knights Robotics (C) 2025 */ -package org.blackknights.utils; - -import edu.wpi.first.wpilibj.XboxController; -import edu.wpi.first.wpilibj2.command.button.JoystickButton; -import edu.wpi.first.wpilibj2.command.button.POVButton; - -/** A wrapper class for {@link XboxController} to provide easier bindings */ -public class Controller extends XboxController { - - public JoystickButton leftBumper; - public JoystickButton rightBumper; - - public JoystickButton leftTrigger; - public JoystickButton rightTrigger; - - public JoystickButton yButton; - public JoystickButton aButton; - public JoystickButton bButton; - public JoystickButton xButton; - - public JoystickButton startButton; - public JoystickButton selectButton; - - public JoystickButton leftStickButton; - public JoystickButton rightStickButton; - - public POVButton dpadUp; - public POVButton dpadDown; - public POVButton dpadLeft; - public POVButton dpadRight; - - /** - * Create a new instance of controller - * - * @param port The port of the controller as specified on DriverStation - */ - public Controller(int port) { - super(port); - - leftBumper = new JoystickButton(this, XboxController.Button.kLeftBumper.value); - rightBumper = new JoystickButton(this, XboxController.Button.kRightBumper.value); - - yButton = new JoystickButton(this, XboxController.Button.kY.value); - aButton = new JoystickButton(this, XboxController.Button.kA.value); - bButton = new JoystickButton(this, XboxController.Button.kB.value); - xButton = new JoystickButton(this, XboxController.Button.kX.value); - - startButton = new JoystickButton(this, XboxController.Button.kStart.value); - selectButton = new JoystickButton(this, XboxController.Button.kBack.value); - - leftStickButton = new JoystickButton(this, XboxController.Button.kLeftStick.value); - rightStickButton = new JoystickButton(this, XboxController.Button.kRightStick.value); - - dpadUp = new POVButton(this, 0); - dpadDown = new POVButton(this, 180); - dpadLeft = new POVButton(this, 270); - dpadRight = new POVButton(this, 90); - } - - /** - * Check if the controller has input from the sticks - * - * @param deadzone Controller deadzone - * @return If the controller has input - */ - public boolean hasStickInput(double deadzone) { - return Math.abs(getLeftX()) > deadzone - || Math.abs(getLeftY()) > deadzone - || Math.abs(getRightX()) > deadzone - || Math.abs(getRightY()) > deadzone; - } -}