From 4e50f41d6b048854f37a010950479985e8e67966 Mon Sep 17 00:00:00 2001 From: chris park Date: Wed, 28 Jan 2026 18:10:38 -0500 Subject: [PATCH] Added Climber States plus a constant for climber speed. --- src/main/java/frc/robot/Constants.java | 2 ++ .../frc/robot/subsystems/climber/Climber.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 3cfd7aa..dc018b7 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -29,6 +29,7 @@ import edu.wpi.first.units.measure.AngularAcceleration; import edu.wpi.first.units.measure.AngularVelocity; import edu.wpi.first.units.measure.Distance; +import edu.wpi.first.units.measure.LinearVelocity; import edu.wpi.first.units.measure.Velocity; import edu.wpi.first.wpilibj.RobotBase; import frc.lib.W8.mechanisms.linear.LinearMechanism.LinearMechCharacteristics; @@ -147,5 +148,6 @@ public class ClimberConstants { public static final Distance DRUM_RADIUS = Inches.of(2.0); public static final DistanceAngleConverter CONVERTER = new DistanceAngleConverter(DRUM_RADIUS); public static final LinearMechCharacteristics CHARACTERISTICS = new LinearMechCharacteristics(new Translation3d(0.0, 0.0, 0.0), MIN_DISTANCE, MAX_DISTANCE, STARTING_DISTANCE, CONVERTER); + public static final double CLIMBER_SPEED = 1.0; } } diff --git a/src/main/java/frc/robot/subsystems/climber/Climber.java b/src/main/java/frc/robot/subsystems/climber/Climber.java index 7be04be..2591a93 100644 --- a/src/main/java/frc/robot/subsystems/climber/Climber.java +++ b/src/main/java/frc/robot/subsystems/climber/Climber.java @@ -1,7 +1,11 @@ package frc.robot.subsystems.climber; +import edu.wpi.first.units.Units; +import edu.wpi.first.units.measure.LinearVelocity; +import edu.wpi.first.units.measure.Velocity; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.lib.W8.mechanisms.linear.LinearMechanism; +import frc.robot.Constants.ClimberConstants; public class Climber extends SubsystemBase { private LinearMechanism _io; @@ -10,6 +14,18 @@ public Climber(LinearMechanism io) { io = _io; } + public enum State { + IDLE(Units.MetersPerSecond.of(0.0)), + ASCENDING(Units.MetersPerSecond.of(ClimberConstants.CLIMBER_SPEED)), + DESCENDING(Units.MetersPerSecond.of(-ClimberConstants.CLIMBER_SPEED)); + + private final LinearVelocity stateVelocity; + + private State(LinearVelocity stateVelocity) { + this.stateVelocity = stateVelocity; + } + } + @Override public void periodic() {} }