diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToAngle.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToAngle.java new file mode 100644 index 0000000..d8f1a06 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToAngle.java @@ -0,0 +1,24 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.subsystems.arm.Arm; + +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.wpilibj2.command.InstantCommand; + + +public class ArmMoveToAngle extends InstantCommand{ + private final Arm arm; + private final Rotation2d angle; + + public ArmMoveToAngle(Rotation2d angle){ + arm = Arm.getInstance(); + this.angle = angle; + } + + @Override + public void initialize(){ + arm.setTargetAngle(angle); + + } + +} \ No newline at end of file diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToFunnel.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToFunnel.java new file mode 100644 index 0000000..6a8fcb7 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToFunnel.java @@ -0,0 +1,14 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + + +public class ArmMoveToFunnel extends ArmMoveToAngle{ + public ArmMoveToFunnel(){ + super(Settings.Arm.FUNNEL_ANGLE); + } + @Override + public void initialize(){ + super.initialize(); + } +} \ No newline at end of file diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL2Back.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL2Back.java new file mode 100644 index 0000000..7085b34 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL2Back.java @@ -0,0 +1,13 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + +public class ArmMoveToL2Back extends ArmMoveToAngle{ + public ArmMoveToL2Back(){ + super(Settings.Arm.L2_ANGLE_BACK); + } + @Override + public void initialize(){ + super.initialize(); + } +} diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL2Front.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL2Front.java new file mode 100644 index 0000000..afe2b89 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL2Front.java @@ -0,0 +1,14 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + + +public class ArmMoveToL2Front extends ArmMoveToAngle{ + public ArmMoveToL2Front(){ + super(Settings.Arm.L2_ANGLE_FRONT); + } + @Override + public void initialize(){ + super.initialize(); + } +} \ No newline at end of file diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL3Back.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL3Back.java new file mode 100644 index 0000000..c7bd058 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL3Back.java @@ -0,0 +1,13 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + +public class ArmMoveToL3Back extends ArmMoveToAngle { + public ArmMoveToL3Back(){ + super(Settings.Arm.L3_ANGLE_BACK); + } + @Override + public void initialize(){ + super.initialize(); + } +} diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL3Front.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL3Front.java new file mode 100644 index 0000000..0ee2625 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL3Front.java @@ -0,0 +1,14 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + + +public class ArmMoveToL3Front extends ArmMoveToAngle{ + public ArmMoveToL3Front(){ + super(Settings.Arm.L3_ANGLE_FRONT); + } + @Override + public void initialize(){ + super.initialize(); + } +} \ No newline at end of file diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL4Back.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL4Back.java new file mode 100644 index 0000000..1ebcdde --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL4Back.java @@ -0,0 +1,13 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + +public class ArmMoveToL4Back extends ArmMoveToAngle { + public ArmMoveToL4Back(){ + super(Settings.Arm.L4_ANGLE_BACK); + } + @Override + public void initialize(){ + super.initialize(); + } +} diff --git a/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL4Front.java b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL4Front.java new file mode 100644 index 0000000..7fed96f --- /dev/null +++ b/src/main/java/com/stuypulse/robot/commands/arm/ArmMoveToL4Front.java @@ -0,0 +1,14 @@ +package com.stuypulse.robot.commands.arm; + +import com.stuypulse.robot.constants.Settings; + + +public class ArmMoveToL4Front extends ArmMoveToAngle{ + public ArmMoveToL4Front(){ + super(Settings.Arm.L4_ANGLE_FRONT); + } + @Override + public void initialize(){ + super.initialize(); + } +} \ No newline at end of file diff --git a/src/main/java/com/stuypulse/robot/constants/Ports.java b/src/main/java/com/stuypulse/robot/constants/Ports.java index 4003d8b..39b2764 100644 --- a/src/main/java/com/stuypulse/robot/constants/Ports.java +++ b/src/main/java/com/stuypulse/robot/constants/Ports.java @@ -13,6 +13,12 @@ public interface Gamepad { int DEBUGGER = 2; } + + public interface Arm { + int ARM_MOTOR = 0; + int ARM_ENCODER = 0; + } + // Set values later public interface Shooter { int MOTOR = 0; diff --git a/src/main/java/com/stuypulse/robot/constants/Settings.java b/src/main/java/com/stuypulse/robot/constants/Settings.java index 6fd5a12..94ca85c 100644 --- a/src/main/java/com/stuypulse/robot/constants/Settings.java +++ b/src/main/java/com/stuypulse/robot/constants/Settings.java @@ -7,13 +7,14 @@ import com.stuypulse.stuylib.network.SmartNumber; +import edu.wpi.first.math.geometry.Rotation2d; + /*- * File containing tunable settings for every subsystem on the robot. * * We use StuyLib's SmartNumber / SmartBoolean in order to have tunable * values that we can edit on Shuffleboard. */ - public interface Settings { double DT = 0.020; // 20ms Differential Time @@ -92,4 +93,45 @@ public interface Simulation { double SCALE_FACTOR = 0.5 + 2.5/77; } } -} + + public interface Arm { + + public interface PID { + SmartNumber kP = new SmartNumber("Arm/PID/kP", 0.0); + SmartNumber kI = new SmartNumber("Arm/PID/kI", 0); + SmartNumber kD = new SmartNumber("Arm/PID/kD", 0); + } + + public interface FF { + SmartNumber kS = new SmartNumber("Arm/PID/kP", 0.0); + SmartNumber kV = new SmartNumber("Arm/PID/kI", 0); + SmartNumber kA = new SmartNumber("Arm/PID/kD", 0); + SmartNumber kG = new SmartNumber("Arm/PID/kG", 0); + } + + Rotation2d L2_ANGLE_FRONT = Rotation2d.fromDegrees(0); + Rotation2d L3_ANGLE_FRONT = Rotation2d.fromDegrees(0); + Rotation2d L4_ANGLE_FRONT = Rotation2d.fromDegrees(0); + + Rotation2d L2_ANGLE_BACK = Rotation2d.fromDegrees(0); + Rotation2d L3_ANGLE_BACK = Rotation2d.fromDegrees(0); + Rotation2d L4_ANGLE_BACK = Rotation2d.fromDegrees(0); + + Rotation2d FUNNEL_ANGLE = Rotation2d.fromDegrees(0); + Rotation2d BARGE_ANGLE = Rotation2d.fromDegrees(0); + double GEAR_RATIO = 0; + double ARM_OFFSET = 0; + double ENCODER_OFFSET = 0; + SmartNumber PID_RAMPING = new SmartNumber("Arm/PID_RAMP",0); + SmartNumber FF_RAMPING = new SmartNumber("Arm/FF_RAMP", 0); + SmartNumber CURRENT_RAMPING = new SmartNumber("Arm/CURRENT_RAMP",0); + + + public interface MotionMagic{ + double MAX_VEL = 0; + double MAX_ACCEL = 0; + double JERK = 0; + } + } + + } diff --git a/src/main/java/com/stuypulse/robot/subsystems/arm/Arm.java b/src/main/java/com/stuypulse/robot/subsystems/arm/Arm.java new file mode 100644 index 0000000..542111d --- /dev/null +++ b/src/main/java/com/stuypulse/robot/subsystems/arm/Arm.java @@ -0,0 +1,25 @@ +package com.stuypulse.robot.subsystems.arm; + +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + + +public abstract class Arm extends SubsystemBase { + + public static final Arm instance; + + static { + instance = new ArmImpl(); + } + + public static Arm getInstance() { + return instance; + } + + public abstract void setTargetAngle(Rotation2d TargetAngle); + + public abstract Rotation2d getTargetAngle(); + + public abstract Rotation2d getArmAngle(); + +} \ No newline at end of file diff --git a/src/main/java/com/stuypulse/robot/subsystems/arm/ArmImpl.java b/src/main/java/com/stuypulse/robot/subsystems/arm/ArmImpl.java new file mode 100644 index 0000000..9894a97 --- /dev/null +++ b/src/main/java/com/stuypulse/robot/subsystems/arm/ArmImpl.java @@ -0,0 +1,101 @@ +package com.stuypulse.robot.subsystems.arm; + + +import com.ctre.phoenix6.configs.MagnetSensorConfigs; +import com.ctre.phoenix6.configs.MotionMagicConfigs; +import com.ctre.phoenix6.configs.Slot0Configs; +import com.stuypulse.robot.constants.Ports; +import com.stuypulse.robot.constants.Settings; +import com.ctre.phoenix6.configs.TalonFXConfiguration; +import com.ctre.phoenix6.controls.MotionMagicVoltage; +import com.ctre.phoenix6.controls.PositionVoltage; +import com.ctre.phoenix6.hardware.CANcoder; +import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.FeedbackSensorSourceValue; +import com.ctre.phoenix6.signals.GravityTypeValue; + +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; + +public class ArmImpl extends Arm { + + private Rotation2d targetAngle; + + private TalonFX armMotor; + + private CANcoder armEncoder; + + + public ArmImpl() { + + targetAngle = Rotation2d.fromDegrees(0.0); + armMotor = new TalonFX(Ports.Arm.ARM_MOTOR); + armEncoder = new CANcoder(Ports.Arm.ARM_ENCODER); + + TalonFXConfiguration config = new TalonFXConfiguration(); + + Slot0Configs slot0 = new Slot0Configs(); + + slot0.kP = Settings.Arm.PID.kP.getAsDouble(); + slot0.kI = Settings.Arm.PID.kI.getAsDouble(); + slot0.kD = Settings.Arm.PID.kD.getAsDouble(); + + slot0.kS = Settings.Arm.FF.kS.getAsDouble(); + slot0.kV = Settings.Arm.FF.kV.getAsDouble(); + slot0.kA = Settings.Arm.FF.kA.getAsDouble(); + slot0.kG = Settings.Arm.FF.kG.getAsDouble(); + slot0.GravityType = GravityTypeValue.Arm_Cosine; + + config.Slot0 = slot0; + config.Feedback.SensorToMechanismRatio = Settings.Arm.GEAR_RATIO; + // config.Feedback.RotorToSensorRatio = 0.0; + config.Feedback.FeedbackRemoteSensorID = armEncoder.getDeviceID(); + config.Feedback.FeedbackSensorSource = FeedbackSensorSourceValue.FusedCANcoder; + + MotionMagicConfigs motionMagicConfigs = config.MotionMagic; + + motionMagicConfigs.MotionMagicCruiseVelocity = Settings.Arm.MotionMagic.MAX_VEL; // Target cruise velocity of 80 rps + motionMagicConfigs.MotionMagicAcceleration = Settings.Arm.MotionMagic.MAX_ACCEL; // Target acceleration of 160 rps/s (0.5 seconds) + motionMagicConfigs.MotionMagicJerk = Settings.Arm.MotionMagic.JERK; + + MagnetSensorConfigs magnet_config = new MagnetSensorConfigs(); + magnet_config.MagnetOffset = Settings.Arm.ENCODER_OFFSET; + + config.OpenLoopRamps.VoltageOpenLoopRampPeriod = Settings.Arm.PID_RAMPING.getAsDouble(); + config.ClosedLoopRamps.VoltageClosedLoopRampPeriod = Settings.Arm.FF_RAMPING.getAsDouble(); + config.OpenLoopRamps.TorqueOpenLoopRampPeriod = Settings.Arm.PID_RAMPING.getAsDouble(); + config.ClosedLoopRamps.TorqueClosedLoopRampPeriod = Settings.Arm.FF_RAMPING.getAsDouble(); + + + armMotor.getConfigurator().apply(config); + armMotor.getConfigurator().apply(motionMagicConfigs); + armEncoder.getConfigurator().apply(magnet_config); + + } + + public void setTargetAngle(Rotation2d targetAngle) { + this.targetAngle = targetAngle; + } + + public Rotation2d getTargetAngle() { + return targetAngle; + } + + + public Rotation2d getArmAngle() { + return Rotation2d.fromRotations(armMotor.getPosition().getValueAsDouble()); + } + + @Override + public void periodic() { + + MotionMagicVoltage armOutput = new MotionMagicVoltage(getTargetAngle().getRotations()); + // armMotor.setControl(new PositionVoltage(getTargetAngle().getRotations())); + armMotor.setControl(armOutput); + + SmartDashboard.putNumber("Arm/targetAngle", getTargetAngle().getDegrees()); + SmartDashboard.putNumber("Arm/currentAngle",getArmAngle().getDegrees()); + + } +} + diff --git a/vendordeps/PathplannerLib.json b/vendordeps/PathplannerLib-2025.2.2.json similarity index 87% rename from vendordeps/PathplannerLib.json rename to vendordeps/PathplannerLib-2025.2.2.json index 396f92d..a5bf9ee 100644 --- a/vendordeps/PathplannerLib.json +++ b/vendordeps/PathplannerLib-2025.2.2.json @@ -1,7 +1,7 @@ { - "fileName": "PathplannerLib.json", + "fileName": "PathplannerLib-2025.2.2.json", "name": "PathplannerLib", - "version": "2025.1.1", + "version": "2025.2.2", "uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786", "frcYear": "2025", "mavenUrls": [ @@ -12,7 +12,7 @@ { "groupId": "com.pathplanner.lib", "artifactId": "PathplannerLib-java", - "version": "2025.1.1" + "version": "2025.2.2" } ], "jniDependencies": [], @@ -20,7 +20,7 @@ { "groupId": "com.pathplanner.lib", "artifactId": "PathplannerLib-cpp", - "version": "2025.1.1", + "version": "2025.2.2", "libName": "PathplannerLib", "headerClassifier": "headers", "sharedLibrary": false, diff --git a/vendordeps/Phoenix5.json b/vendordeps/Phoenix5-5.35.1.json similarity index 92% rename from vendordeps/Phoenix5.json rename to vendordeps/Phoenix5-5.35.1.json index 0ab6d7c..69df8b5 100644 --- a/vendordeps/Phoenix5.json +++ b/vendordeps/Phoenix5-5.35.1.json @@ -1,7 +1,7 @@ { - "fileName": "Phoenix5-frc2025-latest.json", + "fileName": "Phoenix5-5.35.1.json", "name": "CTRE-Phoenix (v5)", - "version": "5.35.0", + "version": "5.35.1", "frcYear": "2025", "uuid": "ab676553-b602-441f-a38d-f1296eff6537", "mavenUrls": [ @@ -32,19 +32,19 @@ { "groupId": "com.ctre.phoenix", "artifactId": "api-java", - "version": "5.35.0" + "version": "5.35.1" }, { "groupId": "com.ctre.phoenix", "artifactId": "wpiapi-java", - "version": "5.35.0" + "version": "5.35.1" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix", "artifactId": "cci", - "version": "5.35.0", + "version": "5.35.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -58,7 +58,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "cci-sim", - "version": "5.35.0", + "version": "5.35.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -74,7 +74,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "wpiapi-cpp", - "version": "5.35.0", + "version": "5.35.1", "libName": "CTRE_Phoenix_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -90,7 +90,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "api-cpp", - "version": "5.35.0", + "version": "5.35.1", "libName": "CTRE_Phoenix", "headerClassifier": "headers", "sharedLibrary": true, @@ -106,7 +106,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "cci", - "version": "5.35.0", + "version": "5.35.1", "libName": "CTRE_PhoenixCCI", "headerClassifier": "headers", "sharedLibrary": true, @@ -122,7 +122,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "wpiapi-cpp-sim", - "version": "5.35.0", + "version": "5.35.1", "libName": "CTRE_Phoenix_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -138,7 +138,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "api-cpp-sim", - "version": "5.35.0", + "version": "5.35.1", "libName": "CTRE_PhoenixSim", "headerClassifier": "headers", "sharedLibrary": true, @@ -154,7 +154,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "cci-sim", - "version": "5.35.0", + "version": "5.35.1", "libName": "CTRE_PhoenixCCISim", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/Phoenix6.json b/vendordeps/Phoenix6-25.2.1.json similarity index 85% rename from vendordeps/Phoenix6.json rename to vendordeps/Phoenix6-25.2.1.json index 7f4bd2e..1397da1 100644 --- a/vendordeps/Phoenix6.json +++ b/vendordeps/Phoenix6-25.2.1.json @@ -1,7 +1,7 @@ { - "fileName": "Phoenix6-frc2025-latest.json", + "fileName": "Phoenix6-25.2.1.json", "name": "CTRE-Phoenix (v6)", - "version": "25.1.0", + "version": "25.2.1", "frcYear": "2025", "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "mavenUrls": [ @@ -19,14 +19,14 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-java", - "version": "25.1.0" + "version": "25.2.1" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix6", "artifactId": "api-cpp", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -40,7 +40,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -54,7 +54,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "api-cpp-sim", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -68,7 +68,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -82,7 +82,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -96,7 +96,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -110,7 +110,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -124,7 +124,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simCANCoder", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -138,7 +138,21 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "25.1.0", + "version": "25.2.1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -152,7 +166,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -166,7 +180,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -180,7 +194,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "25.1.0", + "version": "25.2.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -196,7 +210,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-cpp", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_Phoenix6_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -212,7 +226,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_PhoenixTools", "headerClassifier": "headers", "sharedLibrary": true, @@ -228,7 +242,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "wpiapi-cpp-sim", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_Phoenix6_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -244,7 +258,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_PhoenixTools_Sim", "headerClassifier": "headers", "sharedLibrary": true, @@ -260,7 +274,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimTalonSRX", "headerClassifier": "headers", "sharedLibrary": true, @@ -276,7 +290,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimVictorSPX", "headerClassifier": "headers", "sharedLibrary": true, @@ -292,7 +306,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimPigeonIMU", "headerClassifier": "headers", "sharedLibrary": true, @@ -308,7 +322,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simCANCoder", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimCANCoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -324,7 +338,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimProTalonFX", "headerClassifier": "headers", "sharedLibrary": true, @@ -337,10 +351,26 @@ ], "simMode": "swsim" }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "25.2.1", + "libName": "CTRE_SimProTalonFXS", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimProCANcoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -356,7 +386,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimProPigeon2", "headerClassifier": "headers", "sharedLibrary": true, @@ -372,7 +402,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "25.1.0", + "version": "25.2.1", "libName": "CTRE_SimProCANrange", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib-2025.0.2.json similarity index 86% rename from vendordeps/REVLib.json rename to vendordeps/REVLib-2025.0.2.json index 2c39628..c29aefa 100644 --- a/vendordeps/REVLib.json +++ b/vendordeps/REVLib-2025.0.2.json @@ -1,7 +1,7 @@ { - "fileName": "REVLib.json", + "fileName": "REVLib-2025.0.2.json", "name": "REVLib", - "version": "2025.0.0", + "version": "2025.0.2", "frcYear": "2025", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "mavenUrls": [ @@ -12,19 +12,18 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-java", - "version": "2025.0.0" + "version": "2025.0.2" } ], "jniDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.0", + "version": "2025.0.2", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ "windowsx86-64", - "windowsx86", "linuxarm64", "linuxx86-64", "linuxathena", @@ -37,14 +36,13 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-cpp", - "version": "2025.0.0", + "version": "2025.0.2", "libName": "REVLib", "headerClassifier": "headers", "sharedLibrary": false, "skipInvalidPlatforms": true, "binaryPlatforms": [ "windowsx86-64", - "windowsx86", "linuxarm64", "linuxx86-64", "linuxathena", @@ -55,14 +53,13 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.0", + "version": "2025.0.2", "libName": "REVLibDriver", "headerClassifier": "headers", "sharedLibrary": false, "skipInvalidPlatforms": true, "binaryPlatforms": [ "windowsx86-64", - "windowsx86", "linuxarm64", "linuxx86-64", "linuxathena", diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json index 039d0a5..6af3d3e 100644 --- a/vendordeps/photonlib.json +++ b/vendordeps/photonlib.json @@ -1,71 +1,71 @@ { "fileName": "photonlib.json", "name": "photonlib", - "version": "v2025.0.0-beta-8", + "version": "v2025.1.1", "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", "frcYear": "2025", "mavenUrls": [ - "https://maven.photonvision.org/repository/internal", - "https://maven.photonvision.org/repository/snapshots" + "https://maven.photonvision.org/repository/internal", + "https://maven.photonvision.org/repository/snapshots" ], "jsonUrl": "https://maven.photonvision.org/repository/internal/org/photonvision/photonlib-json/1.0/photonlib-json-1.0.json", "jniDependencies": [ - { - "groupId": "org.photonvision", - "artifactId": "photontargeting-cpp", - "version": "v2025.0.0-beta-8", - "skipInvalidPlatforms": true, - "isJar": false, - "validPlatforms": [ - "windowsx86-64", - "linuxathena", - "linuxx86-64", - "osxuniversal" - ] - } + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-cpp", + "version": "v2025.1.1", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + } ], "cppDependencies": [ - { - "groupId": "org.photonvision", - "artifactId": "photonlib-cpp", - "version": "v2025.0.0-beta-8", - "libName": "photonlib", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxathena", - "linuxx86-64", - "osxuniversal" - ] - }, - { - "groupId": "org.photonvision", - "artifactId": "photontargeting-cpp", - "version": "v2025.0.0-beta-8", - "libName": "photontargeting", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxathena", - "linuxx86-64", - "osxuniversal" - ] - } + { + "groupId": "org.photonvision", + "artifactId": "photonlib-cpp", + "version": "v2025.1.1", + "libName": "photonlib", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + }, + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-cpp", + "version": "v2025.1.1", + "libName": "photontargeting", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + } ], "javaDependencies": [ - { - "groupId": "org.photonvision", - "artifactId": "photonlib-java", - "version": "v2025.0.0-beta-8" - }, - { - "groupId": "org.photonvision", - "artifactId": "photontargeting-java", - "version": "v2025.0.0-beta-8" - } + { + "groupId": "org.photonvision", + "artifactId": "photonlib-java", + "version": "v2025.1.1" + }, + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-java", + "version": "v2025.1.1" + } ] - } \ No newline at end of file +} \ No newline at end of file