diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ff7cce9..9b16262 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,3 +28,19 @@ jobs: # Runs a single command using the runners shell - name: Compile and run tests on robot code run: ./gradlew build + + # Check code formatting with Spotless + spotless: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 17 + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Check code formatting + run: ./gradlew spotlessCheck \ No newline at end of file diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 2e4003d..bdc74e7 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -13,21 +13,19 @@ 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; import static edu.wpi.first.units.Units.RotationsPerSecond; import static edu.wpi.first.units.Units.RotationsPerSecondPerSecond; import static edu.wpi.first.units.Units.Second; +import static edu.wpi.first.units.Units.Volts; import edu.wpi.first.apriltag.AprilTagFieldLayout; import edu.wpi.first.apriltag.AprilTagFields; 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; @@ -97,7 +95,8 @@ public class HopperConstants { 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); + public static final AngularAcceleration ANGULAR_ACCELERATION = + RotationsPerSecondPerSecond.of(1); } public class Ports { @@ -152,7 +151,7 @@ public class FeederConstants { public static final AngularVelocity FEED_SPEED = RotationsPerSecond.of(0.0); public static final AngularAcceleration FEED_ACCELERATION = RotationsPerSecondPerSecond.of(0.0); } - + public class ClimberConstants { public static final Distance TOLERANCE = Inches.of(0.1); public static final double GEARING = (5.0 / 1.0); diff --git a/src/main/java/frc/robot/subsystems/LEDs/LEDs.java b/src/main/java/frc/robot/subsystems/LEDs/LEDs.java index 77517da..aba0e14 100644 --- a/src/main/java/frc/robot/subsystems/LEDs/LEDs.java +++ b/src/main/java/frc/robot/subsystems/LEDs/LEDs.java @@ -10,7 +10,6 @@ public LEDs(LightsIO io) { _io = io; } - @Override - public void periodic() {} - + @Override + public void periodic() {} } diff --git a/src/main/java/frc/robot/subsystems/Vision/Vision.java b/src/main/java/frc/robot/subsystems/Vision/Vision.java index ba4b9dc..b8c97b6 100644 --- a/src/main/java/frc/robot/subsystems/Vision/Vision.java +++ b/src/main/java/frc/robot/subsystems/Vision/Vision.java @@ -1,18 +1,15 @@ package frc.robot.subsystems.Vision; import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.robot.Constants; import frc.lib.W8.io.vision.VisionIO; public class Vision extends SubsystemBase { - private final VisionIO _io; + private final VisionIO _io; - public Vision(VisionIO io) { - _io = io; - } + public Vision(VisionIO io) { + _io = io; + } - @Override - public void periodic() { - - } + @Override + public void periodic() {} } diff --git a/src/main/java/frc/robot/subsystems/hopper/Hopper.java b/src/main/java/frc/robot/subsystems/hopper/Hopper.java index e86d633..a9f17fe 100644 --- a/src/main/java/frc/robot/subsystems/hopper/Hopper.java +++ b/src/main/java/frc/robot/subsystems/hopper/Hopper.java @@ -1,43 +1,44 @@ package frc.robot.subsystems.hopper; +import static edu.wpi.first.units.Units.*; import static edu.wpi.first.units.Units.Inches; +import edu.wpi.first.units.measure.*; import edu.wpi.first.units.measure.Distance; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.lib.W8.io.motor.MotorIO.PIDSlot; import frc.lib.W8.mechanisms.flywheel.FlywheelMechanism; -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 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)); - private final AngularVelocity _stateVelocity; + private final AngularVelocity _stateVelocity; - private State(AngularVelocity stateVelocity) { - _stateVelocity = stateVelocity; - } + private State(AngularVelocity stateVelocity) { + _stateVelocity = stateVelocity; } + } - public Hopper(FlywheelMechanism io) { - _io = 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); + _io.runPosition( + HopperConstants.CONVERTER.toAngle(positionInches), + HopperConstants.ANGULAR_VELOCITY, + HopperConstants.ANGULAR_ACCELERATION, + null, + PIDSlot.SLOT_0); } @Override diff --git a/src/main/java/frc/robot/subsystems/intake/Intake.java b/src/main/java/frc/robot/subsystems/intake/Intake.java index 3684c58..7071705 100644 --- a/src/main/java/frc/robot/subsystems/intake/Intake.java +++ b/src/main/java/frc/robot/subsystems/intake/Intake.java @@ -27,11 +27,11 @@ public void setVelocity(double velocity) { } public AngularVelocity getVelocity() { - return _io.getVelocity(); + return _rollerIO.getVelocity(); } public Angle getPosition() { - return _io.getPosition(); + return _pivotIO.getPosition(); } public void stop() { diff --git a/src/main/java/frc/robot/subsystems/shooter/Shooter.java b/src/main/java/frc/robot/subsystems/shooter/Shooter.java index bcb6880..fd86a44 100644 --- a/src/main/java/frc/robot/subsystems/shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/shooter/Shooter.java @@ -2,23 +2,13 @@ import static edu.wpi.first.units.Units.RotationsPerSecond; +import edu.wpi.first.units.Units; import edu.wpi.first.units.measure.AngularVelocity; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.lib.W8.io.motor.MotorIO.PIDSlot; import frc.lib.W8.mechanisms.flywheel.FlywheelMechanism; -import frc.robot.Constants.ShooterConstants; - -import static edu.wpi.first.units.Units.Inches; -import static edu.wpi.first.units.Units.Meters; -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 static edu.wpi.first.units.Units.Second; -import edu.wpi.first.units.Units; -import edu.wpi.first.units.measure.AngularAcceleration; -import edu.wpi.first.units.measure.AngularVelocity; import frc.robot.Constants.FeederConstants; import frc.robot.Constants.ShooterConstants; @@ -48,14 +38,15 @@ public void setFlywheelVelocity(double velocity) { } public enum State { - OFF(Units.RevolutionsPerSecond.of(0.0)), - IDLE(Units.RevolutionsPerSecond.of(ShooterConstants.IDLE_SPEED_RPM/60)), - SHOOT_FROM_HUB(Units.RevolutionsPerSecond.of(ShooterConstants.HUB_SPEED_RPM/60)), - SHOOT_FROM_TOWER(Units.RevolutionsPerSecond.of(ShooterConstants.TOWER_SPEED_RPM/60)), - SHOOT(Units.RevolutionsPerSecond.of(ShooterConstants.DEFAULT_SPEED_RPM/60)), - SHOOT_ON_MOVE(Units.RevolutionsPerSecond.of(ShooterConstants.DEFAULT_SPEED_RPM/60)); - + OFF(Units.RevolutionsPerSecond.of(0.0)), + IDLE(Units.RevolutionsPerSecond.of(ShooterConstants.IDLE_SPEED_RPM / 60)), + SHOOT_FROM_HUB(Units.RevolutionsPerSecond.of(ShooterConstants.HUB_SPEED_RPM / 60)), + SHOOT_FROM_TOWER(Units.RevolutionsPerSecond.of(ShooterConstants.TOWER_SPEED_RPM / 60)), + SHOOT(Units.RevolutionsPerSecond.of(ShooterConstants.DEFAULT_SPEED_RPM / 60)), + SHOOT_ON_MOVE(Units.RevolutionsPerSecond.of(ShooterConstants.DEFAULT_SPEED_RPM / 60)); + private final AngularVelocity stateVelocity; + State(AngularVelocity stateVelocity) { this.stateVelocity = stateVelocity; } @@ -72,18 +63,17 @@ public Command shoot(double velocity) { () -> { setFlywheelVelocity(velocity); }) - .until( - () -> flyAtVelocity()) + .until(() -> flyAtVelocity()) .andThen( () -> { runFeeder(); }) .andThen( - ()->{ - setFlywheelVelocity(0); - }); + () -> { + setFlywheelVelocity(0); + }); } - + @Override public void periodic() {} }