Fix shooter idle speed.

This commit is contained in:
Shikhar
2026-02-25 17:34:24 -07:00
parent 3197a3dce0
commit 835d8779b0
5 changed files with 28 additions and 28 deletions
@@ -217,9 +217,9 @@ public class Shooter extends SubsystemBase {
io.setShooterCurrentLimitSpeed(
state,
ShooterConstants.SHOOTER_IDLE_PERCENT_OUTPUT.get(),
Amps.of(ShooterConstants.SHOOTER_IDLE_MAX_CURRENT.get()),
RotationsPerSecond.of(ShooterConstants.INDEXER_REVERSE_OUTPUT.get())
ShooterConstants.SHOOTER_IDLE_PERCENT_OUTPUT.get()
// Amps.of(ShooterConstants.SHOOTER_IDLE_MAX_CURRENT.get()),
// RotationsPerSecond.of(ShooterConstants.INDEXER_REVERSE_OUTPUT.get())
);
io.setIndexerOutput(state, ShooterConstants.INDEXER_REVERSE_OUTPUT.get());
m_robotLED.setMode(Constants.LEDConstants.DEFAULT_PATTERN);
@@ -23,8 +23,8 @@ public class ShooterConstants {
// public static final ConfigurableDouble SHOOTER_RESTING_VELOCITY = new ConfigurableDouble("Shooter Resting Velocity", 0.0);
public static final ConfigurableDouble SHOOTER_IDLE_PERCENT_OUTPUT = new ConfigurableDouble("Shooter idle % output", 0.3);
public static final ConfigurableDouble SHOOTER_IDLE_TARGET_VEL = new ConfigurableDouble("Shooter idle target velocity", 20.);
public static final ConfigurableDouble SHOOTER_IDLE_MAX_CURRENT = new ConfigurableDouble("Shooter Idle max current", 10);
// public static final ConfigurableDouble SHOOTER_IDLE_TARGET_VEL = new ConfigurableDouble("Shooter idle target velocity", 20.);
// public static final ConfigurableDouble SHOOTER_IDLE_MAX_CURRENT = new ConfigurableDouble("Shooter Idle max current", 10);
public static final ConfigurableDouble INDEXER_FORWARD_OUTPUT = new ConfigurableDouble("Indexer FWD % Output", -0.4);
public static final ConfigurableDouble INDEXER_REVERSE_OUTPUT = new ConfigurableDouble("Indexer reverse % Output", 0.0);
@@ -40,9 +40,9 @@ public interface ShooterIO {
public default void setShooterVelocity(ShooterState state, AngularVelocity angularVelocity) {}
public default void setShooterCurrentLimitSpeed(
ShooterState state,
double percentOutput,
Current currentLimit,
AngularVelocity targetVelocity
double percentOutput
// Current currentLimit,
// AngularVelocity targetVelocity
) {}
// public default void setMotor2Velocity(ShooterState state, AngularVelocity angularVelocity) {}
public default void setIndexerOutput(ShooterState state, double percentOutput) {}
@@ -61,26 +61,26 @@ public class ShooterReal implements ShooterIO {
@Override
public void setShooterCurrentLimitSpeed(
ShooterState state,
double percentOutput,
Current currentLimit,
AngularVelocity targetVelocity
double percentOutput
// Current currentLimit,
// AngularVelocity targetVelocity
) {
state.motor1TargetVelocity = targetVelocity;
state.motor2TargetVelocity = targetVelocity;
// state.motor1TargetVelocity = targetVelocity;
// state.motor2TargetVelocity = targetVelocity;
double current = Math.abs(state.motor1Current.in(Amps)) + Math.abs(state.motor2Current.in(Amps));
double velocity = (Math.abs(state.motor1Velocity.in(RotationsPerSecond)) + Math.abs(state.motor2Velocity.in(RotationsPerSecond))) / 2;
// double current = Math.abs(state.motor1Current.in(Amps)) + Math.abs(state.motor2Current.in(Amps));
// double velocity = (Math.abs(state.motor1Velocity.in(RotationsPerSecond)) + Math.abs(state.motor2Velocity.in(RotationsPerSecond))) / 2;
if(
Math.abs(currentLimit.in(Amps)) > current &&
Math.abs(targetVelocity.in(RotationsPerSecond)) > velocity
) {
// if(
// Math.abs(currentLimit.in(Amps)) > current &&
// Math.abs(targetVelocity.in(RotationsPerSecond)) > velocity
// ) {
m_shooter1Motor.set(percentOutput);
m_shooter2Motor.set(percentOutput);
} else {
m_shooter1Motor.set(0);
m_shooter2Motor.set(0);
}
// } else {
// m_shooter1Motor.set(0);
// m_shooter2Motor.set(0);
// }
}
@Override