From: iefomit Date: Wed, 18 Feb 2026 20:15:36 +0000 (-0800) Subject: update ball counter X-Git-Url: https://git.taranathan.com/?a=commitdiff_plain;h=5579389b0e1dc2bbec1774b23837b7ff3974dcd1;p=FRC2026.git update ball counter counts balls only during velocity change --- diff --git a/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java b/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java index 40d94f3..0d26d1c 100644 --- a/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java +++ b/src/main/java/frc/robot/subsystems/spindexer/Spindexer.java @@ -6,15 +6,17 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.robot.constants.IdConstants; -public class Spindexer extends SubsystemBase implements SpindexerIO{ +public class Spindexer extends SubsystemBase implements SpindexerIO { TalonFX motor = new TalonFX(IdConstants.SPINDEXER_ID); private double power = 0.0; public int ballCount = 0; private SpindexerIOInputsAutoLogged inputs = new SpindexerIOInputsAutoLogged(); + private boolean wasAboveThreshold = false; - public Spindexer(){ - //SmartDashboard.putData("Turn on Spindexer", new InstantCommand(()-> turnOnSpindexer())); + public Spindexer() { + // SmartDashboard.putData("Turn on Spindexer", new InstantCommand(()-> + // turnOnSpindexer())); } @Override @@ -23,19 +25,23 @@ public class Spindexer extends SubsystemBase implements SpindexerIO{ SmartDashboard.putNumber("Spindexer Power", power); motor.set(power); - if (inputs.spindexerVelocity < SpindexerConstants.spindexerVelocityWithBall) { + updateInputs(); + + boolean isAboveThreshold = inputs.spindexerVelocity >= SpindexerConstants.spindexerVelocityWithBall; + if (wasAboveThreshold && !isAboveThreshold && power > 0.1) { ballCount++; } + wasAboveThreshold = isAboveThreshold; } /** - * @return + * @return */ - public void maxSpindexer(){ + public void maxSpindexer() { power = 0.5; } - public void stopSpindexer(){ + public void stopSpindexer() { power = 0.0; }