From 840c851253187081a50ca9492c032cec8d376e7b Mon Sep 17 00:00:00 2001 From: Tyler Wilcox Date: Fri, 3 Apr 2026 15:54:54 -0400 Subject: [PATCH] Started Magic Motion and added current limits --- .../frc/robolib/drivesystems/swerve/SwerveModule.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/src/main/java/org/fairportrobotics/frc/robolib/drivesystems/swerve/SwerveModule.java b/lib/src/main/java/org/fairportrobotics/frc/robolib/drivesystems/swerve/SwerveModule.java index 3b5cb53..b8f57b1 100644 --- a/lib/src/main/java/org/fairportrobotics/frc/robolib/drivesystems/swerve/SwerveModule.java +++ b/lib/src/main/java/org/fairportrobotics/frc/robolib/drivesystems/swerve/SwerveModule.java @@ -10,6 +10,7 @@ import com.ctre.phoenix6.configs.MotionMagicConfigs; import com.ctre.phoenix6.configs.MotorOutputConfigs; import com.ctre.phoenix6.configs.Slot0Configs; import com.ctre.phoenix6.configs.TalonFXConfiguration; +import com.ctre.phoenix6.controls.MotionMagicVelocityVoltage; import com.ctre.phoenix6.controls.PositionVoltage; import com.ctre.phoenix6.controls.VelocityVoltage; import com.ctre.phoenix6.hardware.CANcoder; @@ -31,7 +32,7 @@ public class SwerveModule { private final int CAN_UPDATE_FREQUENCY = 150; private final double STEER_MAX_CURRENT = 60; - private final double DRIVE_MAX_CURRENT = 80; + private final double DRIVE_MAX_CURRENT = 40; private final double gearRatio; private final double wheelDiameterInMeters; @@ -40,6 +41,7 @@ public class SwerveModule { private TalonFX driveMotor; private VelocityVoltage driveRequest = new VelocityVoltage(0); + // private MotionMagicVelocityVoltage driveRequest = new MotionMagicVelocityVoltage(0); private TalonFXSimState driveSim; private TalonFX steerMotor; @@ -195,7 +197,14 @@ public class SwerveModule { .withKI(kI) .withKD(kD) .withKV(kV) + .withKS(0) + .withKA(0) ) + .withMotionMagic( + new MotionMagicConfigs() + .withMotionMagicAcceleration(400) + .withMotionMagicJerk(4000) + ) .withMotorOutput( new MotorOutputConfigs() .withInverted(driveInverted ? InvertedValue.Clockwise_Positive : InvertedValue.CounterClockwise_Positive)