From eb991f192287fcf2f4fb9d80eafaa15c05cc1436 Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 14 Feb 2026 14:19:01 -0500 Subject: [PATCH 01/10] alarm???????????? yes!!!!!!!!!!!!!!!!!!!!!!!!!! --- src/main/java/frc/robot/Robot.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index d1c197b..ee8a658 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -16,6 +16,10 @@ import com.ctre.phoenix6.swerve.SwerveModuleConstants; import com.ctre.phoenix6.swerve.SwerveModuleConstants.DriveMotorArrangement; import com.ctre.phoenix6.swerve.SwerveModuleConstants.SteerMotorArrangement; + +import edu.wpi.first.wpilibj.RobotController; +import edu.wpi.first.wpilibj.Alert; +import edu.wpi.first.wpilibj.Alert.AlertType; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; import frc.robot.generated.TunerConstants; @@ -35,7 +39,7 @@ public class Robot extends LoggedRobot { private Command autonomousCommand; private RobotContainer robotContainer; - + private Alert lowBatteryAlert = new Alert("The robot is low on battery!", AlertType.kWarning); public Robot() { // Record metadata // Logger.recordMetadata("ProjectName", BuildConstants.MAVEN_NAME); @@ -114,7 +118,9 @@ public void robotPeriodic() { // This must be called from the robot's periodic block in order for anything in // the Command-based framework to work. CommandScheduler.getInstance().run(); - + if (0.0 <= RobotController.getBatteryVoltage() && RobotController.getBatteryVoltage() <= 11.01) { + lowBatteryAlert.set(true); + } // Return to non-RT thread priority (do not modify the first argument) // Threads.setCurrentThreadPriority(false, 10); } @@ -176,4 +182,4 @@ public void simulationInit() {} /** This function is called periodically whilst in simulation. */ @Override public void simulationPeriodic() {} -} +} \ No newline at end of file From 96deae9b47c30a2270bfcc28b377174b403e9f34 Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 14 Feb 2026 14:23:48 -0500 Subject: [PATCH 02/10] spotlessApply thingy!!!!!!!!!!!!!!!! --- src/main/java/frc/robot/Robot.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index ee8a658..d9dbd13 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -16,10 +16,9 @@ import com.ctre.phoenix6.swerve.SwerveModuleConstants; import com.ctre.phoenix6.swerve.SwerveModuleConstants.DriveMotorArrangement; import com.ctre.phoenix6.swerve.SwerveModuleConstants.SteerMotorArrangement; - -import edu.wpi.first.wpilibj.RobotController; import edu.wpi.first.wpilibj.Alert; import edu.wpi.first.wpilibj.Alert.AlertType; +import edu.wpi.first.wpilibj.RobotController; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; import frc.robot.generated.TunerConstants; @@ -40,6 +39,7 @@ public class Robot extends LoggedRobot { private Command autonomousCommand; private RobotContainer robotContainer; private Alert lowBatteryAlert = new Alert("The robot is low on battery!", AlertType.kWarning); + public Robot() { // Record metadata // Logger.recordMetadata("ProjectName", BuildConstants.MAVEN_NAME); @@ -118,7 +118,8 @@ public void robotPeriodic() { // This must be called from the robot's periodic block in order for anything in // the Command-based framework to work. CommandScheduler.getInstance().run(); - if (0.0 <= RobotController.getBatteryVoltage() && RobotController.getBatteryVoltage() <= 11.01) { + if (0.0 <= RobotController.getBatteryVoltage() + && RobotController.getBatteryVoltage() <= 11.01) { lowBatteryAlert.set(true); } // Return to non-RT thread priority (do not modify the first argument) @@ -182,4 +183,4 @@ public void simulationInit() {} /** This function is called periodically whilst in simulation. */ @Override public void simulationPeriodic() {} -} \ No newline at end of file +} From 81ed701eae0c6c997206dae231671bba6b022dca Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 14 Feb 2026 15:41:11 -0500 Subject: [PATCH 03/10] fixed a building issue blame brayden --- src/main/java/frc/robot/RobotContainer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index a531a13..28c14a8 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -22,12 +22,15 @@ import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.button.CommandXboxController; import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine; +import frc.lib.W8.io.absoluteencoder.AbsoluteEncoderIOCANCoder; +import frc.lib.W8.io.absoluteencoder.AbsoluteEncoderIOCANCoderSim; import frc.lib.W8.io.motor.*; import frc.lib.W8.mechanisms.flywheel.*; import frc.lib.W8.mechanisms.rotary.RotaryMechanism; import frc.lib.W8.mechanisms.rotary.RotaryMechanismReal; import frc.lib.W8.mechanisms.rotary.RotaryMechanismSim; import frc.robot.Constants.HopperConstants; +import frc.robot.Constants.IntakeConstants; import frc.robot.Constants.Ports; import frc.robot.Constants.ShooterFlywheelConstants; import frc.robot.Constants.ShooterRotaryConstants; @@ -117,7 +120,7 @@ public RobotContainer() { Ports.IntakeRoller), IntakeConstants.CONSTANTS, Optional.of( - new AbsoluteEncoderIOCANCoderSim( + new AbsoluteEncoderIOCANCoder( Ports.IntakeRoller, IntakeConstants.MOTOR_NAME + " Encoder", IntakeConstants.getCANcoderConfig(false))))); From 3f3898dc8dd85ab53c538b2c3c54a3f0ebae24ac Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 14 Feb 2026 15:46:32 -0500 Subject: [PATCH 04/10] fixed more things --- src/main/java/frc/robot/RobotContainer.java | 9 +-------- src/main/java/frc/robot/subsystems/Climber.java | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 28c4bbf..10d04e5 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -26,13 +26,9 @@ import frc.lib.W8.io.absoluteencoder.AbsoluteEncoderIOCANCoderSim; import frc.lib.W8.io.motor.*; import frc.lib.W8.mechanisms.flywheel.*; -import frc.lib.W8.mechanisms.linear.LinearMechanism; -import frc.lib.W8.mechanisms.linear.LinearMechanismReal; -import frc.lib.W8.mechanisms.linear.LinearMechanismSim; import frc.lib.W8.mechanisms.rotary.RotaryMechanism; import frc.lib.W8.mechanisms.rotary.RotaryMechanismReal; import frc.lib.W8.mechanisms.rotary.RotaryMechanismSim; -import frc.robot.Constants.ClimberConstants; import frc.robot.Constants.HopperConstants; import frc.robot.Constants.IntakeConstants; import frc.robot.Constants.Ports; @@ -65,6 +61,7 @@ public class RobotContainer { private final Hopper hopper; private final Shooter shooter; private final Intake intake; + private final Climber climber; // Controller private final CommandXboxController controller = new CommandXboxController(0); @@ -217,10 +214,6 @@ public RobotContainer() { new ModuleIO() {}); hopper = new Hopper(new FlywheelMechanism() {}); - climber = - new Climber( - new LinearMechanism( - ClimberConstants.MOTOR_NAME, ClimberConstants.CHARACTERISTICS) {}); shooter = new Shooter( diff --git a/src/main/java/frc/robot/subsystems/Climber.java b/src/main/java/frc/robot/subsystems/Climber.java index 7641d92..c504aba 100644 --- a/src/main/java/frc/robot/subsystems/Climber.java +++ b/src/main/java/frc/robot/subsystems/Climber.java @@ -4,7 +4,6 @@ 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.linear.LinearMechanism; import frc.robot.Constants.ClimberConstants; From 76978fc82765a58b0d0363615fa57b10c1705adc Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 14 Feb 2026 15:59:03 -0500 Subject: [PATCH 05/10] more silly changes that caused errors --- src/main/java/frc/robot/Constants.java | 13 ++++++------- src/main/java/frc/robot/RobotContainer.java | 1 - 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index de3c296..cf489ed 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -40,7 +40,6 @@ import edu.wpi.first.math.system.plant.DCMotor; import edu.wpi.first.math.util.Units; import edu.wpi.first.units.AngularAccelerationUnit; -import edu.wpi.first.units.Units; import edu.wpi.first.units.measure.Angle; import edu.wpi.first.units.measure.AngularAcceleration; import edu.wpi.first.units.measure.AngularVelocity; @@ -307,10 +306,10 @@ public class ShooterRotaryConstants { public static final Angle TOLERANCE = Degrees.of(2.0); - public static final AngularVelocity CRUISE_VELOCITY = Units.RadiansPerSecond.of(1); - public static final AngularAcceleration ACCELERATION = - CRUISE_VELOCITY.div(0.1).per(Units.Second); - public static final Velocity JERK = ACCELERATION.per(Second); + // public static final AngularVelocity CRUISE_VELOCITY = Units.RadiansPerSecond.of(1); + // public static final AngularAcceleration ACCELERATION = + // CRUISE_VELOCITY.div(0.1).per(Units.Second); + // public static final Velocity JERK = ACCELERATION.per(Second); private static final double ROTOR_TO_SENSOR = (2.0 / 1.0); private static final double SENSOR_TO_MECHANISM = (2.0 / 1.0); @@ -372,10 +371,10 @@ public static TalonFXConfiguration getFXConfig() { config.MotorOutput.Inverted = InvertedValue.CounterClockwise_Positive; config.SoftwareLimitSwitch.ForwardSoftLimitEnable = false; - config.SoftwareLimitSwitch.ForwardSoftLimitThreshold = MAX_ANGLE.in(Units.Rotations); + // config.SoftwareLimitSwitch.ForwardSoftLimitThreshold = MAX_ANGLE.in(Units.Rotaitons); config.SoftwareLimitSwitch.ReverseSoftLimitEnable = false; - config.SoftwareLimitSwitch.ReverseSoftLimitThreshold = MIN_ANGLE.in(Units.Rotations); + // config.SoftwareLimitSwitch.ReverseSoftLimitThreshold = MIN_ANGLE.in(Units.Rotations); config.Feedback.RotorToSensorRatio = ROTOR_TO_SENSOR; config.Feedback.SensorToMechanismRatio = SENSOR_TO_MECHANISM; diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index da9e4c2..28c14a8 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -36,7 +36,6 @@ import frc.robot.Constants.ShooterRotaryConstants; import frc.robot.commands.DriveCommands; import frc.robot.generated.TunerConstants; -import frc.robot.subsystems.Climber; import frc.robot.subsystems.Hopper; import frc.robot.subsystems.Intake; import frc.robot.subsystems.Shooter; From 792a2e117bc1642b5e07978dcae983afd9f34ca8 Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 21 Feb 2026 13:48:52 -0500 Subject: [PATCH 06/10] took me a while but i did it!!!!!!!! --- src/main/java/frc/robot/Constants.java | 3 +++ .../java/frc/robot/subsystems/Climber.java | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index cf489ed..c266faa 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -636,4 +636,7 @@ public static TalonFXConfiguration getFXConfig() { RotationsPerSecondPerSecond.of(1); public static final double CLIMB_SPEED = 1.0; } + public class ElevatorConstants { + public static final double HARD_STOP_CURRENT_LIMIT = 50.0; + } } diff --git a/src/main/java/frc/robot/subsystems/Climber.java b/src/main/java/frc/robot/subsystems/Climber.java index c504aba..a031a65 100644 --- a/src/main/java/frc/robot/subsystems/Climber.java +++ b/src/main/java/frc/robot/subsystems/Climber.java @@ -1,18 +1,25 @@ package frc.robot.subsystems; +import static edu.wpi.first.units.Units.Amps; import static edu.wpi.first.units.Units.Meters; +import com.fasterxml.jackson.databind.util.Converter; + +import edu.wpi.first.units.CurrentUnit; +import edu.wpi.first.units.measure.Current; import edu.wpi.first.units.measure.Distance; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.lib.W8.mechanisms.linear.LinearMechanism; import frc.robot.Constants.ClimberConstants; +import frc.lib.W8.io.motor.MotorIO; +import frc.robot.Constants.ElevatorConstants; public class Climber extends SubsystemBase { private LinearMechanism _io; Distance goalDistance; public Climber(LinearMechanism io) { - io = _io; + _io = io; } // public void Position(double position) { @@ -26,6 +33,15 @@ public Climber(LinearMechanism io) { // PIDSlot.SLOT_0); // } + public boolean isAboveCurrentLimit() { + if (_io.getSupplyCurrent().in(Amps) > ElevatorConstants.HARD_STOP_CURRENT_LIMIT) { + return true; + } + else { + return false; + } + } + @Override public void periodic() {} From 7318ae8e91636de468dc90b446aa754546d0299c Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 21 Feb 2026 13:50:31 -0500 Subject: [PATCH 07/10] forgot to spotlessapply --- src/main/java/frc/robot/Constants.java | 1 + src/main/java/frc/robot/subsystems/Climber.java | 16 +++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index c266faa..2c263f2 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -636,6 +636,7 @@ public static TalonFXConfiguration getFXConfig() { RotationsPerSecondPerSecond.of(1); public static final double CLIMB_SPEED = 1.0; } + public class ElevatorConstants { public static final double HARD_STOP_CURRENT_LIMIT = 50.0; } diff --git a/src/main/java/frc/robot/subsystems/Climber.java b/src/main/java/frc/robot/subsystems/Climber.java index a031a65..233de05 100644 --- a/src/main/java/frc/robot/subsystems/Climber.java +++ b/src/main/java/frc/robot/subsystems/Climber.java @@ -3,15 +3,10 @@ import static edu.wpi.first.units.Units.Amps; import static edu.wpi.first.units.Units.Meters; -import com.fasterxml.jackson.databind.util.Converter; - -import edu.wpi.first.units.CurrentUnit; -import edu.wpi.first.units.measure.Current; import edu.wpi.first.units.measure.Distance; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.lib.W8.mechanisms.linear.LinearMechanism; import frc.robot.Constants.ClimberConstants; -import frc.lib.W8.io.motor.MotorIO; import frc.robot.Constants.ElevatorConstants; public class Climber extends SubsystemBase { @@ -34,12 +29,11 @@ public Climber(LinearMechanism io) { // } public boolean isAboveCurrentLimit() { - if (_io.getSupplyCurrent().in(Amps) > ElevatorConstants.HARD_STOP_CURRENT_LIMIT) { - return true; - } - else { - return false; - } + if (_io.getSupplyCurrent().in(Amps) > ElevatorConstants.HARD_STOP_CURRENT_LIMIT) { + return true; + } else { + return false; + } } @Override From 7a683ac829aee7261fe156ab2d6ee925ba6d0909 Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 21 Feb 2026 14:03:06 -0500 Subject: [PATCH 08/10] apparently this one thing broke everything so i fixed it --- src/main/java/frc/robot/Robot.java | 5 +---- src/main/java/frc/robot/RobotContainer.java | 12 ++++-------- src/main/java/frc/robot/subsystems/BallCounter.java | 11 ++++++----- src/main/java/frc/robot/subsystems/Climber.java | 2 -- 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index 4af77ed..e0f36af 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -13,6 +13,7 @@ package frc.robot; +import au.grapplerobotics.CanBridge; import com.ctre.phoenix6.swerve.SwerveModuleConstants; import com.ctre.phoenix6.swerve.SwerveModuleConstants.DriveMotorArrangement; import com.ctre.phoenix6.swerve.SwerveModuleConstants.SteerMotorArrangement; @@ -35,10 +36,6 @@ * the package after creating this project, you must also update the build.gradle file in the * project. */ - import au.grapplerobotics.CanBridge; - - - public class Robot extends LoggedRobot { private Command autonomousCommand; private RobotContainer robotContainer; diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index a9e4b8a..2ff6a6e 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -41,7 +41,6 @@ import frc.robot.commands.DriveCommands; import frc.robot.generated.TunerConstants; import frc.robot.subsystems.BallCounter; -import frc.robot.subsystems.Climber; import frc.robot.subsystems.Hopper; import frc.robot.subsystems.Intake; import frc.robot.subsystems.Shooter; @@ -52,13 +51,10 @@ import frc.robot.subsystems.drive.ModuleIO; import frc.robot.subsystems.drive.ModuleIOSim; import frc.robot.subsystems.drive.ModuleIOTalonFX; - import java.util.Optional; - import org.littletonrobotics.junction.networktables.LoggedDashboardChooser; import org.photonvision.PhotonPoseEstimator.PoseStrategy; - /** * This class is where the bulk of the robot should be declared. Since Command-based is a * "declarative" paradigm, very little robot logic should actually be handled in the {@link Robot} @@ -68,7 +64,7 @@ public class RobotContainer { // Subsystems - private final Drive drive; + private final Drive drive; private final Hopper hopper; private final Shooter shooter; private final Intake intake; @@ -236,7 +232,7 @@ public RobotContainer() { break; default: - //Replayed robot, disable IO implementations + // Replayed robot, disable IO implementations drive = new Drive( new GyroIO() {}, @@ -299,7 +295,7 @@ private void configureButtonBindings() { () -> controller.getLeftX(), () -> -controller.getRightX())); - //Lock to 0° when A button is held + // Lock to 0° when A button is held controller .a() .whileTrue( @@ -309,7 +305,7 @@ private void configureButtonBindings() { () -> -controller.getLeftX(), () -> new Rotation2d())); - //Switch to X pattern when X button is pressed + // Switch to X pattern when X button is pressed controller.x().onTrue(Commands.runOnce(drive::stopWithX, drive)); // Reset gyro to 0° when B button is pressed diff --git a/src/main/java/frc/robot/subsystems/BallCounter.java b/src/main/java/frc/robot/subsystems/BallCounter.java index 513518b..874c405 100644 --- a/src/main/java/frc/robot/subsystems/BallCounter.java +++ b/src/main/java/frc/robot/subsystems/BallCounter.java @@ -6,7 +6,6 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.SubsystemBase; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; public class BallCounter extends SubsystemBase { @@ -57,7 +56,9 @@ public void shootBall() { public boolean ballShot() { Measurement measurement = _laserCAN.getMeasurement(); - return measurement != null && measurement.status == LaserCan.LASERCAN_STATUS_VALID_MEASUREMENT && measurement.distance_mm <= 30; + return measurement != null + && measurement.status == LaserCan.LASERCAN_STATUS_VALID_MEASUREMENT + && measurement.distance_mm <= 30; } public double calculateFireRate() { @@ -87,12 +88,12 @@ public void periodic() { SmartDashboard.putNumber("Balls Fired", getBallsShot()); SmartDashboard.putNumber("Ball Fire Rate (per second)", Math.round(fireRate * 100.0) / 100.0); - SmartDashboard.putNumber("Seconds Since Last Fire", Math.round(secondsSinceLastFired() * 100.0) / 100.0); + SmartDashboard.putNumber( + "Seconds Since Last Fire", Math.round(secondsSinceLastFired() * 100.0) / 100.0); if (!isBlocked && !canFire) { canFire = true; - } - else if (isBlocked && canFire) { + } else if (isBlocked && canFire) { shootBall(); canFire = false; } diff --git a/src/main/java/frc/robot/subsystems/Climber.java b/src/main/java/frc/robot/subsystems/Climber.java index bae8f4d..233de05 100644 --- a/src/main/java/frc/robot/subsystems/Climber.java +++ b/src/main/java/frc/robot/subsystems/Climber.java @@ -4,8 +4,6 @@ import static edu.wpi.first.units.Units.Meters; import edu.wpi.first.units.measure.Distance; -import edu.wpi.first.units.measure.LinearVelocity; -import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.lib.W8.mechanisms.linear.LinearMechanism; import frc.robot.Constants.ClimberConstants; From 15cfea9b77d05277bd2e06da4779b62d9772d694 Mon Sep 17 00:00:00 2001 From: Area5188 Date: Sat, 21 Feb 2026 15:00:25 -0500 Subject: [PATCH 09/10] should be good but idk man --- src/main/java/frc/robot/Constants.java | 3 +++ src/main/java/frc/robot/subsystems/Climber.java | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 05b67e2..fc1851c 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -652,6 +652,9 @@ public class ClimberConstants { RadiansPerSecond.of(2 * Math.PI).times(10.0); public static final AngularAcceleration ACCELERATION = CRUISE_VELOCITY.div(0.1).per(Second); public static final Velocity JERK = ACCELERATION.per(Second); + public static final Distance BOTTOM = Inches.of(0.0); + public static final Distance MIDDLE = Inches.of(15.0); + public static final Distance TOP = Inches.of(30.0); public static final LinearMechCharacteristics CHARACTERISTICS = new LinearMechCharacteristics( diff --git a/src/main/java/frc/robot/subsystems/Climber.java b/src/main/java/frc/robot/subsystems/Climber.java index 233de05..9722360 100644 --- a/src/main/java/frc/robot/subsystems/Climber.java +++ b/src/main/java/frc/robot/subsystems/Climber.java @@ -4,7 +4,9 @@ import static edu.wpi.first.units.Units.Meters; import edu.wpi.first.units.measure.Distance; +import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.lib.W8.io.motor.MotorIO.PIDSlot; import frc.lib.W8.mechanisms.linear.LinearMechanism; import frc.robot.Constants.ClimberConstants; import frc.robot.Constants.ElevatorConstants; @@ -39,8 +41,15 @@ public boolean isAboveCurrentLimit() { @Override public void periodic() {} - public void runClimber() { - runClimber(); + public Command runClimber() { + return this.runOnce( + () -> + _io.runPosition( + ClimberConstants.CONVERTER.toAngle(ClimberConstants.TOP), + ClimberConstants.CRUISE_VELOCITY, + ClimberConstants.ACCELERATION, + ClimberConstants.JERK, + PIDSlot.SLOT_0)); } public boolean nearGoalposition() { From 479b460f2f3218feb14c568db79e452a22403796 Mon Sep 17 00:00:00 2001 From: rhit-collinkn Date: Mon, 23 Feb 2026 20:36:54 -0500 Subject: [PATCH 10/10] fix build issues --- src/main/java/frc/robot/Constants.java | 3 --- src/main/java/frc/robot/Robot.java | 3 +++ src/main/java/frc/robot/subsystems/Climber.java | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index a037cbe..83ddf0e 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -712,9 +712,6 @@ public static TalonFXConfiguration getFXConfig() { public static final AngularAcceleration ANGULAR_ACCELERATION = RotationsPerSecondPerSecond.of(1); public static final double CLIMB_SPEED = 1.0; - } - - public class ElevatorConstants { public static final double HARD_STOP_CURRENT_LIMIT = 50.0; } } diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index 889a8c3..b40f89d 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -21,6 +21,9 @@ import com.ctre.phoenix6.swerve.SwerveModuleConstants.DriveMotorArrangement; import com.ctre.phoenix6.swerve.SwerveModuleConstants.SteerMotorArrangement; import edu.wpi.first.math.geometry.Pose3d; +import edu.wpi.first.wpilibj.Alert; +import edu.wpi.first.wpilibj.Alert.AlertType; +import edu.wpi.first.wpilibj.RobotController; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; import frc.lib.Rebuilt2026.FuelSim; diff --git a/src/main/java/frc/robot/subsystems/Climber.java b/src/main/java/frc/robot/subsystems/Climber.java index 1f52476..4aade98 100644 --- a/src/main/java/frc/robot/subsystems/Climber.java +++ b/src/main/java/frc/robot/subsystems/Climber.java @@ -7,9 +7,7 @@ import edu.wpi.first.math.geometry.Pose3d; import edu.wpi.first.math.geometry.Rotation3d; import edu.wpi.first.math.geometry.Translation3d; -import edu.wpi.first.units.Units; import edu.wpi.first.units.measure.Distance; -import edu.wpi.first.units.measure.LinearVelocity; import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.SubsystemBase; @@ -38,7 +36,7 @@ public Climber(LinearMechanism io) { // } public boolean isAboveCurrentLimit() { - if (_io.getSupplyCurrent().in(Amps) > ElevatorConstants.HARD_STOP_CURRENT_LIMIT) { + if (_io.getSupplyCurrent().in(Amps) > ClimberConstants.HARD_STOP_CURRENT_LIMIT) { return true; } else { return false;