Files
2026KPopRobotHunters/src/main/java/frc4388/robot/subsystems/shooter/ShooterIO.java
T
2026-01-27 18:13:51 -07:00

45 lines
1.9 KiB
Java

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 motor1TargetVelocity = RotationsPerSecond.of(0);
AngularVelocity motor2TargetVelocity = RotationsPerSecond.of(0);
AngularVelocity indexerTargetVelocity = RotationsPerSecond.of(0);
Current motor1Current = Amps.of(0);
LinearVelocity motorLinearVelocity = InchesPerSecond.of(0);
AngularVelocity motorVelocity = RotationsPerSecond.of(0);
AngularVelocity motorTargetVelocity = RotationsPerSecond.of(0);
Current motor2Current = Amps.of(0);
}
// public default void setShooterAngle(ShooterState state, Angle angle) {}
// public default void setShooterPitch(ShooterState state, Angle angle) {}
public default void setMotor1Velocity(ShooterState state, AngularVelocity angularVelocity) {}
public default void setMotor2Velocity(ShooterState state, AngularVelocity linearVelocity) {}
public default void setIndexerVelocity(ShooterState state, AngularVelocity linearVelocity) {}
public default void updateInputs(ShooterState state) {}
}