From: Wesley28w Date: Tue, 3 Mar 2026 18:08:37 +0000 (-0800) Subject: states X-Git-Url: https://git.taranathan.com/?a=commitdiff_plain;h=41c4742766020727f4c3e3d78ff849efd9f60ab0;p=FRC2026.git states --- diff --git a/src/main/java/frc/robot/commands/gpm/RunSpindexer.java b/src/main/java/frc/robot/commands/gpm/RunSpindexer.java index 7ffc366..45bc8e6 100644 --- a/src/main/java/frc/robot/commands/gpm/RunSpindexer.java +++ b/src/main/java/frc/robot/commands/gpm/RunSpindexer.java @@ -6,22 +6,15 @@ import frc.robot.subsystems.turret.Turret; public class RunSpindexer extends Command { private Spindexer spindexer; - private Turret turret; - - public RunSpindexer(Spindexer spindexer, Turret turret){ + public RunSpindexer(Spindexer spindexer){ this.spindexer = spindexer; - this.turret = turret; addRequirements(spindexer); } @Override public void execute() { - //if (turret.atSetpoint()){ - spindexer.maxSpindexer(); - // } else{ - // spindexer.stopSpindexer(); - // } + spindexer.maxSpindexer(); } @Override diff --git a/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java b/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java index 70c2e1e..eba194e 100644 --- a/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java +++ b/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java @@ -16,8 +16,8 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { private double power = 0.0; public int ballCount = 0; private boolean wasSpindexerSlow = false; + private SpindexerState state = SpindexerState.STOPPED; private SpindexerIOInputsAutoLogged inputs = new SpindexerIOInputsAutoLogged(); - public Spindexer() { updateInputs(); @@ -30,12 +30,27 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { motor.getConfigurator().apply(limitConfig); } + public enum SpindexerState { + MAX, + REVERSE, + STOPPED, + CUSTOM, + } + @Override public void periodic() { updateInputs(); Logger.processInputs("Spindexer", inputs); - motor.set(power); + if (state == SpindexerState.MAX) { + motor.set(SpindexerConstants.spindexerMaxPower); + } else if (state == SpindexerState.REVERSE) { + motor.set(SpindexerConstants.spindexerReversePower); + } else if (state == SpindexerState.STOPPED) { + motor.set(0.0); + } else { + motor.set(power); + } // scale threshold based on power double velocityThreshold = SpindexerConstants.spindexerVelocityWithBall * power; @@ -49,19 +64,20 @@ public class Spindexer extends SubsystemBase implements SpindexerIO { } public void maxSpindexer() { - power = SpindexerConstants.spindexerMaxPower; + state = SpindexerState.MAX; } public void reverseSpindexer(){ - power = SpindexerConstants.spindexerReversePower; + state = SpindexerState.REVERSE; } public void stopSpindexer() { - power = 0.0; + state = SpindexerState.STOPPED; } public void setSpindexer(double power) { this.power = power; + state = SpindexerState.CUSTOM; } @Override