Skip to content
This repository was archived by the owner on Jan 17, 2026. It is now read-only.

Commit 3a59457

Browse files
committed
[elevator] Merge constants
1 parent 113038d commit 3a59457

File tree

5 files changed

+46
-61
lines changed

5 files changed

+46
-61
lines changed

src/main/java/org/curtinfrc/frc2025/Autos.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import org.curtinfrc.frc2025.subsystems.drive.DriveConstants.DriveSetpoints;
1515
import org.curtinfrc.frc2025.subsystems.ejector.Ejector;
1616
import org.curtinfrc.frc2025.subsystems.elevator.Elevator;
17-
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorConstants.ElevatorSetpoints;
17+
import org.curtinfrc.frc2025.subsystems.elevator.Elevator.ElevatorSetpoints;
1818
import org.curtinfrc.frc2025.subsystems.intake.Intake;
1919

2020
public class Autos {

src/main/java/org/curtinfrc/frc2025/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import edu.wpi.first.util.struct.StructSerializable;
88
import edu.wpi.first.wpilibj.RobotBase;
99
import org.curtinfrc.frc2025.subsystems.drive.DriveConstants.DriveSetpoints;
10-
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorConstants.ElevatorSetpoints;
10+
import org.curtinfrc.frc2025.subsystems.elevator.Elevator.ElevatorSetpoints;
1111

1212
/**
1313
* This class defines the runtime mode used by AdvantageKit. The mode is always "real" when running

src/main/java/org/curtinfrc/frc2025/Robot.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
import org.curtinfrc.frc2025.subsystems.ejector.EjectorIOComp;
4646
import org.curtinfrc.frc2025.subsystems.ejector.EjectorIOSim;
4747
import org.curtinfrc.frc2025.subsystems.elevator.Elevator;
48-
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorConstants.ElevatorSetpoints;
48+
import org.curtinfrc.frc2025.subsystems.elevator.Elevator.ElevatorSetpoints;
4949
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorIO;
5050
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorIOComp;
5151
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorIOSim;

src/main/java/org/curtinfrc/frc2025/subsystems/elevator/Elevator.java

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,57 @@
66
import edu.wpi.first.math.controller.PIDController;
77
import edu.wpi.first.math.geometry.Pose3d;
88
import edu.wpi.first.math.geometry.Rotation3d;
9+
import edu.wpi.first.util.struct.Struct;
10+
import edu.wpi.first.util.struct.StructGenerator;
11+
import edu.wpi.first.util.struct.StructSerializable;
912
import edu.wpi.first.wpilibj2.command.Command;
1013
import edu.wpi.first.wpilibj2.command.SubsystemBase;
1114
import edu.wpi.first.wpilibj2.command.button.Trigger;
1215
import java.util.function.BooleanSupplier;
1316
import java.util.function.Supplier;
14-
import org.curtinfrc.frc2025.subsystems.elevator.ElevatorConstants.ElevatorSetpoints;
1517
import org.littletonrobotics.junction.AutoLogOutput;
1618
import org.littletonrobotics.junction.Logger;
1719

1820
public class Elevator extends SubsystemBase {
1921
private static final double TOLERANCE = 0.01;
22+
public static double CLIMB_KP = 45;
23+
public static double CLIMB_KD = 0;
24+
25+
public static enum ElevatorSetpoints implements StructSerializable {
26+
L1(0),
27+
L2(0.221),
28+
AlgaePopLow(0),
29+
L3(0.611),
30+
AlgaePopHigh(0.38),
31+
BASE(0.01),
32+
climbPrep(0.3),
33+
climbAttempt(0.5),
34+
climbed(0.01);
35+
36+
public final double setpointMetres;
37+
38+
ElevatorSetpoints(double setpointMetres) {
39+
this.setpointMetres = setpointMetres;
40+
}
41+
42+
public static ElevatorSetpoints getPopPoint(ElevatorSetpoints point) {
43+
switch (point) {
44+
case L2:
45+
return AlgaePopLow;
46+
case L3:
47+
return AlgaePopHigh;
48+
default:
49+
return BASE;
50+
}
51+
}
52+
53+
public static final Struct<ElevatorSetpoints> struct =
54+
StructGenerator.genEnum(ElevatorSetpoints.class);
55+
}
2056

2157
private final ElevatorIO io;
2258
private final ElevatorIOInputsAutoLogged inputs = new ElevatorIOInputsAutoLogged();
23-
private final PIDController climbPID = new PIDController(climbkP, climbkI, climbkD);
59+
private final PIDController climbPID = new PIDController(CLIMB_KP, 0, CLIMB_KD);
2460
private ElevatorSetpoints setpoint = ElevatorSetpoints.BASE;
2561

2662
public final Trigger isNotAtCollect = new Trigger(() -> setpoint != ElevatorSetpoints.BASE);
@@ -29,12 +65,12 @@ public class Elevator extends SubsystemBase {
2965

3066
public Elevator(ElevatorIO io) {
3167
this.io = io;
32-
climbPID.setTolerance(tolerance);
68+
climbPID.setTolerance(TOLERANCE);
3369

3470
atSetpoint =
3571
new Trigger(
3672
() -> {
37-
var error = Math.abs(inputs.positionMetres - setpoint.setpoint);
73+
var error = Math.abs(inputs.positionMetres - setpoint.setpointMetres);
3874
var velocity = Math.abs(inputs.velocityMetresPerSecond);
3975
return error < TOLERANCE && velocity < 0.1;
4076
})
@@ -62,7 +98,7 @@ public Command goToSetpoint(Supplier<ElevatorSetpoints> point, BooleanSupplier s
6298
return run(() -> {
6399
setpoint = point.get();
64100
if (safe.getAsBoolean()) {
65-
goToTarget(point.get().setpoint);
101+
goToTarget(point.get().setpointMetres);
66102
}
67103
})
68104
.withName("GoToDynamicSetpoint");
@@ -72,7 +108,7 @@ public Command goToSetpoint(ElevatorSetpoints point, BooleanSupplier safe) {
72108
return run(() -> {
73109
setpoint = point;
74110
if (safe.getAsBoolean()) {
75-
goToTarget(point.setpoint);
111+
goToTarget(point.setpointMetres);
76112
}
77113
})
78114
.withName("GoToStaticSetpoint");
@@ -82,7 +118,7 @@ public Command goToClimberSetpoint(ElevatorSetpoints point, BooleanSupplier safe
82118
return run(
83119
() -> {
84120
if (safe.getAsBoolean()) {
85-
var out = climbPID.calculate(inputs.positionMetres, point.setpoint);
121+
var out = climbPID.calculate(inputs.positionMetres, point.setpointMetres);
86122
io.setVoltage(MathUtil.clamp(out, -4, 4));
87123
}
88124
});

src/main/java/org/curtinfrc/frc2025/subsystems/elevator/ElevatorConstants.java

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)