Files
2026KPopRobotHunters/src/main/java/frc4388/robot/subsystems/intake/IntakeIO.java
T

59 lines
2.2 KiB
Java
Raw Normal View History

2026-01-27 18:16:23 -08:00
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;
2026-02-27 20:53:02 -08:00
import static edu.wpi.first.units.Units.RotationsPerSecondPerSecond;
2026-01-27 18:16:23 -08:00
import org.littletonrobotics.junction.AutoLog;
import edu.wpi.first.units.measure.Angle;
2026-02-27 20:38:24 -08:00
import edu.wpi.first.units.measure.AngularAcceleration;
import edu.wpi.first.units.measure.AngularVelocity;
2026-01-27 18:16:23 -08:00
import edu.wpi.first.units.measure.Current;
public interface IntakeIO {
@AutoLog
public class IntakeState {
2026-03-25 11:15:46 -06:00
double currentBounceTime = 0;
2026-03-28 15:56:54 -06:00
boolean retractedLimitSwitch = false;
boolean extendedSoftLimit = false;
boolean retractedSoftLimit = false;
2026-03-30 18:57:14 -06:00
boolean encoderConnected = false;
2026-03-28 13:30:33 -06:00
Angle intakeEncoder = Rotations.of(0);
2026-01-27 18:16:23 -08:00
Angle armAngle = Rotations.of(0);
Angle armTargetAngle = Rotations.of(0);
Current armMotorCurrent = Amps.of(0);
2026-03-28 13:30:33 -06:00
2026-02-27 20:53:02 -08:00
AngularVelocity armMotorVelocity = RotationsPerSecond.of(0);
2026-03-28 09:59:30 -06:00
// AngularAcceleration armMotorAcceleration = RotationsPerSecondPerSecond.of(0);
2026-02-27 20:19:01 -08:00
2026-01-27 18:16:23 -08:00
// Angle shooterPitch = Rotations.of(0);
// Angle shooterTargetPitch = Rotations.of(0);
// Current pitchMotorCurrent = Amps.of(0);
2026-02-17 18:53:26 -08:00
double rollerOutput = 0;
double rollerTargetOutput = 0;
2026-01-27 18:16:23 -08:00
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) {}
2026-02-27 20:53:02 -08:00
public default void testSetArmAngle(IntakeState state, Angle angle){}
2026-02-14 10:55:51 -08:00
public default void stopArm() {}
2026-02-17 18:53:26 -08:00
public default void setRollerOutput(IntakeState state, double rollerOutput) {}
2026-02-16 15:57:24 -07:00
public default void armOutput(double percentOutput) {}
2026-04-09 19:11:53 -06:00
public default void armFix(double percentOutput) {}
2026-01-27 18:16:23 -08:00
public default void updateInputs(IntakeState state) {}
2026-02-09 17:18:54 -08:00
public default void updateGains() {}
2026-04-10 13:59:21 -06:00
public default void fixEncoder() {}
2026-01-27 18:16:23 -08:00
}