]> git.taranathan.com Git - FRC2026.git/commitdiff
states
authorWesley28w <wesleycwong@gmail.com>
Tue, 3 Mar 2026 18:08:37 +0000 (10:08 -0800)
committerWesley28w <wesleycwong@gmail.com>
Tue, 3 Mar 2026 18:08:37 +0000 (10:08 -0800)
src/main/java/frc/robot/commands/gpm/RunSpindexer.java
src/main/java/frc/robot/subsystems/spindexer/Spindexer.java

index 7ffc366641d4e629c7ff16a623c0000d76489152..45bc8e6c220b9f8c4a913fb274f56d1e76fcd599 100644 (file)
@@ -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
index 70c2e1e4acf3b5e0807945662f5bba1eef9c4918..eba194e8942ae0682f809eb16e3823c975973147 100644 (file)
@@ -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