From 042c169b2c25b2aa1ab2e512f0708fe530741984 Mon Sep 17 00:00:00 2001 From: Shikhar Date: Thu, 9 Apr 2026 19:11:53 -0600 Subject: [PATCH] Encoder Fix code to test --- src/main/java/frc4388/robot/RobotContainer.java | 7 ++++++- src/main/java/frc4388/robot/subsystems/intake/Intake.java | 7 +++++++ .../frc4388/robot/subsystems/intake/IntakeConstants.java | 2 +- .../java/frc4388/robot/subsystems/intake/IntakeIO.java | 1 + .../java/frc4388/robot/subsystems/intake/IntakeReal.java | 5 +++++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index be41220..a61bcbf 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -167,7 +167,7 @@ public class RobotContainer { IntakeRetracted, new WaitCommand(4.4), new InstantCommand(() -> m_robotShooter.denyShooting(), m_robotShooter), - new InstantCommand(()->m_robotShooter.spinUpIdle(), m_robotShooter) + new InstantCommand(()-> m_robotShooter.spinUpIdle(), m_robotShooter) ); @@ -382,6 +382,11 @@ public class RobotContainer { m_robotIntake.setMode(IntakeMode.ExtendingRolling); })); + new JoystickButton(getDeadbandedOperatorController(), XboxController.BACK_BUTTON) + .onTrue(new InstantCommand(() -> { + m_robotIntake.setMode(IntakeMode.EncoderFix); + })); + new JoystickButton(getDeadbandedOperatorController(), XboxController.B_BUTTON) .onTrue(new InstantCommand(() -> { m_robotIntake.setMode(IntakeMode.LabubuGrowl); diff --git a/src/main/java/frc4388/robot/subsystems/intake/Intake.java b/src/main/java/frc4388/robot/subsystems/intake/Intake.java index 9ca2602..3732073 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/intake/Intake.java @@ -34,6 +34,7 @@ public class Intake extends SubsystemBase { ExtendingIdle, ExtendingRolling, + EncoderFix, Retracting, ArmIdleRollingNot, @@ -122,12 +123,18 @@ public class Intake extends SubsystemBase { io.armOutput(IntakeConstants.ARM_EXTEND_PERCENT_OUTPUT.get()); io.setRollerOutput(state, 0); break; + case ExtendingRolling: io.armOutput(IntakeConstants.ARM_EXTEND_PERCENT_OUTPUT.get()); io.setRollerOutput(state, IntakeConstants.ROLLER_PERCENT_OUTPUT.get()); //getTargetRollerSpeed(ChassisOverallSpeed)); break; + case EncoderFix: + io.armFix(IntakeConstants.FIX_ARM_PERCENT_OUTPUT.get()); + io.setRollerOutput(state, 0); + break; + case Retracting: io.armOutput(IntakeConstants.ARM_RETRACT_PERCENT_OUTPUT.get()); diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java index e884d92..d45eb91 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java @@ -37,7 +37,7 @@ public class IntakeConstants { // public static final ConfigurableDouble INTAKE_SQUEEZE_CURRENT_UPPER_THRESHOLD = new ConfigurableDouble("Intake Squeeze Current UPPER THRESHOLD", 25); public static final ConfigurableDouble ARM_SQUEEZE_PERCENT_OUTPUT = new ConfigurableDouble("Arm squeeze % output", -0.2); public static final ConfigurableDouble ARM_REDUCED_SQUEEZE_PERCENT_OUTPUT = new ConfigurableDouble("Arm reduce squeeze % output", 0.02); - + public static final ConfigurableDouble FIX_ARM_PERCENT_OUTPUT = new ConfigurableDouble("Arm encoder fix % output", -0.1); //IDs diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java index 706a37f..3838bc2 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java @@ -52,6 +52,7 @@ public interface IntakeIO { public default void stopArm() {} public default void setRollerOutput(IntakeState state, double rollerOutput) {} public default void armOutput(double percentOutput) {} + public default void armFix(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 c4ba79c..54edf4c 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java @@ -111,6 +111,11 @@ public class IntakeReal implements IntakeIO { } + @Override + public void armFix(double percentOutput) { + m_armMotor.set(percentOutput); + } + @Override public void updateInputs(IntakeState state) { m_encoder.update();