Skip to content

Commit 4164d85

Browse files
committed
Merge branch '2-create-subsystems' of https://github.com/FRCTeam3255/2025_Offbot_Code into 2-create-subsystems
2 parents 04d1bf7 + b4a4149 commit 4164d85

File tree

2 files changed

+220
-72
lines changed

2 files changed

+220
-72
lines changed

src/main/java/frc/robot/Constants.java

Lines changed: 54 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -242,18 +242,21 @@ public static boolean isRedAlliance() {
242242
}
243243

244244
public static class constElevator {
245-
public static final Distance NORMAL_REVERSE_LIMIT = Units.Inches.of(0);
246-
public static final Distance NORMAL_FORWARD_LIMIT = Units.Inches.of(62);
245+
public static final Distance NORMAL_ELEVATOR_REVERSE_LIMIT = Units.Inches.of(0);
246+
public static final Distance NORMAL_ELEVATOR_FORWARD_LIMIT = Units.Inches.of(62);
247+
248+
public static final Angle NORMAL_ELEVATOR_PIVOT_REVERSE_LIMIT = Units.Degrees.of(0);
249+
public static final Angle NORMAL_ELEVATOR_PIVOT_FORWARD_LIMIT = Units.Degrees.of(0);
247250

248251
public static TalonFXConfiguration ELEVATOR_CONFIG = new TalonFXConfiguration();
249252
static {
250253
ELEVATOR_CONFIG.MotorOutput.NeutralMode = NeutralModeValue.Brake;
251254
ELEVATOR_CONFIG.MotorOutput.Inverted = InvertedValue.CounterClockwise_Positive;
252255

253256
ELEVATOR_CONFIG.SoftwareLimitSwitch.ForwardSoftLimitEnable = true;
254-
ELEVATOR_CONFIG.SoftwareLimitSwitch.ForwardSoftLimitThreshold = NORMAL_FORWARD_LIMIT.in(Units.Inches);
257+
ELEVATOR_CONFIG.SoftwareLimitSwitch.ForwardSoftLimitThreshold = NORMAL_ELEVATOR_FORWARD_LIMIT.in(Units.Inches);
255258
ELEVATOR_CONFIG.SoftwareLimitSwitch.ReverseSoftLimitEnable = true;
256-
ELEVATOR_CONFIG.SoftwareLimitSwitch.ReverseSoftLimitThreshold = NORMAL_REVERSE_LIMIT.in(Units.Inches);
259+
ELEVATOR_CONFIG.SoftwareLimitSwitch.ReverseSoftLimitThreshold = NORMAL_ELEVATOR_REVERSE_LIMIT.in(Units.Inches);
257260

258261
ELEVATOR_CONFIG.Slot0.GravityType = GravityTypeValue.Elevator_Static;
259262
// Elevator motors will provide feedback in INCHES the carriage has moved
@@ -270,8 +273,8 @@ public static class constElevator {
270273

271274
ELEVATOR_CONFIG.MotionMagic.MotionMagicCruiseVelocity = 0;
272275
ELEVATOR_CONFIG.MotionMagic.MotionMagicAcceleration = 0;
273-
ELEVATOR_CONFIG.MotionMagic.MotionMagicExpo_kV = 0.04;
274-
ELEVATOR_CONFIG.MotionMagic.MotionMagicExpo_kA = 0.005;
276+
ELEVATOR_CONFIG.MotionMagic.MotionMagicExpo_kV = 0.0;
277+
ELEVATOR_CONFIG.MotionMagic.MotionMagicExpo_kA = 0.0;
275278

276279
ELEVATOR_CONFIG.CurrentLimits.SupplyCurrentLimitEnable = true;
277280
ELEVATOR_CONFIG.CurrentLimits.SupplyCurrentLowerLimit = 30;
@@ -280,6 +283,43 @@ public static class constElevator {
280283

281284
}
282285

286+
public static TalonFXConfiguration ELEVATOR_PIVOT_CONFIG = new TalonFXConfiguration();
287+
static {
288+
ELEVATOR_PIVOT_CONFIG.MotorOutput.NeutralMode = NeutralModeValue.Brake;
289+
ELEVATOR_PIVOT_CONFIG.MotorOutput.Inverted = InvertedValue.CounterClockwise_Positive;
290+
291+
ELEVATOR_PIVOT_CONFIG.SoftwareLimitSwitch.ForwardSoftLimitEnable = true;
292+
ELEVATOR_PIVOT_CONFIG.SoftwareLimitSwitch.ForwardSoftLimitThreshold = NORMAL_ELEVATOR_PIVOT_FORWARD_LIMIT
293+
.in(Units.Degrees);
294+
ELEVATOR_PIVOT_CONFIG.SoftwareLimitSwitch.ReverseSoftLimitEnable = true;
295+
ELEVATOR_PIVOT_CONFIG.SoftwareLimitSwitch.ReverseSoftLimitThreshold = NORMAL_ELEVATOR_PIVOT_REVERSE_LIMIT
296+
.in(Units.Degrees);
297+
298+
ELEVATOR_PIVOT_CONFIG.Slot0.GravityType = GravityTypeValue.Arm_Cosine;
299+
// Elevator Pivot motors will provide feedback in Degrees the carriage has moved
300+
ELEVATOR_PIVOT_CONFIG.Feedback.SensorToMechanismRatio = 0.876;
301+
302+
ELEVATOR_PIVOT_CONFIG.Slot0.kG = 0.0; // Volts to overcome gravity
303+
ELEVATOR_PIVOT_CONFIG.Slot0.kS = 0.0; // Volts to overcome static friction
304+
ELEVATOR_PIVOT_CONFIG.Slot0.kV = 0.0; // Volts for a velocity target of 1 rps
305+
ELEVATOR_PIVOT_CONFIG.Slot0.kA = 0.0; // Volts for an acceleration of 1 rps/
306+
ELEVATOR_PIVOT_CONFIG.Slot0.kP = 0.0;
307+
ELEVATOR_PIVOT_CONFIG.Slot0.kI = 0.0;
308+
ELEVATOR_PIVOT_CONFIG.Slot0.kD = 0.0;
309+
ELEVATOR_PIVOT_CONFIG.Slot0.StaticFeedforwardSign = StaticFeedforwardSignValue.UseClosedLoopSign;
310+
311+
ELEVATOR_PIVOT_CONFIG.MotionMagic.MotionMagicCruiseVelocity = 0;
312+
ELEVATOR_PIVOT_CONFIG.MotionMagic.MotionMagicAcceleration = 0;
313+
ELEVATOR_PIVOT_CONFIG.MotionMagic.MotionMagicExpo_kV = 0.0;
314+
ELEVATOR_PIVOT_CONFIG.MotionMagic.MotionMagicExpo_kA = 0.0;
315+
316+
ELEVATOR_PIVOT_CONFIG.CurrentLimits.SupplyCurrentLimitEnable = true;
317+
ELEVATOR_PIVOT_CONFIG.CurrentLimits.SupplyCurrentLowerLimit = 30;
318+
ELEVATOR_PIVOT_CONFIG.CurrentLimits.SupplyCurrentLimit = 60;
319+
ELEVATOR_PIVOT_CONFIG.CurrentLimits.SupplyCurrentLowerTime = 1;
320+
321+
}
322+
283323
public static TalonFXConfiguration COAST_MODE_CONFIGURATION = new TalonFXConfiguration();
284324
static {
285325
COAST_MODE_CONFIGURATION.MotorOutput.NeutralMode = NeutralModeValue.Coast;
@@ -306,8 +346,15 @@ public static class constElevator {
306346
public static final Distance MAX_HEIGHT = Units.Inches.of(0);
307347
public static final Distance SAFE_TO_SLIDE = Units.Inches.of(32.55);
308348

349+
public static final Angle CORAL_L1_ANGLE = Units.Degrees.of(0);
350+
public static final Angle CORAL_L2_ANGLE = Units.Degrees.of(0);
351+
public static final Angle CORAL_L3_ANGLE = Units.Degrees.of(0);
352+
public static final Angle CORAL_L4_ANGLE = Units.Degrees.of(0);
353+
public static final Angle ALGAE_PREP_NET_ANGLE = Units.Degrees.of(0);
354+
public static final Angle DEADZONE_ANGLE = Units.Degrees.of(2);
355+
309356
public static final Distance CORAL_STUCK_OFFSET = Units.Inches.of(0);
310-
public static final Distance CORAL_STUCK_REVERSE_LIMIT = NORMAL_REVERSE_LIMIT.plus(CORAL_STUCK_OFFSET);
357+
public static final Distance CORAL_STUCK_REVERSE_LIMIT = NORMAL_ELEVATOR_REVERSE_LIMIT.plus(CORAL_STUCK_OFFSET);
311358

312359
public static final Time ZEROING_TIMEOUT = Units.Seconds.of(3);
313360

0 commit comments

Comments
 (0)