|
1 | 1 | package frc.robot.subsystems.grabber; |
2 | 2 |
|
| 3 | +import static edu.wpi.first.units.Units.Amps; |
| 4 | +import static edu.wpi.first.units.Units.Radians; |
| 5 | +import static edu.wpi.first.units.Units.RadiansPerSecond; |
| 6 | +import static edu.wpi.first.units.Units.RadiansPerSecondPerSecond; |
| 7 | +import static edu.wpi.first.units.Units.Volts; |
3 | 8 |
|
| 9 | +import org.littletonrobotics.junction.AutoLog; |
| 10 | + |
| 11 | +import edu.wpi.first.units.measure.Angle; |
| 12 | +import edu.wpi.first.units.measure.AngularAcceleration; |
| 13 | +import edu.wpi.first.units.measure.AngularVelocity; |
| 14 | +import edu.wpi.first.units.measure.Current; |
| 15 | +import edu.wpi.first.units.measure.Voltage; |
4 | 16 |
|
5 | 17 | public interface GrabberIO { |
6 | 18 |
|
| 19 | + @AutoLog |
| 20 | + public class GrabberIOInputs { |
| 21 | + |
| 22 | + public Angle grabberPosition = Radians.zero(); |
| 23 | + public AngularVelocity grabberVelocity = RadiansPerSecond.zero(); |
| 24 | + public AngularAcceleration grabberAccel = RadiansPerSecondPerSecond.zero(); |
| 25 | + public Voltage grabberVoltage = Volts.zero(); |
| 26 | + public Current grabberCurrent = Amps.zero(); |
| 27 | + |
| 28 | + public boolean hasAlgae = false; |
| 29 | + public boolean algaeSensor1 = false; |
| 30 | + public boolean algaeSensor2 = false; |
| 31 | + |
| 32 | + public boolean hasCoral = false; |
| 33 | + public boolean coralSensor = false; |
| 34 | + } |
| 35 | + |
| 36 | + public default void updateInputs(GrabberIOInputs inputs){}; |
| 37 | + |
| 38 | + public default void setGrabberVoltage(Voltage voltage){}; |
| 39 | + |
| 40 | + public default void setGrabberTarget(Angle angle){}; |
| 41 | + |
| 42 | + |
7 | 43 | } |
0 commit comments