diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 3cfd7aa..65a5b34 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -13,6 +13,8 @@ package frc.robot; +import static edu.wpi.first.units.Units.Inches; +import static edu.wpi.first.units.Units.Volts; import static edu.wpi.first.units.Units.Inches; import static edu.wpi.first.units.Units.Meters; import static edu.wpi.first.units.Units.Rotations; @@ -30,6 +32,7 @@ import edu.wpi.first.units.measure.AngularVelocity; import edu.wpi.first.units.measure.Distance; import edu.wpi.first.units.measure.Velocity; +import edu.wpi.first.units.measure.Voltage; import edu.wpi.first.wpilibj.RobotBase; import frc.lib.W8.mechanisms.linear.LinearMechanism.LinearMechCharacteristics; import frc.lib.W8.mechanisms.rotary.RotaryMechanism.RotaryMechCharacteristics; @@ -84,7 +87,8 @@ 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); - private static final Distance DRUM_RADIUS = Inches.of(2.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); public static final AngularVelocity ANGULAR_VELOCITY = RotationsPerSecond.of(1); public static final AngularAcceleration ANGULAR_ACCELERATION = RotationsPerSecondPerSecond.of(1); diff --git a/src/main/java/frc/robot/subsystems/hopper/Hopper.java b/src/main/java/frc/robot/subsystems/hopper/Hopper.java index 95f1b8e..f3170b0 100644 --- a/src/main/java/frc/robot/subsystems/hopper/Hopper.java +++ b/src/main/java/frc/robot/subsystems/hopper/Hopper.java @@ -11,16 +11,20 @@ public class Hopper extends SubsystemBase { -private FlywheelMechanism _io; - -public Hopper(FlywheelMechanism io) { -_io = io; -} - -public void setGoal(double position) { - Distance positionInches = Inches.of(position); - _io.runPosition(HopperConstants.CONVERTER.toAngle(positionInches), HopperConstants.ANGULAR_VELOCITY, HopperConstants.ANGULAR_ACCELERATION, null, PIDSlot.SLOT_0); -} + private FlywheelMechanism _io; + + public Hopper(FlywheelMechanism io) { + _io = io; + } + + public void setGoal(double position) { + Distance positionInches = Inches.of(position); + _io.runPosition(HopperConstants.CONVERTER.toAngle(positionInches), HopperConstants.ANGULAR_VELOCITY, HopperConstants.ANGULAR_ACCELERATION, null, PIDSlot.SLOT_0); + } + + public void runHopper() { + _io.runVoltage(HopperConstants.VOLTAGE); + } @Override public void periodic() {}