Files
2026KPopRobotHunters/src/main/java/frc4388/robot/subsystems/shooter/ShooterIO.java
T

54 lines
2.0 KiB
Java
Raw Normal View History

package frc4388.robot.subsystems.shooter;
import static edu.wpi.first.units.Units.Amps;
import static edu.wpi.first.units.Units.RotationsPerSecond;
import org.littletonrobotics.junction.AutoLog;
import edu.wpi.first.units.measure.AngularVelocity;
import edu.wpi.first.units.measure.Current;
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);
2026-01-27 18:13:51 -07:00
AngularVelocity motor1TargetVelocity = RotationsPerSecond.of(0);
AngularVelocity motor2TargetVelocity = RotationsPerSecond.of(0);
2026-02-16 18:21:53 -07:00
double indexerTargetOutput = 0;
2026-01-27 19:15:37 -07:00
AngularVelocity motor1Velocity = RotationsPerSecond.of(0);
AngularVelocity motor2Velocity = RotationsPerSecond.of(0);
2026-02-16 18:21:53 -07:00
double indexerOutput = 0;
2026-01-27 19:15:37 -07:00
2026-01-27 18:13:51 -07:00
Current motor1Current = Amps.of(0);
2026-01-27 19:15:37 -07:00
Current motor2Current = Amps.of(0);
Current indexerCurrent = Amps.of(0);
2026-01-27 18:13:51 -07:00
2026-02-09 17:18:54 -08:00
// LinearVelocity motorLinearVelocity = InchesPerSecond.of(0);
}
// public default void setShooterAngle(ShooterState state, Angle angle) {}
// public default void setShooterPitch(ShooterState state, Angle angle) {}
2026-02-09 17:18:54 -08:00
public default void setShooterVelocity(ShooterState state, AngularVelocity angularVelocity) {}
2026-02-24 13:50:30 -07:00
public default void setShooterCurrentLimitSpeed(
ShooterState state,
2026-02-25 17:34:24 -07:00
double percentOutput
// Current currentLimit,
// AngularVelocity targetVelocity
2026-02-24 13:50:30 -07:00
) {}
2026-02-09 17:18:54 -08:00
// public default void setMotor2Velocity(ShooterState state, AngularVelocity angularVelocity) {}
2026-02-16 18:21:53 -07:00
public default void setIndexerOutput(ShooterState state, double percentOutput) {}
public default void updateInputs(ShooterState state) {}
2026-02-09 17:18:54 -08:00
public default void updateGains() {}
}