diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 9ea7489..8579bd1 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -27,6 +27,7 @@ import edu.wpi.first.math.geometry.Translation2d; import edu.wpi.first.math.geometry.Translation3d; import edu.wpi.first.units.AngularAccelerationUnit; +import edu.wpi.first.units.AngularVelocityUnit; import edu.wpi.first.units.measure.Angle; import edu.wpi.first.units.measure.AngularAcceleration; import edu.wpi.first.units.measure.AngularVelocity; @@ -87,6 +88,11 @@ public class HopperConstants { public static final Distance MIN_DISTANCE = Inches.of(0.0); public static final Distance MAX_DISTANCE = Inches.of(15.0); public static final Distance STARTING_DISTANCE = Inches.of(0.0); + + // CHANGE TO PROPER RPMS !!!! + public static final double SLOW_SPEED_RPM = 0.0; + public static final double FAST_SPEED_RPM = 0.0; + public static final double REVERSE_SPEED_RPM = 0.0; public static final Voltage VOLTAGE = Volts.of(12.0); public static final Distance DRUM_RADIUS = Inches.of(2.0); public static final DistanceAngleConverter CONVERTER = new DistanceAngleConverter(DRUM_RADIUS); diff --git a/src/main/java/frc/robot/subsystems/hopper/Hopper.java b/src/main/java/frc/robot/subsystems/hopper/Hopper.java index a9d351e..d1ac91f 100644 --- a/src/main/java/frc/robot/subsystems/hopper/Hopper.java +++ b/src/main/java/frc/robot/subsystems/hopper/Hopper.java @@ -9,13 +9,31 @@ import frc.robot.Constants; import frc.robot.Constants.HopperConstants; +import static edu.wpi.first.units.Units.*; + +import edu.wpi.first.units.measure.*; +import frc.robot.Constants.HopperConstants; + public class Hopper extends SubsystemBase { + private FlywheelMechanism _io; - private FlywheelMechanism _io; + public enum State + { + OFF (RevolutionsPerSecond.of(0.0)), + FORWARD_SLOW (RevolutionsPerSecond.of(HopperConstants.SLOW_SPEED_RPM/60)), + FORWARD_FAST (RevolutionsPerSecond.of(HopperConstants.FAST_SPEED_RPM/60)), + REVERSE (RevolutionsPerSecond.of(HopperConstants.REVERSE_SPEED_RPM/60)); - public Hopper(FlywheelMechanism io) { - _io = io; - } + private final AngularVelocity _stateVelocity; + + private State(AngularVelocity stateVelocity) { + _stateVelocity = stateVelocity; + } + } + + public Hopper(FlywheelMechanism io) { + _io = io; + } public void setGoal(double position) { Distance positionInches = Inches.of(position);