Update to 2026.1.1. Add a lot of shooter boilerplate

This commit is contained in:
Michael Mikovsky
2026-01-10 16:52:43 -07:00
parent 17c3ff1ec9
commit 8dbb9d5a90
17 changed files with 361 additions and 71 deletions
@@ -0,0 +1,42 @@
package frc4388.robot.subsystems.shooter;
import static edu.wpi.first.units.Units.Amps;
import static edu.wpi.first.units.Units.InchesPerSecond;
import static edu.wpi.first.units.Units.Rotations;
import static edu.wpi.first.units.Units.RotationsPerSecond;
import org.littletonrobotics.junction.AutoLog;
import edu.wpi.first.units.CurrentUnit;
import edu.wpi.first.units.measure.Angle;
import edu.wpi.first.units.measure.AngularVelocity;
import edu.wpi.first.units.measure.Current;
import edu.wpi.first.units.measure.LinearVelocity;
public interface ShooterIO {
@AutoLog
public class ShooterState {
Angle shooterAngle = Rotations.of(0);
Angle shooterTargetAngle = Rotations.of(0);
Current angleMotorCurrent = Amps.of(0);
Angle shooterPitch = Rotations.of(0);
Angle shooterTargetPitch = Rotations.of(0);
Current pitchMotorCurrent = Amps.of(0);
AngularVelocity flywheelVelocity = RotationsPerSecond.of(0);
AngularVelocity flywheelTargetVelocity = RotationsPerSecond.of(0);
Current flywheelMotorCurrent = Amps.of(0);
LinearVelocity feederVelocity = InchesPerSecond.of(0);
LinearVelocity feederTargetVelocity = InchesPerSecond.of(0);
Current feederMotorCurrent = Amps.of(0);
}
public default void setShooterAngle(ShooterState state, Angle angle) {}
public default void setShooterPitch(ShooterState state, Angle angle) {}
public default void setFlywheelVelocity(ShooterState state, AngularVelocity angularVelocity) {}
public default void setFeederVelocity(ShooterState state, LinearVelocity linearVelocity) {}
public default void updateInputs(ShooterState state) {}
}