From 08ef0a010d0e6fe2dde500477d233700c6ccb4e0 Mon Sep 17 00:00:00 2001 From: Stephen Just Date: Sat, 13 Dec 2025 11:48:25 -0800 Subject: [PATCH 1/4] Updates for 2026 beta WPI release --- build.gradle | 2 +- .../java/xbot/common/command/BaseRobot.java | 2 +- .../wpi_adapters/CANSparkMaxWpiAdapter.java | 10 +- .../wpi_adapters/CANTalonFxWpiAdapter.java | 2 +- .../sensors/wpi_adapters/CANCoderAdapter.java | 2 +- .../sensors/wpi_adapters/Pigeon2Adapter.java | 2 +- .../electrical_contract/CANBusId.java | 20 + vendordeps/AdvantageKit.json | 2 +- vendordeps/LaserCAN.json | 2 +- vendordeps/NavX.json | 2 +- vendordeps/PathplannerLib.json | 2 +- vendordeps/Phoenix5.json | 36 +- vendordeps/Phoenix6.json | 834 ++++++++++-------- vendordeps/REVLib.json | 77 +- vendordeps/WPILibNewCommands.json | 2 +- vendordeps/photonlib.json | 2 +- 16 files changed, 571 insertions(+), 428 deletions(-) diff --git a/build.gradle b/build.gradle index 652d8302..00b60e2d 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ import edu.wpi.first.gradlerio.deploy.roborio.RoboRIO */ plugins { - id "edu.wpi.first.GradleRIO" version "2025.3.1" + id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1" id 'scala' id 'checkstyle' id 'jacoco' diff --git a/src/main/java/xbot/common/command/BaseRobot.java b/src/main/java/xbot/common/command/BaseRobot.java index a8c8d4f3..ee5b0f6e 100644 --- a/src/main/java/xbot/common/command/BaseRobot.java +++ b/src/main/java/xbot/common/command/BaseRobot.java @@ -210,7 +210,7 @@ public void autonomousInit() { this.autonomousCommand = this.autonomousCommandSelector.getCurrentAutonomousCommand(); if(this.autonomousCommand != null) { log.info("Starting autonomous command: " + this.autonomousCommand); - this.autonomousCommand.schedule(); + CommandScheduler.getInstance().schedule(this.autonomousCommand); } else { log.warn("No autonomous command set."); } diff --git a/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java b/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java index ef53432c..5beb27d2 100644 --- a/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java +++ b/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java @@ -136,7 +136,7 @@ public void setTrapezoidalProfileJerk(Velocity jerk) { @Override public void setTrapezoidalProfileMaxVelocity(AngularVelocity velocity) { var config = new SparkMaxConfig(); - config.closedLoop.maxMotion.maxVelocity(velocity.in(RPM)); + config.closedLoop.maxMotion.cruiseVelocity(velocity.in(RPM)); this.internalSparkMax.configure(config, SparkBase.ResetMode.kNoResetSafeParameters, SparkBase.PersistMode.kNoPersistParameters); @@ -152,8 +152,8 @@ public void setPidDirectly(double p, double i, double d, double velocityFF, doub config.closedLoop .p(p, getClosedLoopSlot(slot)) .i(i, getClosedLoopSlot(slot)) - .d(d, getClosedLoopSlot(slot)) - .velocityFF(velocityFF, getClosedLoopSlot(slot)); + .d(d, getClosedLoopSlot(slot)); + config.closedLoop.feedForward.kV(velocityFF, getClosedLoopSlot(slot)); this.internalSparkMax.configure(config, SparkBase.ResetMode.kNoResetSafeParameters, SparkBase.PersistMode.kNoPersistParameters); @@ -213,7 +213,7 @@ public void setRawPositionTarget(Angle rawPosition, MotorPidMode mode, int slot) } this.internalSparkMax .getClosedLoopController() - .setReference(rawPosition.in(Rotations), controlType, getClosedLoopSlot(slot)); + .setSetpoint(rawPosition.in(Rotations), controlType, getClosedLoopSlot(slot)); } public AngularVelocity getRawVelocity_internal() { @@ -233,7 +233,7 @@ public void setRawVelocityTarget(AngularVelocity rawVelocity, MotorPidMode mode, } this.internalSparkMax .getClosedLoopController() - .setReference(rawVelocity.in(RPM), controlType, getClosedLoopSlot(slot)); + .setSetpoint(rawVelocity.in(RPM), controlType, getClosedLoopSlot(slot)); } @Override diff --git a/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANTalonFxWpiAdapter.java b/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANTalonFxWpiAdapter.java index 149ec8b4..5a3cbed7 100644 --- a/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANTalonFxWpiAdapter.java +++ b/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANTalonFxWpiAdapter.java @@ -77,7 +77,7 @@ public CANTalonFxWpiAdapter( @Assisted("defaultPIDProperties") XCANMotorControllerPIDProperties defaultPIDProperties ) { super(info, owningSystemPrefix, propertyFactory, police, pidPropertyPrefix, defaultPIDProperties); - this.internalTalonFx = new TalonFX(info.deviceId(), info.busId().id()); + this.internalTalonFx = new TalonFX(info.deviceId(), info.busId().toPhoenixCANBus()); this.rotorPositionSignal = this.internalTalonFx.getRotorPosition(false); this.rotorVelocitySignal = this.internalTalonFx.getRotorVelocity(false); diff --git a/src/main/java/xbot/common/controls/sensors/wpi_adapters/CANCoderAdapter.java b/src/main/java/xbot/common/controls/sensors/wpi_adapters/CANCoderAdapter.java index c0324751..35cfa5b3 100644 --- a/src/main/java/xbot/common/controls/sensors/wpi_adapters/CANCoderAdapter.java +++ b/src/main/java/xbot/common/controls/sensors/wpi_adapters/CANCoderAdapter.java @@ -60,7 +60,7 @@ public CANCoderAdapter(@Assisted("deviceInfo") DeviceInfo deviceInfo, this.inverted = deviceInfo.inverted; this.magnetOffset = 0.0; - this.cancoder = new CANcoder(deviceInfo.channel, deviceInfo.canBusId.id()); + this.cancoder = new CANcoder(deviceInfo.channel, deviceInfo.canBusId.toPhoenixCANBus()); var currentConfig = getCurrentConfiguration(); currentConfig.MagnetSensor.AbsoluteSensorDiscontinuityPoint = 0.5; diff --git a/src/main/java/xbot/common/controls/sensors/wpi_adapters/Pigeon2Adapter.java b/src/main/java/xbot/common/controls/sensors/wpi_adapters/Pigeon2Adapter.java index a75fa105..ec44a8cb 100644 --- a/src/main/java/xbot/common/controls/sensors/wpi_adapters/Pigeon2Adapter.java +++ b/src/main/java/xbot/common/controls/sensors/wpi_adapters/Pigeon2Adapter.java @@ -38,7 +38,7 @@ public abstract static class Pigeon2AdapterFactory extends XGyroFactory { @AssistedInject public Pigeon2Adapter(DevicePolice police, @Assisted IMUInfo imuInfo) { super(imuInfo); - this.pigeon = new Pigeon2(imuInfo.deviceId(), imuInfo.canBusId().id()); + this.pigeon = new Pigeon2(imuInfo.deviceId(), imuInfo.canBusId().toPhoenixCANBus()); police.registerDevice(DevicePolice.DeviceType.CAN, imuInfo.canBusId(), imuInfo.deviceId(), this); this.yawSignal = pigeon.getYaw(); diff --git a/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java b/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java index acad92b7..fa38e917 100644 --- a/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java +++ b/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java @@ -1,5 +1,8 @@ package xbot.common.injection.electrical_contract; +import com.ctre.phoenix6.CANBus; +import scala.util.hashing.Hashing; + /** * Represents a CAN bus ID * @param id Bus name string @@ -7,4 +10,21 @@ public record CANBusId(String id) { public static final CANBusId RIO = new CANBusId("rio"); public static final CANBusId DefaultCanivore = new CANBusId("*"); + + private static final CANBus DefaultPhoenixRio = CANBus.roboRIO(); + private static final CANBus DefaultPhoenixCanivore = new CANBus("*"); + + /** + * Converts this CANBusId to a Phoenix CANBus object. + * @return Corresponding CANBus object + */ + public CANBus toPhoenixCANBus() { + if (this.equals(RIO)) { + return DefaultPhoenixRio; + } else if (this.equals(DefaultCanivore)) { + return DefaultPhoenixCanivore; + } else { + throw new IllegalArgumentException("Unknown CAN bus ID: " + this.id); + } + } } diff --git a/vendordeps/AdvantageKit.json b/vendordeps/AdvantageKit.json index 55f77b38..abaa42cc 100644 --- a/vendordeps/AdvantageKit.json +++ b/vendordeps/AdvantageKit.json @@ -3,7 +3,7 @@ "name": "AdvantageKit", "version": "4.0.0", "uuid": "d820cc26-74e3-11ec-90d6-0242ac120003", - "frcYear": "2025", + "frcYear": "2026beta", "mavenUrls": [ "https://frcmaven.wpi.edu/artifactory/littletonrobotics-mvn-release/" ], diff --git a/vendordeps/LaserCAN.json b/vendordeps/LaserCAN.json index 106ed9ab..04764963 100644 --- a/vendordeps/LaserCAN.json +++ b/vendordeps/LaserCAN.json @@ -2,7 +2,7 @@ "fileName": "libgrapplefrc2025.json", "name": "libgrapplefrc", "version": "2025.1.0", - "frcYear": "2025", + "frcYear": "2026beta", "uuid": "8ef3423d-9532-4665-8339-206dae1d7168", "mavenUrls": [ "https://storage.googleapis.com/grapple-frc-maven" ], "jsonUrl": "https://storage.googleapis.com/grapple-frc-maven/libgrapplefrc2025.json", diff --git a/vendordeps/NavX.json b/vendordeps/NavX.json index ddb0e44b..5b8c6ed8 100644 --- a/vendordeps/NavX.json +++ b/vendordeps/NavX.json @@ -3,7 +3,7 @@ "name": "Studica", "version": "2025.0.0", "uuid": "cb311d09-36e9-4143-a032-55bb2b94443b", - "frcYear": "2025", + "frcYear": "2026beta", "mavenUrls": [ "https://dev.studica.com/maven/release/2025/" ], diff --git a/vendordeps/PathplannerLib.json b/vendordeps/PathplannerLib.json index 876cdd4d..340a743c 100644 --- a/vendordeps/PathplannerLib.json +++ b/vendordeps/PathplannerLib.json @@ -3,7 +3,7 @@ "name": "PathplannerLib", "version": "2025.1.1", "uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786", - "frcYear": "2025", + "frcYear": "2026beta", "mavenUrls": [ "https://3015rangerrobotics.github.io/pathplannerlib/repo" ], diff --git a/vendordeps/Phoenix5.json b/vendordeps/Phoenix5.json index 3cbc8f63..ede60797 100644 --- a/vendordeps/Phoenix5.json +++ b/vendordeps/Phoenix5.json @@ -1,50 +1,50 @@ { - "fileName": "Phoenix5-frc2025-latest.json", + "fileName": "Phoenix5-frc2026-beta-latest.json", "name": "CTRE-Phoenix (v5)", - "version": "5.35.1", - "frcYear": "2025", + "version": "5.36.0-beta-1", + "frcYear": "2026beta", "uuid": "ab676553-b602-441f-a38d-f1296eff6537", "mavenUrls": [ "https://maven.ctr-electronics.com/release/" ], - "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2025-latest.json", + "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2026-beta-latest.json", "requires": [ { "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "errorMessage": "Phoenix 5 requires low-level libraries from Phoenix 6. Please add the Phoenix 6 vendordep before adding Phoenix 5.", - "offlineFileName": "Phoenix6-frc2025-latest.json", - "onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2025-latest.json" + "offlineFileName": "Phoenix6-frc2026-beta-latest.json", + "onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2026-beta-latest.json" } ], "conflictsWith": [ { "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", "errorMessage": "Users must use the Phoenix 5 replay vendordep when using the Phoenix 6 replay vendordep.", - "offlineFileName": "Phoenix6-replay-frc2025-latest.json" + "offlineFileName": "Phoenix6-replay-frc2026-beta-latest.json" }, { "uuid": "fbc886a4-2cec-40c0-9835-71086a8cc3df", "errorMessage": "Users cannot have both the replay and regular Phoenix 5 vendordeps in their robot program.", - "offlineFileName": "Phoenix5-replay-frc2025-latest.json" + "offlineFileName": "Phoenix5-replay-frc2026-beta-latest.json" } ], "javaDependencies": [ { "groupId": "com.ctre.phoenix", "artifactId": "api-java", - "version": "5.35.1" + "version": "5.36.0-beta-1" }, { "groupId": "com.ctre.phoenix", "artifactId": "wpiapi-java", - "version": "5.35.1" + "version": "5.36.0-beta-1" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix", "artifactId": "cci", - "version": "5.35.1", + "version": "5.36.0-beta-1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -58,7 +58,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "cci-sim", - "version": "5.35.1", + "version": "5.36.0-beta-1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -74,7 +74,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "wpiapi-cpp", - "version": "5.35.1", + "version": "5.36.0-beta-1", "libName": "CTRE_Phoenix_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -90,7 +90,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "api-cpp", - "version": "5.35.1", + "version": "5.36.0-beta-1", "libName": "CTRE_Phoenix", "headerClassifier": "headers", "sharedLibrary": true, @@ -106,7 +106,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "cci", - "version": "5.35.1", + "version": "5.36.0-beta-1", "libName": "CTRE_PhoenixCCI", "headerClassifier": "headers", "sharedLibrary": true, @@ -122,7 +122,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "wpiapi-cpp-sim", - "version": "5.35.1", + "version": "5.36.0-beta-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.1", + "version": "5.36.0-beta-1", "libName": "CTRE_PhoenixSim", "headerClassifier": "headers", "sharedLibrary": true, @@ -154,7 +154,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "cci-sim", - "version": "5.35.1", + "version": "5.36.0-beta-1", "libName": "CTRE_PhoenixCCISim", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/Phoenix6.json b/vendordeps/Phoenix6.json index 7f4bd2e6..3880f4d7 100644 --- a/vendordeps/Phoenix6.json +++ b/vendordeps/Phoenix6.json @@ -1,389 +1,449 @@ { - "fileName": "Phoenix6-frc2025-latest.json", - "name": "CTRE-Phoenix (v6)", - "version": "25.1.0", - "frcYear": "2025", - "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", - "mavenUrls": [ - "https://maven.ctr-electronics.com/release/" - ], - "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2025-latest.json", - "conflictsWith": [ - { - "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", - "errorMessage": "Users can not have both the replay and regular Phoenix 6 vendordeps in their robot program.", - "offlineFileName": "Phoenix6-replay-frc2025-latest.json" - } - ], - "javaDependencies": [ - { - "groupId": "com.ctre.phoenix6", - "artifactId": "wpiapi-java", - "version": "25.1.0" - } - ], - "jniDependencies": [ - { - "groupId": "com.ctre.phoenix6", - "artifactId": "api-cpp", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "linuxathena" - ], - "simMode": "hwsim" - }, - { - "groupId": "com.ctre.phoenix6", - "artifactId": "tools", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "linuxathena" - ], - "simMode": "hwsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "api-cpp-sim", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "tools-sim", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simTalonSRX", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simVictorSPX", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simPigeonIMU", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simCANCoder", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProTalonFX", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProCANcoder", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProPigeon2", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProCANrange", - "version": "25.1.0", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - } - ], - "cppDependencies": [ - { - "groupId": "com.ctre.phoenix6", - "artifactId": "wpiapi-cpp", - "version": "25.1.0", - "libName": "CTRE_Phoenix6_WPI", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "linuxathena" - ], - "simMode": "hwsim" - }, - { - "groupId": "com.ctre.phoenix6", - "artifactId": "tools", - "version": "25.1.0", - "libName": "CTRE_PhoenixTools", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "linuxathena" - ], - "simMode": "hwsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "wpiapi-cpp-sim", - "version": "25.1.0", - "libName": "CTRE_Phoenix6_WPISim", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "tools-sim", - "version": "25.1.0", - "libName": "CTRE_PhoenixTools_Sim", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simTalonSRX", - "version": "25.1.0", - "libName": "CTRE_SimTalonSRX", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simVictorSPX", - "version": "25.1.0", - "libName": "CTRE_SimVictorSPX", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simPigeonIMU", - "version": "25.1.0", - "libName": "CTRE_SimPigeonIMU", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simCANCoder", - "version": "25.1.0", - "libName": "CTRE_SimCANCoder", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProTalonFX", - "version": "25.1.0", - "libName": "CTRE_SimProTalonFX", - "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", - "libName": "CTRE_SimProCANcoder", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProPigeon2", - "version": "25.1.0", - "libName": "CTRE_SimProPigeon2", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - }, - { - "groupId": "com.ctre.phoenix6.sim", - "artifactId": "simProCANrange", - "version": "25.1.0", - "libName": "CTRE_SimProCANrange", - "headerClassifier": "headers", - "sharedLibrary": true, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64", - "linuxarm64", - "osxuniversal" - ], - "simMode": "swsim" - } - ] + "fileName": "Phoenix6-26.0.0-beta-1.json", + "name": "CTRE-Phoenix (v6)", + "version": "26.0.0-beta-1", + "frcYear": "2026beta", + "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", + "mavenUrls": [ + "https://maven.ctr-electronics.com/release/" + ], + "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2026-latest.json", + "conflictsWith": [ + { + "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", + "errorMessage": "Users can not have both the replay and regular Phoenix 6 vendordeps in their robot program.", + "offlineFileName": "Phoenix6-replay-frc2026-latest.json" + } + ], + "javaDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "wpiapi-java", + "version": "26.0.0-beta-1" + } + ], + "jniDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "api-cpp", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6", + "artifactId": "tools", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "api-cpp-sim", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "tools-sim", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simTalonSRX", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simVictorSPX", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simPigeonIMU", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFX", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANcoder", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProPigeon2", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANrange", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdle", + "version": "26.0.0-beta-1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ], + "cppDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "wpiapi-cpp", + "version": "26.0.0-beta-1", + "libName": "CTRE_Phoenix6_WPI", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6", + "artifactId": "tools", + "version": "26.0.0-beta-1", + "libName": "CTRE_PhoenixTools", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "wpiapi-cpp-sim", + "version": "26.0.0-beta-1", + "libName": "CTRE_Phoenix6_WPISim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "tools-sim", + "version": "26.0.0-beta-1", + "libName": "CTRE_PhoenixTools_Sim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simTalonSRX", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimTalonSRX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simVictorSPX", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimVictorSPX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simPigeonIMU", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimPigeonIMU", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFX", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimProTalonFX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "26.0.0-beta-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": "26.0.0-beta-1", + "libName": "CTRE_SimProCANcoder", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProPigeon2", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimProPigeon2", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANrange", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimProCANrange", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimProCANdi", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdle", + "version": "26.0.0-beta-1", + "libName": "CTRE_SimProCANdle", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ] } \ No newline at end of file diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib.json index 80a0dfcf..978a7e75 100644 --- a/vendordeps/REVLib.json +++ b/vendordeps/REVLib.json @@ -1,25 +1,55 @@ { "fileName": "REVLib.json", "name": "REVLib", - "version": "2025.0.2", - "frcYear": "2025", + "version": "2026.0.0-beta-1", + "frcYear": "2026beta", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "mavenUrls": [ "https://maven.revrobotics.com/" ], - "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2025.json", + "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2026.json", "javaDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-java", - "version": "2025.0.2" + "version": "2026.0.0-beta-1" } ], "jniDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.2", + "version": "2026.0.0-beta-1", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibBackendDriver", + "version": "2026.0.0-beta-1", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibWpiBackendDriver", + "version": "2026.0.0-beta-1", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -36,7 +66,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-cpp", - "version": "2025.0.2", + "version": "2026.0.0-beta-1", "libName": "REVLib", "headerClassifier": "headers", "sharedLibrary": false, @@ -53,7 +83,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.2", + "version": "2026.0.0-beta-1", "libName": "REVLibDriver", "headerClassifier": "headers", "sharedLibrary": false, @@ -66,6 +96,39 @@ "linuxarm32", "osxuniversal" ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibBackendDriver", + "version": "2026.0.0-beta-1", + "libName": "BackendDriver", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibWpiBackendDriver", + "version": "2026.0.0-beta-1", + "libName": "REVLibWpi", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + } ] } \ No newline at end of file diff --git a/vendordeps/WPILibNewCommands.json b/vendordeps/WPILibNewCommands.json index 078b3c32..a95299e9 100644 --- a/vendordeps/WPILibNewCommands.json +++ b/vendordeps/WPILibNewCommands.json @@ -3,7 +3,7 @@ "name": "WPILib-New-Commands", "version": "1.0.0", "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", - "frcYear": "2025", + "frcYear": "2026beta", "mavenUrls": [], "jsonUrl": "", "javaDependencies": [ diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json index 32eb2b1e..0834bcc4 100644 --- a/vendordeps/photonlib.json +++ b/vendordeps/photonlib.json @@ -3,7 +3,7 @@ "name": "photonlib", "version": "v2025.1.1", "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", - "frcYear": "2025", + "frcYear": "2026beta", "mavenUrls": [ "https://maven.photonvision.org/repository/internal", "https://maven.photonvision.org/repository/snapshots" From 6db487f29919983202ae62601f49bea5e72aa415 Mon Sep 17 00:00:00 2001 From: Stephen Just Date: Sat, 10 Jan 2026 13:20:24 -0800 Subject: [PATCH 2/4] Update to 2026 released deps --- .wpilib/wpilib_preferences.json | 2 +- build.gradle | 2 +- .../java/xbot/common/command/BaseRobot.java | 2 +- .../wpi_adapters/CANSparkMaxWpiAdapter.java | 30 ++-- .../java/xbot/common/logging/TimeLogger.java | 22 +-- vendordeps/AdvantageKit.json | 13 +- vendordeps/LaserCAN.json | 19 +-- vendordeps/NavX.json | 2 +- vendordeps/PathplannerLib.json | 8 +- vendordeps/Phoenix5.json | 36 ++--- vendordeps/Phoenix6.json | 64 ++++---- vendordeps/REVLib.json | 20 +-- vendordeps/WPILibNewCommands.json | 2 +- vendordeps/photonlib.json | 141 +++++++++--------- 14 files changed, 181 insertions(+), 182 deletions(-) diff --git a/.wpilib/wpilib_preferences.json b/.wpilib/wpilib_preferences.json index 2d507ed8..639ddad9 100644 --- a/.wpilib/wpilib_preferences.json +++ b/.wpilib/wpilib_preferences.json @@ -1,6 +1,6 @@ { "enableCppIntellisense": false, "currentLanguage": "java", - "projectYear": "2025", + "projectYear": "2026", "teamNumber": 488 } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 00b60e2d..d361a386 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ import edu.wpi.first.gradlerio.deploy.roborio.RoboRIO */ plugins { - id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1" + id "edu.wpi.first.GradleRIO" version "2026.1.1" id 'scala' id 'checkstyle' id 'jacoco' diff --git a/src/main/java/xbot/common/command/BaseRobot.java b/src/main/java/xbot/common/command/BaseRobot.java index ee5b0f6e..3ed561c0 100644 --- a/src/main/java/xbot/common/command/BaseRobot.java +++ b/src/main/java/xbot/common/command/BaseRobot.java @@ -316,7 +316,7 @@ public void simulationPeriodic() { } protected double getPerformanceTimestampInMs() { - return org.littletonrobotics.junction.Logger.getRealTimestamp()*1.0 / 1000.0; + return XTimer.getFPGATimestamp() / 1000.0; } } diff --git a/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java b/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java index 5beb27d2..202a80e0 100644 --- a/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java +++ b/src/main/java/xbot/common/controls/actuators/wpi_adapters/CANSparkMaxWpiAdapter.java @@ -1,5 +1,7 @@ package xbot.common.controls.actuators.wpi_adapters; +import com.revrobotics.PersistMode; +import com.revrobotics.ResetMode; import com.revrobotics.spark.ClosedLoopSlot; import com.revrobotics.spark.SparkBase; import com.revrobotics.spark.SparkLowLevel; @@ -87,8 +89,8 @@ public void setConfiguration(CANMotorControllerOutputConfig outputConfig) { : SparkBaseConfig.IdleMode.kCoast) .smartCurrentLimit((int) outputConfig.statorCurrentLimit.in(Amps)); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kResetSafeParameters, - SparkBase.PersistMode.kPersistParameters); + ResetMode.kResetSafeParameters, + PersistMode.kPersistParameters); } @Override @@ -100,8 +102,8 @@ public void setOpenLoopRampRates(Time dutyCyclePeriod, Time voltagePeriod) { var config = new SparkMaxConfig(); config.openLoopRampRate(dutyCyclePeriod.in(Seconds)); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kNoResetSafeParameters, - SparkBase.PersistMode.kNoPersistParameters); + ResetMode.kNoResetSafeParameters, + PersistMode.kNoPersistParameters); } @Override @@ -113,8 +115,8 @@ public void setClosedLoopRampRates(Time dutyCyclePeriod, Time voltagePeriod) { var config = new SparkMaxConfig(); config.closedLoopRampRate(dutyCyclePeriod.in(Seconds)); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kNoResetSafeParameters, - SparkBase.PersistMode.kNoPersistParameters); + ResetMode.kNoResetSafeParameters, + PersistMode.kNoPersistParameters); } @Override @@ -122,8 +124,8 @@ public void setTrapezoidalProfileAcceleration(AngularAcceleration acceleration) var config = new SparkMaxConfig(); config.closedLoop.maxMotion.maxAcceleration(acceleration.in(RPM.per(Second))); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kNoResetSafeParameters, - SparkBase.PersistMode.kNoPersistParameters); + ResetMode.kNoResetSafeParameters, + PersistMode.kNoPersistParameters); } @Override @@ -138,8 +140,8 @@ public void setTrapezoidalProfileMaxVelocity(AngularVelocity velocity) { var config = new SparkMaxConfig(); config.closedLoop.maxMotion.cruiseVelocity(velocity.in(RPM)); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kNoResetSafeParameters, - SparkBase.PersistMode.kNoPersistParameters); + ResetMode.kNoResetSafeParameters, + PersistMode.kNoPersistParameters); } @Override @@ -155,8 +157,8 @@ public void setPidDirectly(double p, double i, double d, double velocityFF, doub .d(d, getClosedLoopSlot(slot)); config.closedLoop.feedForward.kV(velocityFF, getClosedLoopSlot(slot)); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kNoResetSafeParameters, - SparkBase.PersistMode.kNoPersistParameters); + ResetMode.kNoResetSafeParameters, + PersistMode.kNoPersistParameters); } @Override @@ -187,8 +189,8 @@ public void setPowerRange(double minPower, double maxPower) { .minOutput(minPower) .maxOutput(maxPower); this.internalSparkMax.configure(config, - SparkBase.ResetMode.kNoResetSafeParameters, - SparkBase.PersistMode.kNoPersistParameters); + ResetMode.kNoResetSafeParameters, + PersistMode.kNoPersistParameters); } public Angle getRawPosition_internal() { diff --git a/src/main/java/xbot/common/logging/TimeLogger.java b/src/main/java/xbot/common/logging/TimeLogger.java index bc60c158..c3f9db1e 100644 --- a/src/main/java/xbot/common/logging/TimeLogger.java +++ b/src/main/java/xbot/common/logging/TimeLogger.java @@ -6,7 +6,7 @@ import xbot.common.controls.sensors.XTimer; public class TimeLogger { - + private static Logger log = LogManager.getLogger(TimeLogger.class); boolean firstCall; @@ -15,45 +15,45 @@ public class TimeLogger { String name; double accumulatedTime; int callCount; - int reportingIntervalInSeconds; - + int reportingIntervalInSeconds; + public TimeLogger(String name, int reportingIntervalInSeconds) { firstCall = true; this.name = name; this.reportingIntervalInSeconds = reportingIntervalInSeconds; reset(); } - + private void reset() { accumulatedTime = 0; callCount = 0; lastReportTime = getPerformanceTimestamp(); } - + public void start() { startTime = getPerformanceTimestamp(); - + if (firstCall) { firstCall = false; reset(); } } - + public void stop() { double duration = getPerformanceTimestamp() - startTime; - + accumulatedTime += duration; callCount++; - + if (getPerformanceTimestamp() - lastReportTime > reportingIntervalInSeconds && callCount > 0) { double averageLoopDuration = accumulatedTime / (double)callCount; log.info("Average duration for " + name + " was: " + averageLoopDuration); - + reset(); } } private double getPerformanceTimestamp() { - return org.littletonrobotics.junction.Logger.getRealTimestamp()*1.0 / 1000000.0; + return XTimer.getFPGATimestamp() / 1000000.0; } } diff --git a/vendordeps/AdvantageKit.json b/vendordeps/AdvantageKit.json index abaa42cc..9e9152b0 100644 --- a/vendordeps/AdvantageKit.json +++ b/vendordeps/AdvantageKit.json @@ -1,9 +1,9 @@ { "fileName": "AdvantageKit.json", "name": "AdvantageKit", - "version": "4.0.0", + "version": "26.0.0", "uuid": "d820cc26-74e3-11ec-90d6-0242ac120003", - "frcYear": "2026beta", + "frcYear": "2026", "mavenUrls": [ "https://frcmaven.wpi.edu/artifactory/littletonrobotics-mvn-release/" ], @@ -12,21 +12,22 @@ { "groupId": "org.littletonrobotics.akit", "artifactId": "akit-java", - "version": "4.0.0" + "version": "26.0.0" } ], "jniDependencies": [ { "groupId": "org.littletonrobotics.akit", "artifactId": "akit-wpilibio", - "version": "4.0.0", + "version": "26.0.0", "skipInvalidPlatforms": false, "isJar": false, "validPlatforms": [ "linuxathena", - "windowsx86-64", "linuxx86-64", - "osxuniversal" + "linuxarm64", + "osxuniversal", + "windowsx86-64" ] } ], diff --git a/vendordeps/LaserCAN.json b/vendordeps/LaserCAN.json index 04764963..a487918d 100644 --- a/vendordeps/LaserCAN.json +++ b/vendordeps/LaserCAN.json @@ -1,28 +1,27 @@ { - "fileName": "libgrapplefrc2025.json", + "fileName": "libgrapplefrc2026.json", "name": "libgrapplefrc", - "version": "2025.1.0", - "frcYear": "2026beta", + "version": "2026.0.0", + "frcYear": "2026", "uuid": "8ef3423d-9532-4665-8339-206dae1d7168", "mavenUrls": [ "https://storage.googleapis.com/grapple-frc-maven" ], - "jsonUrl": "https://storage.googleapis.com/grapple-frc-maven/libgrapplefrc2025.json", + "jsonUrl": "https://storage.googleapis.com/grapple-frc-maven/libgrapplefrc2026.json", "javaDependencies": [ { "groupId": "au.grapplerobotics", "artifactId": "libgrapplefrcjava", - "version": "2025.1.0" + "version": "2026.0.0" } ], "jniDependencies": [ { "groupId": "au.grapplerobotics", "artifactId": "libgrapplefrcdriver", - "version": "2025.1.0", + "version": "2026.0.0", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ "windowsx86-64", - "windowsx86", "linuxarm64", "linuxx86-64", "linuxathena", @@ -35,14 +34,13 @@ { "groupId": "au.grapplerobotics", "artifactId": "libgrapplefrccpp", - "version": "2025.1.0", + "version": "2026.0.0", "libName": "grapplefrc", "headerClassifier": "headers", "sharedLibrary": true, "skipInvalidPlatforms": true, "binaryPlatforms": [ "windowsx86-64", - "windowsx86", "linuxarm64", "linuxx86-64", "linuxathena", @@ -53,14 +51,13 @@ { "groupId": "au.grapplerobotics", "artifactId": "libgrapplefrcdriver", - "version": "2025.1.0", + "version": "2026.0.0", "libName": "grapplefrcdriver", "headerClassifier": "headers", "sharedLibrary": true, "skipInvalidPlatforms": true, "binaryPlatforms": [ "windowsx86-64", - "windowsx86", "linuxarm64", "linuxx86-64", "linuxathena", diff --git a/vendordeps/NavX.json b/vendordeps/NavX.json index 5b8c6ed8..37b300c8 100644 --- a/vendordeps/NavX.json +++ b/vendordeps/NavX.json @@ -3,7 +3,7 @@ "name": "Studica", "version": "2025.0.0", "uuid": "cb311d09-36e9-4143-a032-55bb2b94443b", - "frcYear": "2026beta", + "frcYear": "2026", "mavenUrls": [ "https://dev.studica.com/maven/release/2025/" ], diff --git a/vendordeps/PathplannerLib.json b/vendordeps/PathplannerLib.json index 340a743c..f494c62a 100644 --- a/vendordeps/PathplannerLib.json +++ b/vendordeps/PathplannerLib.json @@ -1,9 +1,9 @@ { "fileName": "PathplannerLib.json", "name": "PathplannerLib", - "version": "2025.1.1", + "version": "2025.2.7", "uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786", - "frcYear": "2026beta", + "frcYear": "2026", "mavenUrls": [ "https://3015rangerrobotics.github.io/pathplannerlib/repo" ], @@ -12,7 +12,7 @@ { "groupId": "com.pathplanner.lib", "artifactId": "PathplannerLib-java", - "version": "2025.1.1" + "version": "2025.2.7" } ], "jniDependencies": [], @@ -20,7 +20,7 @@ { "groupId": "com.pathplanner.lib", "artifactId": "PathplannerLib-cpp", - "version": "2025.1.1", + "version": "2025.2.7", "libName": "PathplannerLib", "headerClassifier": "headers", "sharedLibrary": false, diff --git a/vendordeps/Phoenix5.json b/vendordeps/Phoenix5.json index ede60797..5c84978f 100644 --- a/vendordeps/Phoenix5.json +++ b/vendordeps/Phoenix5.json @@ -1,50 +1,50 @@ { - "fileName": "Phoenix5-frc2026-beta-latest.json", + "fileName": "Phoenix5-frc2026-latest.json", "name": "CTRE-Phoenix (v5)", - "version": "5.36.0-beta-1", - "frcYear": "2026beta", + "version": "5.36.0", + "frcYear": "2026", "uuid": "ab676553-b602-441f-a38d-f1296eff6537", "mavenUrls": [ "https://maven.ctr-electronics.com/release/" ], - "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2026-beta-latest.json", + "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2026-latest.json", "requires": [ { "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "errorMessage": "Phoenix 5 requires low-level libraries from Phoenix 6. Please add the Phoenix 6 vendordep before adding Phoenix 5.", - "offlineFileName": "Phoenix6-frc2026-beta-latest.json", - "onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2026-beta-latest.json" + "offlineFileName": "Phoenix6-frc2026-latest.json", + "onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2026-latest.json" } ], "conflictsWith": [ { "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", "errorMessage": "Users must use the Phoenix 5 replay vendordep when using the Phoenix 6 replay vendordep.", - "offlineFileName": "Phoenix6-replay-frc2026-beta-latest.json" + "offlineFileName": "Phoenix6-replay-frc2026-latest.json" }, { "uuid": "fbc886a4-2cec-40c0-9835-71086a8cc3df", "errorMessage": "Users cannot have both the replay and regular Phoenix 5 vendordeps in their robot program.", - "offlineFileName": "Phoenix5-replay-frc2026-beta-latest.json" + "offlineFileName": "Phoenix5-replay-frc2026-latest.json" } ], "javaDependencies": [ { "groupId": "com.ctre.phoenix", "artifactId": "api-java", - "version": "5.36.0-beta-1" + "version": "5.36.0" }, { "groupId": "com.ctre.phoenix", "artifactId": "wpiapi-java", - "version": "5.36.0-beta-1" + "version": "5.36.0" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix", "artifactId": "cci", - "version": "5.36.0-beta-1", + "version": "5.36.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -58,7 +58,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "cci-sim", - "version": "5.36.0-beta-1", + "version": "5.36.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -74,7 +74,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "wpiapi-cpp", - "version": "5.36.0-beta-1", + "version": "5.36.0", "libName": "CTRE_Phoenix_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -90,7 +90,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "api-cpp", - "version": "5.36.0-beta-1", + "version": "5.36.0", "libName": "CTRE_Phoenix", "headerClassifier": "headers", "sharedLibrary": true, @@ -106,7 +106,7 @@ { "groupId": "com.ctre.phoenix", "artifactId": "cci", - "version": "5.36.0-beta-1", + "version": "5.36.0", "libName": "CTRE_PhoenixCCI", "headerClassifier": "headers", "sharedLibrary": true, @@ -122,7 +122,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "wpiapi-cpp-sim", - "version": "5.36.0-beta-1", + "version": "5.36.0", "libName": "CTRE_Phoenix_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -138,7 +138,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "api-cpp-sim", - "version": "5.36.0-beta-1", + "version": "5.36.0", "libName": "CTRE_PhoenixSim", "headerClassifier": "headers", "sharedLibrary": true, @@ -154,7 +154,7 @@ { "groupId": "com.ctre.phoenix.sim", "artifactId": "cci-sim", - "version": "5.36.0-beta-1", + "version": "5.36.0", "libName": "CTRE_PhoenixCCISim", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/Phoenix6.json b/vendordeps/Phoenix6.json index 3880f4d7..00bdf7cf 100644 --- a/vendordeps/Phoenix6.json +++ b/vendordeps/Phoenix6.json @@ -1,8 +1,8 @@ { - "fileName": "Phoenix6-26.0.0-beta-1.json", + "fileName": "Phoenix6-frc2026-latest.json", "name": "CTRE-Phoenix (v6)", - "version": "26.0.0-beta-1", - "frcYear": "2026beta", + "version": "26.1.0", + "frcYear": "2026", "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "mavenUrls": [ "https://maven.ctr-electronics.com/release/" @@ -19,14 +19,14 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-java", - "version": "26.0.0-beta-1" + "version": "26.1.0" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix6", "artifactId": "api-cpp", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -40,7 +40,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -54,7 +54,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "api-cpp-sim", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -68,7 +68,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -82,7 +82,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -96,7 +96,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -110,7 +110,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -124,7 +124,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -138,7 +138,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFXS", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -152,7 +152,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -166,7 +166,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -180,7 +180,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -194,7 +194,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdi", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -208,7 +208,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdle", - "version": "26.0.0-beta-1", + "version": "26.1.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -224,7 +224,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-cpp", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_Phoenix6_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -240,7 +240,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_PhoenixTools", "headerClassifier": "headers", "sharedLibrary": true, @@ -256,7 +256,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "wpiapi-cpp-sim", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_Phoenix6_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -272,7 +272,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_PhoenixTools_Sim", "headerClassifier": "headers", "sharedLibrary": true, @@ -288,7 +288,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimTalonSRX", "headerClassifier": "headers", "sharedLibrary": true, @@ -304,7 +304,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimVictorSPX", "headerClassifier": "headers", "sharedLibrary": true, @@ -320,7 +320,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimPigeonIMU", "headerClassifier": "headers", "sharedLibrary": true, @@ -336,7 +336,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProTalonFX", "headerClassifier": "headers", "sharedLibrary": true, @@ -352,7 +352,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFXS", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProTalonFXS", "headerClassifier": "headers", "sharedLibrary": true, @@ -368,7 +368,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProCANcoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -384,7 +384,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProPigeon2", "headerClassifier": "headers", "sharedLibrary": true, @@ -400,7 +400,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProCANrange", "headerClassifier": "headers", "sharedLibrary": true, @@ -416,7 +416,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdi", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProCANdi", "headerClassifier": "headers", "sharedLibrary": true, @@ -432,7 +432,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdle", - "version": "26.0.0-beta-1", + "version": "26.1.0", "libName": "CTRE_SimProCANdle", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib.json index 978a7e75..7f218b4d 100644 --- a/vendordeps/REVLib.json +++ b/vendordeps/REVLib.json @@ -1,8 +1,8 @@ { "fileName": "REVLib.json", "name": "REVLib", - "version": "2026.0.0-beta-1", - "frcYear": "2026beta", + "version": "2026.0.0", + "frcYear": "2026", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "mavenUrls": [ "https://maven.revrobotics.com/" @@ -12,14 +12,14 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-java", - "version": "2026.0.0-beta-1" + "version": "2026.0.0" } ], "jniDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -34,7 +34,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "RevLibBackendDriver", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -49,7 +49,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "RevLibWpiBackendDriver", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -66,7 +66,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-cpp", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "libName": "REVLib", "headerClassifier": "headers", "sharedLibrary": false, @@ -83,7 +83,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "libName": "REVLibDriver", "headerClassifier": "headers", "sharedLibrary": false, @@ -100,7 +100,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "RevLibBackendDriver", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "libName": "BackendDriver", "sharedLibrary": true, "skipInvalidPlatforms": true, @@ -116,7 +116,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "RevLibWpiBackendDriver", - "version": "2026.0.0-beta-1", + "version": "2026.0.0", "libName": "REVLibWpi", "sharedLibrary": true, "skipInvalidPlatforms": true, diff --git a/vendordeps/WPILibNewCommands.json b/vendordeps/WPILibNewCommands.json index a95299e9..adefc1a0 100644 --- a/vendordeps/WPILibNewCommands.json +++ b/vendordeps/WPILibNewCommands.json @@ -3,7 +3,7 @@ "name": "WPILib-New-Commands", "version": "1.0.0", "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", - "frcYear": "2026beta", + "frcYear": "2026", "mavenUrls": [], "jsonUrl": "", "javaDependencies": [ diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json index 0834bcc4..13d15a68 100644 --- a/vendordeps/photonlib.json +++ b/vendordeps/photonlib.json @@ -1,72 +1,71 @@ { - "fileName": "photonlib.json", - "name": "photonlib", - "version": "v2025.1.1", - "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", - "frcYear": "2026beta", - "mavenUrls": [ - "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.1.1", - "skipInvalidPlatforms": true, - "isJar": false, - "validPlatforms": [ - "windowsx86-64", - "linuxathena", - "linuxx86-64", - "osxuniversal" - ] - } - ], - "cppDependencies": [ - { - "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.1.1" - }, - { - "groupId": "org.photonvision", - "artifactId": "photontargeting-java", - "version": "v2025.1.1" - } - ] - } - \ No newline at end of file + "fileName": "photonlib.json", + "name": "photonlib", + "version": "v2026.0.1-beta", + "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", + "frcYear": "2026", + "mavenUrls": [ + "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": "v2026.0.1-beta", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + } + ], + "cppDependencies": [ + { + "groupId": "org.photonvision", + "artifactId": "photonlib-cpp", + "version": "v2026.0.1-beta", + "libName": "photonlib", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + }, + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-cpp", + "version": "v2026.0.1-beta", + "libName": "photontargeting", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxathena", + "linuxx86-64", + "osxuniversal" + ] + } + ], + "javaDependencies": [ + { + "groupId": "org.photonvision", + "artifactId": "photonlib-java", + "version": "v2026.0.1-beta" + }, + { + "groupId": "org.photonvision", + "artifactId": "photontargeting-java", + "version": "v2026.0.1-beta" + } + ] +} \ No newline at end of file From 3206a831d5a5dfb0d1440835e44bb887a5e4ebf0 Mon Sep 17 00:00:00 2001 From: Stephen Just Date: Sat, 10 Jan 2026 13:32:17 -0800 Subject: [PATCH 3/4] Fix javadoc build --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3bddaf64..16990f7a 100644 --- a/build.gradle +++ b/build.gradle @@ -174,7 +174,7 @@ javadoc { options.addBooleanOption("-allow-script-in-comments",true) options.links = [ "https://github.wpilib.org/allwpilib/docs/release/java/", - "https://api.ctr-electronics.com/phoenix6/release/java/", + "https://api.ctr-electronics.com/phoenix6/stable/java/", "https://codedocs.revrobotics.com/java/", "https://javadocs.photonvision.org/release/" ] From 7d444716af8a39d5bad4ed1e112ab251628bfc61 Mon Sep 17 00:00:00 2001 From: Stephen Just Date: Sat, 10 Jan 2026 13:37:56 -0800 Subject: [PATCH 4/4] Address copilot comments --- src/main/java/xbot/common/command/BaseRobot.java | 3 +-- .../xbot/common/injection/electrical_contract/CANBusId.java | 1 - src/main/java/xbot/common/logging/TimeLogger.java | 6 +++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/xbot/common/command/BaseRobot.java b/src/main/java/xbot/common/command/BaseRobot.java index 3ed561c0..0a76a9e1 100644 --- a/src/main/java/xbot/common/command/BaseRobot.java +++ b/src/main/java/xbot/common/command/BaseRobot.java @@ -316,7 +316,6 @@ public void simulationPeriodic() { } protected double getPerformanceTimestampInMs() { - return XTimer.getFPGATimestamp() / 1000.0; - + return XTimer.getFPGATimestamp() * 1000.0; } } diff --git a/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java b/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java index fa38e917..07dff41f 100644 --- a/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java +++ b/src/main/java/xbot/common/injection/electrical_contract/CANBusId.java @@ -1,7 +1,6 @@ package xbot.common.injection.electrical_contract; import com.ctre.phoenix6.CANBus; -import scala.util.hashing.Hashing; /** * Represents a CAN bus ID diff --git a/src/main/java/xbot/common/logging/TimeLogger.java b/src/main/java/xbot/common/logging/TimeLogger.java index c3f9db1e..da72c151 100644 --- a/src/main/java/xbot/common/logging/TimeLogger.java +++ b/src/main/java/xbot/common/logging/TimeLogger.java @@ -7,7 +7,7 @@ public class TimeLogger { - private static Logger log = LogManager.getLogger(TimeLogger.class); + private static final Logger log = LogManager.getLogger(TimeLogger.class); boolean firstCall; double lastReportTime; @@ -47,13 +47,13 @@ public void stop() { if (getPerformanceTimestamp() - lastReportTime > reportingIntervalInSeconds && callCount > 0) { double averageLoopDuration = accumulatedTime / (double)callCount; - log.info("Average duration for " + name + " was: " + averageLoopDuration); + log.info("Average duration for {} was: {} seconds", name, averageLoopDuration); reset(); } } private double getPerformanceTimestamp() { - return XTimer.getFPGATimestamp() / 1000000.0; + return XTimer.getFPGATimestamp(); } }