From d2381220bb15d0a87ea5df8790e61e8bf040202f Mon Sep 17 00:00:00 2001 From: Ryan Manley <42309874+ryan123rudder@users.noreply.github.com> Date: Sat, 12 Mar 2022 17:33:38 -0700 Subject: [PATCH] Button Box Broken --- simgui-ds.json | 3 ++ simgui.json | 1 + src/main/java/frc4388/robot/Constants.java | 1 + .../java/frc4388/robot/RobotContainer.java | 50 +++++++++++++++++-- src/main/java/frc4388/robot/RobotMap.java | 1 + .../frc4388/utility/controller/ButtonBox.java | 23 +++++++++ 6 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 src/main/java/frc4388/utility/controller/ButtonBox.java diff --git a/simgui-ds.json b/simgui-ds.json index b16ea5c..1cc0e4e 100644 --- a/simgui-ds.json +++ b/simgui-ds.json @@ -96,6 +96,9 @@ { "guid": "78696e70757401000000000000000000", "useGamepad": true + }, + { + "guid": "03000000c01600008704000000000000" } ] } diff --git a/simgui.json b/simgui.json index 935c3ae..f3617f0 100644 --- a/simgui.json +++ b/simgui.json @@ -23,6 +23,7 @@ "/FMSInfo": "FMSInfo", "/LiveWindow/BoomBoom": "Subsystem", "/LiveWindow/Climber": "Subsystem", + "/LiveWindow/Extender": "Subsystem", "/LiveWindow/Hood": "Subsystem", "/LiveWindow/Intake": "Subsystem", "/LiveWindow/LED": "Subsystem", diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index 8ae655f..37d287c 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -152,6 +152,7 @@ public final class Constants { public static final class OIConstants { public static final int XBOX_DRIVER_ID = 0; public static final int XBOX_OPERATOR_ID = 1; + public static final int BUTTON_FOX_ID = 2; public static final double LEFT_AXIS_DEADBAND = 0.1; public static final double RIGHT_AXIS_DEADBAND = 0.6; public static final boolean SKEW_STICKS = true; diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index fc00270..e0241b7 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -82,6 +82,7 @@ import frc4388.utility.ListeningSendableChooser; import frc4388.utility.PathPlannerUtil; import frc4388.utility.Vector2D; import frc4388.utility.PathPlannerUtil.Path.Waypoint; +import frc4388.utility.controller.ButtonBox; import frc4388.utility.controller.DeadbandedXboxController; /** @@ -115,6 +116,7 @@ public class RobotContainer { /* Controllers */ private final XboxController m_driverXbox = new DeadbandedXboxController(OIConstants.XBOX_DRIVER_ID); private final XboxController m_operatorXbox = new DeadbandedXboxController(OIConstants.XBOX_OPERATOR_ID); + private final ButtonBox m_buttonFox = new ButtonBox(OIConstants.BUTTON_FOX_ID); /* Autonomous */ private PathPlannerTrajectory loadedPathTrajectory = null; @@ -221,6 +223,11 @@ public class RobotContainer { // .whenPressed(() -> m_robotMap.leftBack.reset()) // .whenPressed(() -> m_robotMap.rightBack.reset()); + + + + + /* Operator Buttons */ // X > Extend Intake @@ -263,6 +270,7 @@ public class RobotContainer { new JoystickButton(getOperatorController(), XboxController.Button.kA.value) .whileHeld(new RunCommand(() -> m_robotExtender.runExtender(1.0), m_robotExtender)) .whenReleased(new RunCommand(() -> m_robotExtender.runExtender(0.0), m_robotExtender)); + new JoystickButton(getOperatorController(), XboxController.Button.kB.value) .whileHeld(new RunCommand(() -> m_robotExtender.runExtender(-1.0), m_robotExtender)) .whenReleased(new RunCommand(() -> m_robotExtender.runExtender(0.0), m_robotExtender)); @@ -283,6 +291,36 @@ public class RobotContainer { //B > Shoot with Lime // new JoystickButton(getOperatorController(), XboxController.Button.kB.value) // .whenPressed(new TrackTarget(m_robotTurret, m_robotBoomBoom, m_robotHood, m_robotSwerveDrive, m_robotVisionOdometry)); + + + + + + /* Button Box Buttons */ + new JoystickButton(getButtonFox(), ButtonBox.Button.kLeftSwitch.value) + .whenPressed(new InstantCommand(() -> configureManualButtonBindings())) + .whenReleased(new InstantCommand(() -> configureButtonBindings())); + + new JoystickButton(getButtonFox(), ButtonBox.Button.kMiddleSwitch.value) + .whileHeld(new RunCommand(() -> System.out.println("MiddleSwitch"))); + + new JoystickButton(getButtonFox(), ButtonBox.Button.kRightSwitch.value) + .whileHeld(new RunCommand(() -> System.out.println("RightSwitch"))); + + new JoystickButton(getButtonFox(), ButtonBox.Button.kLeftButton.value) + .whileHeld(new RunCommand(() -> System.out.println("LeftButton"))); + + new JoystickButton(getButtonFox(), ButtonBox.Button.kRightButton.value) + .whileHeld(new RunCommand(() -> System.out.println("RightButton"))); + } + + public void configureManualButtonBindings() + { + new JoystickButton(getButtonFox(), ButtonBox.Button.kMiddleSwitch.value) + .whileHeld(new RunCommand(() -> System.out.println("Deez Nuts"))); + + new JoystickButton(getButtonFox(), ButtonBox.Button.kRightSwitch.value) + .whileHeld(new RunCommand(() -> System.out.println("Inna mouth"))); } /** @@ -317,6 +355,14 @@ public class RobotContainer { return m_driverXbox; } + public XboxController getOperatorController() { + return m_operatorXbox; + } + + public ButtonBox getButtonFox() { + return m_buttonFox; + } + /** * Get odometry. * @@ -335,10 +381,6 @@ public class RobotContainer { m_robotSwerveDrive.resetOdometry(pose); } - public XboxController getOperatorController() { - return m_operatorXbox; - } - /** * Creates a WatchKey for the path planner directory and registers it with the * WatchService. diff --git a/src/main/java/frc4388/robot/RobotMap.java b/src/main/java/frc4388/robot/RobotMap.java index 3aed04d..5e7360e 100644 --- a/src/main/java/frc4388/robot/RobotMap.java +++ b/src/main/java/frc4388/robot/RobotMap.java @@ -222,6 +222,7 @@ public class RobotMap { // // hood subsystem // angleAdjusterMotor.restoreFactoryDefaults(); // angleAdjusterMotor.setIdleMode(IdleMode.kBrake); +// angleAdjusterMotor.setInverted(true); // } diff --git a/src/main/java/frc4388/utility/controller/ButtonBox.java b/src/main/java/frc4388/utility/controller/ButtonBox.java new file mode 100644 index 0000000..741d79e --- /dev/null +++ b/src/main/java/frc4388/utility/controller/ButtonBox.java @@ -0,0 +1,23 @@ +package frc4388.utility.controller; + +import edu.wpi.first.wpilibj.GenericHID; + +public class ButtonBox extends GenericHID { + public ButtonBox(int port) { + super(port); + } + public enum Button { + kRightSwitch(1), + kMiddleSwitch(2), + kLeftSwitch(3), + kRightButton(4), + kLeftButton(5); + + @SuppressWarnings("MemberName") + public final int value; + + Button(int value) { + this.value = value; + } + } +}