From a6403aaa8f94d699fbbf340ec2ff134c758276fd Mon Sep 17 00:00:00 2001 From: moo Date: Sun, 29 Mar 2026 16:08:04 -0700 Subject: [PATCH] woops --- .../java/frc/robot/subsystems/spindexer/Spindexer.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java b/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java index df6bb83..f33331b 100644 --- a/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java +++ b/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java @@ -37,6 +37,8 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { SmartDashboard.putData("Spindexer Run Forward", new InstantCommand(() -> maxSpindexer())); SmartDashboard.putData("Spindexer Run Reverse", new InstantCommand(() -> reverseSpindexer())); SmartDashboard.putData("Spindexer Stop", new InstantCommand(() -> stopSpindexer())); + + resetPID.setTolerance(0.05); } public enum SpindexerState { @@ -53,7 +55,8 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { Logger.processInputs("Spindexer", inputs); if (resetPos == null) { - resetPos = (motor.getPosition().getValueAsDouble() % gearRatio) % 1.0; + motor.setPosition(0.5 * gearRatio); + resetPos = (motor.getPosition().getValueAsDouble() / gearRatio) % 1.0; resetPID.reset(); } @@ -67,7 +70,7 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { motor.set(0.0); reversing = false; } else if (state == SpindexerState.RESET && resetPos != null) { - motor.set(resetPID.calculate((motor.getPosition().getValueAsDouble() % gearRatio) % 1.0, resetPos)); + motor.set(resetPID.calculate((motor.getPosition().getValueAsDouble() / gearRatio) % 1.0, resetPos)); } else { motor.set(power); reversing = false; @@ -135,7 +138,7 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { } private Double resetPos; - private PIDController resetPID = new PIDController(0.5, 0.1, 0); + private PIDController resetPID = new PIDController(1.0, 0.0, 0); private final double gearRatio = 27.0 / 1.0; //spindexer spins once for every 27 motor spins -- 2.39.5