Files
2026KPopRobotHunters/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java
T
2026-04-10 13:59:21 -06:00

59 lines
2.2 KiB
Java

package frc4388.robot.subsystems.intake;
import static edu.wpi.first.units.Units.Amps;
import static edu.wpi.first.units.Units.Rotations;
import static edu.wpi.first.units.Units.RotationsPerSecond;
import static edu.wpi.first.units.Units.RotationsPerSecondPerSecond;
import org.littletonrobotics.junction.AutoLog;
import edu.wpi.first.units.measure.Angle;
import edu.wpi.first.units.measure.AngularAcceleration;
import edu.wpi.first.units.measure.AngularVelocity;
import edu.wpi.first.units.measure.Current;
public interface IntakeIO {
@AutoLog
public class IntakeState {
double currentBounceTime = 0;
boolean retractedLimitSwitch = false;
boolean extendedSoftLimit = false;
boolean retractedSoftLimit = false;
boolean encoderConnected = false;
Angle intakeEncoder = Rotations.of(0);
Angle armAngle = Rotations.of(0);
Angle armTargetAngle = Rotations.of(0);
Current armMotorCurrent = Amps.of(0);
AngularVelocity armMotorVelocity = RotationsPerSecond.of(0);
// AngularAcceleration armMotorAcceleration = RotationsPerSecondPerSecond.of(0);
// Angle shooterPitch = Rotations.of(0);
// Angle shooterTargetPitch = Rotations.of(0);
// Current pitchMotorCurrent = Amps.of(0);
double rollerOutput = 0;
double rollerTargetOutput = 0;
Current rollerMotorCurrent = 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 setArmAngle(IntakeState state, Angle angle) {}
public default void testSetArmAngle(IntakeState state, Angle angle){}
public default void stopArm() {}
public default void setRollerOutput(IntakeState state, double rollerOutput) {}
public default void armOutput(double percentOutput) {}
public default void armFix(double percentOutput) {}
public default void updateInputs(IntakeState state) {}
public default void updateGains() {}
public default void fixEncoder() {}
}