From 8f595e8741940f898085e13645369f0d51754c49 Mon Sep 17 00:00:00 2001 From: SHikhar Date: Sat, 14 Feb 2026 15:00:40 -0700 Subject: [PATCH] extending and retracting buttons x and y using percenoutput --- src/main/java/frc4388/robot/RobotContainer.java | 12 +++++++++++- .../java/frc4388/robot/constants/BuildConstants.java | 12 ++++++------ .../java/frc4388/robot/subsystems/intake/Intake.java | 8 ++++++++ .../robot/subsystems/intake/IntakeConstants.java | 4 +++- .../frc4388/robot/subsystems/intake/IntakeIO.java | 3 ++- .../frc4388/robot/subsystems/intake/IntakeReal.java | 9 +++++++++ 6 files changed, 39 insertions(+), 9 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 533ae87..76334a8 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -269,7 +269,17 @@ public class RobotContainer { .onFalse(new InstantCommand(() -> { m_robotShooter.setShooterNotReady(); })); - + + new JoystickButton(getDeadbandedOperatorController(), XboxController.Y_BUTTON) + .onFalse(new InstantCommand(() -> { + m_robotIntake.setMode(IntakeMode.Retracting); + })); + + new JoystickButton(getDeadbandedOperatorController(), XboxController.X_BUTTON) + .onFalse(new InstantCommand(() -> { + m_robotShooter.setShooterNotReady(); + m_robotIntake.setMode(IntakeMode.Extending); + })); } diff --git a/src/main/java/frc4388/robot/constants/BuildConstants.java b/src/main/java/frc4388/robot/constants/BuildConstants.java index f006470..9940184 100644 --- a/src/main/java/frc4388/robot/constants/BuildConstants.java +++ b/src/main/java/frc4388/robot/constants/BuildConstants.java @@ -7,12 +7,12 @@ public final class BuildConstants { public static final String MAVEN_GROUP = ""; public static final String MAVEN_NAME = "2026KPopRobotHunters"; public static final String VERSION = "unspecified"; - public static final int GIT_REVISION = 51; - public static final String GIT_SHA = "abc3dc6b144dc783d0ceac8861e847d5f5f9741d"; - public static final String GIT_DATE = "2026-02-14 12:50:09 MST"; - public static final String GIT_BRANCH = "shoot-button"; - public static final String BUILD_DATE = "2026-02-14 13:46:45 MST"; - public static final long BUILD_UNIX_TIME = 1771102005908L; + public static final int GIT_REVISION = 56; + public static final String GIT_SHA = "13b80c6341687f3972e9474507d1ef04edbf0773"; + public static final String GIT_DATE = "2026-02-14 13:50:55 MST"; + public static final String GIT_BRANCH = "operator-controls"; + public static final String BUILD_DATE = "2026-02-14 14:52:45 MST"; + public static final long BUILD_UNIX_TIME = 1771105965273L; public static final int DIRTY = 1; private BuildConstants(){} diff --git a/src/main/java/frc4388/robot/subsystems/intake/Intake.java b/src/main/java/frc4388/robot/subsystems/intake/Intake.java index 4483aa0..2b7fadc 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/intake/Intake.java @@ -31,6 +31,8 @@ public class Intake extends SubsystemBase { public enum IntakeMode { Extended, Retracted, + Extending, + Retracting } private IntakeMode mode = IntakeMode.Extended; @@ -82,6 +84,12 @@ public class Intake extends SubsystemBase { } io.setRollerVelocity(state, RotationsPerSecond.of(0)); break; + case Extending: + io.armExtend(IntakeConstants.ARM_EXTEND_PERCENT_OUTPUT.get()); + break; + case Retracting: + io.armRetract(IntakeConstants.ARM_RETRACT_PERCENT_OUTPUT.get()); + break; } } diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java index a4b7f50..3d6f2e5 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java @@ -16,6 +16,7 @@ public class IntakeConstants { public static final double ROLLER_MOTOR_GEAR_RATIO = 3; + //IDs public static final CanDevice ARM_ID = new CanDevice("ARM", 20); @@ -33,7 +34,8 @@ public class IntakeConstants { public static final ConfigurableDouble ARM_LIMIT_RETRACTED = new ConfigurableDouble("Arm angle retracted", -0.3*0); public static final ConfigurableDouble ARM_LIMIT_EXTENDED = new ConfigurableDouble("Arm angle extended", 0); - + public static final ConfigurableDouble ARM_EXTEND_PERCENT_OUTPUT = new ConfigurableDouble("Arm extend % output", 0.1); + public static final ConfigurableDouble ARM_RETRACT_PERCENT_OUTPUT = new ConfigurableDouble("Arm retract % output", -0.1); public static final ConfigurableDouble ROLLER_ACTIVE = new ConfigurableDouble("Rolelr Active", 10); // public static final ConfigurableDouble ROLL = new ConfigurableDouble("Arm angle extended", 0.25); diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java index c5f5b81..72b38ae 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java @@ -35,7 +35,8 @@ public interface IntakeIO { public default void setArmAngle(IntakeState state, Angle angle) {} public default void stopArm() {} public default void setRollerVelocity(IntakeState state, AngularVelocity angularVelocity) {} - + public default void armExtend(double percentOutput) {} + public default void armRetract(double percentOutput) {} public default void updateInputs(IntakeState state) {} public default void updateGains() {} } \ No newline at end of file diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java index 47f5b91..f48a9e8 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java @@ -82,6 +82,15 @@ public class IntakeReal implements IntakeIO { public void stopArm(){ m_armMotor.set(0); } + @Override + public void armExtend(double percentOutput){ + m_armMotor.set(percentOutput); + } + + @Override + public void armRetract(double percentOutput){ + m_armMotor.set(percentOutput); + } @Override public void updateInputs(IntakeState state) {