diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index d818809..6bafd3d 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -16,10 +16,10 @@ jobs:
steps:
- uses: actions/checkout@v2
- - name: Set up JDK 1.11
+ - name: Set up JDK 1.17
uses: actions/setup-java@v1
with:
- java-version: 1.11
+ java-version: 1.17
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
diff --git a/.gitignore b/.gitignore
index 9535c83..afdba9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -160,3 +160,7 @@ bin/
# Simulation GUI and other tools window save file
*-window.json
+
+# Logs
+*.wpilog
+*.log
\ No newline at end of file
diff --git a/.wpilib/wpilib_preferences.json b/.wpilib/wpilib_preferences.json
index 8e91219..3de84d5 100644
--- a/.wpilib/wpilib_preferences.json
+++ b/.wpilib/wpilib_preferences.json
@@ -1,6 +1,6 @@
{
"enableCppIntellisense": false,
"currentLanguage": "java",
- "projectYear": "2023",
+ "projectYear": "2024",
"teamNumber": 694
}
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 504f3f1..10fb5b1 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 StuyPulse
+Copyright (c) 2024 StuyPulse
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/WPILib-License.md b/WPILib-License.md
index 3d5a824..645e542 100644
--- a/WPILib-License.md
+++ b/WPILib-License.md
@@ -1,4 +1,4 @@
-Copyright (c) 2009-2021 FIRST and other WPILib contributors
+Copyright (c) 2009-2024 FIRST and other WPILib contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/build.gradle b/build.gradle
index af15c66..b5008d3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
plugins {
id "java"
- id "edu.wpi.first.GradleRIO" version "2023.4.3"
- id "com.diffplug.spotless" version "6.17.0"
+ id "edu.wpi.first.GradleRIO" version "2024.1.1"
+ id "com.diffplug.spotless" version "6.22.0"
}
allprojects {
@@ -12,12 +12,12 @@ allprojects {
// Set this to the latest version of StuyLib.
// You can check here: https://github.com/StuyPulse/StuyLib/releases.
-final String STUYLIB_VERSION = 'v2023.3.3'
+final String STUYLIB_VERSION = 'v2024.1.3'
def ROBOT_MAIN_CLASS = "com.stuypulse.robot.Main"
-sourceCompatibility = JavaVersion.VERSION_11
-targetCompatibility = JavaVersion.VERSION_11
+sourceCompatibility = JavaVersion.VERSION_17
+targetCompatibility = JavaVersion.VERSION_17
// Define my targets (RoboRIO) and artifacts (deployable files)
// This is added by GradleRIO's backing project DeployUtils.
@@ -57,7 +57,7 @@ wpi.java.debugJni = false
def includeDesktopSupport = false
// Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries.
-// Also defines JUnit 4.
+// Also defines JUnit 5.
dependencies {
implementation wpi.java.deps.wpilib()
implementation wpi.java.vendor.java()
@@ -89,14 +89,9 @@ spotless {
enforceCheck = false
java {
targetExclude("src/main/java/com/stuypulse/robot/commands/autons/*.java")
- licenseHeader '''/************************ PROJECT MIJ *************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
-/* This work is licensed under the terms of the MIT license. */
-/**************************************************************/
+ licenseHeaderFile "LICENSE"
-'''
-
- // googleJavaFormat().aosp()
+ googleJavaFormat().aosp()
trimTrailingWhitespace()
endWithNewline()
@@ -133,4 +128,4 @@ wpi.java.configureTestTasks(test)
// Configure string concat to always inline compile
tasks.withType(JavaCompile) {
options.compilerArgs.add '-XDstringConcat=inline'
-}
+}
\ No newline at end of file
diff --git a/eclipse-formatter.xml b/eclipse-formatter.xml
new file mode 100644
index 0000000..3c027aa
--- /dev/null
+++ b/eclipse-formatter.xml
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f959987..ba66005 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=permwrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=permwrapper/dists
diff --git a/networktables.json b/networktables.json
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/networktables.json
@@ -0,0 +1 @@
+[]
diff --git a/settings.gradle b/settings.gradle
index 48c039e..091a37a 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,7 +4,7 @@ pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
- String frcYear = '2023'
+ String frcYear = '2024'
File frcHome
if (OperatingSystem.current().isWindows()) {
String publicFolder = System.getenv('PUBLIC')
diff --git a/simgui-ds.json b/simgui-ds.json
new file mode 100644
index 0000000..69b1a3c
--- /dev/null
+++ b/simgui-ds.json
@@ -0,0 +1,97 @@
+{
+ "keyboardJoysticks": [
+ {
+ "axisConfig": [
+ {
+ "decKey": 65,
+ "incKey": 68
+ },
+ {
+ "decKey": 87,
+ "incKey": 83
+ },
+ {
+ "decKey": 69,
+ "decayRate": 0.0,
+ "incKey": 82,
+ "keyRate": 0.009999999776482582
+ }
+ ],
+ "axisCount": 3,
+ "buttonCount": 4,
+ "buttonKeys": [
+ 90,
+ 88,
+ 67,
+ 86
+ ],
+ "povConfig": [
+ {
+ "key0": 328,
+ "key135": 323,
+ "key180": 322,
+ "key225": 321,
+ "key270": 324,
+ "key315": 327,
+ "key45": 329,
+ "key90": 326
+ }
+ ],
+ "povCount": 1
+ },
+ {
+ "axisConfig": [
+ {
+ "decKey": 74,
+ "incKey": 76
+ },
+ {
+ "decKey": 73,
+ "incKey": 75
+ }
+ ],
+ "axisCount": 2,
+ "buttonCount": 4,
+ "buttonKeys": [
+ 77,
+ 44,
+ 46,
+ 47
+ ],
+ "povCount": 0
+ },
+ {
+ "axisConfig": [
+ {
+ "decKey": 263,
+ "incKey": 262
+ },
+ {
+ "decKey": 265,
+ "incKey": 264
+ }
+ ],
+ "axisCount": 2,
+ "buttonCount": 6,
+ "buttonKeys": [
+ 260,
+ 268,
+ 266,
+ 261,
+ 269,
+ 267
+ ],
+ "povCount": 0
+ },
+ {
+ "axisCount": 0,
+ "buttonCount": 0,
+ "povCount": 0
+ }
+ ],
+ "robotJoysticks": [
+ {
+ "guid": "Keyboard0"
+ }
+ ]
+}
diff --git a/src/main/java/com/stuypulse/robot/Main.java b/src/main/java/com/stuypulse/robot/Main.java
index b66dda5..a4f5843 100644
--- a/src/main/java/com/stuypulse/robot/Main.java
+++ b/src/main/java/com/stuypulse/robot/Main.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/Robot.java b/src/main/java/com/stuypulse/robot/Robot.java
index 88d9e30..1a2142e 100644
--- a/src/main/java/com/stuypulse/robot/Robot.java
+++ b/src/main/java/com/stuypulse/robot/Robot.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/RobotContainer.java b/src/main/java/com/stuypulse/robot/RobotContainer.java
index 905a898..a9fbbe5 100644
--- a/src/main/java/com/stuypulse/robot/RobotContainer.java
+++ b/src/main/java/com/stuypulse/robot/RobotContainer.java
@@ -1,10 +1,12 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
package com.stuypulse.robot;
+import java.util.Optional;
+
import com.stuypulse.robot.commands.auton.DoNothingAuton;
import com.stuypulse.robot.commands.auton.DriveAndTurnBump;
import com.stuypulse.robot.commands.auton.EightFootAuton;
@@ -19,6 +21,7 @@
import com.stuypulse.stuylib.input.Gamepad;
import edu.wpi.first.math.geometry.Rotation2d;
+import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.DutyCycleEncoder;
import edu.wpi.first.wpilibj.DriverStation.Alliance;
import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
@@ -86,8 +89,8 @@ public Command getAutonomousCommand() {
return autonChooser.getSelected();
}
- public static void setCachedAlliance(Alliance alliance) {
- cachedAlliance = alliance;
+ public static void setCachedAlliance(Optional alliance) {
+ cachedAlliance = DriverStation.getAlliance().get();
}
public static Alliance getCachedAlliance() {
diff --git a/src/main/java/com/stuypulse/robot/commands/DoNothingCommand.java b/src/main/java/com/stuypulse/robot/commands/DoNothingCommand.java
index f2919f6..5b653f7 100644
--- a/src/main/java/com/stuypulse/robot/commands/DoNothingCommand.java
+++ b/src/main/java/com/stuypulse/robot/commands/DoNothingCommand.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/commands/TeleopInit.java b/src/main/java/com/stuypulse/robot/commands/TeleopInit.java
index c8e920b..1acd8d2 100644
--- a/src/main/java/com/stuypulse/robot/commands/TeleopInit.java
+++ b/src/main/java/com/stuypulse/robot/commands/TeleopInit.java
@@ -1,5 +1,5 @@
/************************ PROJECT MIJ *************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/commands/auton/DoNothingAuton.java b/src/main/java/com/stuypulse/robot/commands/auton/DoNothingAuton.java
index 6090c8a..1d07398 100644
--- a/src/main/java/com/stuypulse/robot/commands/auton/DoNothingAuton.java
+++ b/src/main/java/com/stuypulse/robot/commands/auton/DoNothingAuton.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/commands/auton/DriveAndTurnBump.java b/src/main/java/com/stuypulse/robot/commands/auton/DriveAndTurnBump.java
index fd65d95..3ca996b 100644
--- a/src/main/java/com/stuypulse/robot/commands/auton/DriveAndTurnBump.java
+++ b/src/main/java/com/stuypulse/robot/commands/auton/DriveAndTurnBump.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
@@ -7,17 +7,18 @@
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
-import com.pathplanner.lib.PathConstraints;
-import com.pathplanner.lib.PathPlanner;
+import com.pathplanner.lib.path.PathConstraints;
+import com.pathplanner.lib.path.PathPlannerPath;
+import com.pathplanner.lib.commands.PathPlannerAuto;
import com.stuypulse.robot.util.SwerveDriveFollowTrajectory;
public class DriveAndTurnBump extends SequentialCommandGroup {
- private static final PathConstraints CONSTRAINTS = new PathConstraints(2, 2);
+ private static final PathConstraints CONSTRAINTS = new PathConstraints(2, 2, 2, 2);
public DriveAndTurnBump() {
addCommands(
new SwerveDriveFollowTrajectory(
- PathPlanner.loadPath("DriveAndTurnBump", CONSTRAINTS)
+ PathPlannerPath.fromPathFile("DriveAndTurnBump")
).robotRelative()
);
}
diff --git a/src/main/java/com/stuypulse/robot/commands/auton/EightFootAuton.java b/src/main/java/com/stuypulse/robot/commands/auton/EightFootAuton.java
index 2973ca9..18e1ab2 100644
--- a/src/main/java/com/stuypulse/robot/commands/auton/EightFootAuton.java
+++ b/src/main/java/com/stuypulse/robot/commands/auton/EightFootAuton.java
@@ -1,29 +1,29 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
package com.stuypulse.robot.commands.auton;
-import edu.wpi.first.math.geometry.Rotation2d;
-import edu.wpi.first.math.geometry.Translation2d;
-import edu.wpi.first.math.util.Units;
-import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
-
import java.util.Arrays;
-import com.pathplanner.lib.PathConstraints;
-import com.pathplanner.lib.PathPlanner;
-import com.pathplanner.lib.PathPlannerTrajectory;
-import com.pathplanner.lib.PathPoint;
+import com.pathplanner.lib.path.GoalEndState;
+import com.pathplanner.lib.path.PathConstraints;
+import com.pathplanner.lib.path.PathPlannerPath;
+import com.pathplanner.lib.path.PathPoint;
import com.stuypulse.robot.util.SwerveDriveFollowTrajectory;
+import edu.wpi.first.math.geometry.Rotation2d;
+import edu.wpi.first.math.geometry.Translation2d;
+import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
+
public class EightFootAuton extends SequentialCommandGroup {
- private static final PathConstraints CONSTRAINTS = new PathConstraints(0.01, 0.01);
- private static final PathPlannerTrajectory PATH = PathPlanner.generatePath(CONSTRAINTS, Arrays.asList(
- new PathPoint(new Translation2d(), new Rotation2d(), new Rotation2d()),
- new PathPoint(new Translation2d(0, 0), new Rotation2d(), new Rotation2d())
- ));
+ private static final PathConstraints CONSTRAINTS = new PathConstraints(0.01, 0.01, 0.01, 0.01);
+ private static final PathPlannerPath PATH = PathPlannerPath.fromPathPoints(
+ Arrays.asList(
+ new PathPoint(new Translation2d(0, 0)),
+ new PathPoint(new Translation2d(2.4384, 0.0))),
+ CONSTRAINTS, new GoalEndState(0, new Rotation2d()));
public EightFootAuton() {
addCommands(
diff --git a/src/main/java/com/stuypulse/robot/commands/auton/Mobility.java b/src/main/java/com/stuypulse/robot/commands/auton/Mobility.java
index fa9b17a..8a1c4fa 100644
--- a/src/main/java/com/stuypulse/robot/commands/auton/Mobility.java
+++ b/src/main/java/com/stuypulse/robot/commands/auton/Mobility.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
@@ -7,17 +7,18 @@
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
-import com.pathplanner.lib.PathConstraints;
-import com.pathplanner.lib.PathPlanner;
+import com.pathplanner.lib.path.PathConstraints;
+import com.pathplanner.lib.path.PathPlannerPath;
+import com.pathplanner.lib.commands.PathPlannerAuto;
import com.stuypulse.robot.util.SwerveDriveFollowTrajectory;
public class Mobility extends SequentialCommandGroup {
- private static final PathConstraints CONSTRAINTS = new PathConstraints(2, 2);
+ private static final PathConstraints CONSTRAINTS = new PathConstraints(2, 2, 2, 2);
public Mobility() {
addCommands(
new SwerveDriveFollowTrajectory(
- PathPlanner.loadPath("Mobility", CONSTRAINTS)
+ PathPlannerPath.fromPathFile("Mobility")
).robotRelative()
);
}
diff --git a/src/main/java/com/stuypulse/robot/commands/auton/MobilityBump.java b/src/main/java/com/stuypulse/robot/commands/auton/MobilityBump.java
index 6532b4f..b731a18 100644
--- a/src/main/java/com/stuypulse/robot/commands/auton/MobilityBump.java
+++ b/src/main/java/com/stuypulse/robot/commands/auton/MobilityBump.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
@@ -7,17 +7,18 @@
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
-import com.pathplanner.lib.PathConstraints;
-import com.pathplanner.lib.PathPlanner;
+import com.pathplanner.lib.path.PathConstraints;
+import com.pathplanner.lib.path.PathPlannerPath;
+import com.pathplanner.lib.commands.PathPlannerAuto;
import com.stuypulse.robot.util.SwerveDriveFollowTrajectory;
public class MobilityBump extends SequentialCommandGroup {
- private static final PathConstraints CONSTRAINTS = new PathConstraints(2, 2);
+ private static final PathConstraints CONSTRAINTS = new PathConstraints(2, 2, 2, 2);
public MobilityBump() {
addCommands(
new SwerveDriveFollowTrajectory(
- PathPlanner.loadPath("MobilityBump", CONSTRAINTS)
+ PathPlannerPath.fromPathFile("MobilityBump")
).robotRelative()
);
}
diff --git a/src/main/java/com/stuypulse/robot/commands/swerve/SwerveDriveDrive.java b/src/main/java/com/stuypulse/robot/commands/swerve/SwerveDriveDrive.java
index 103220c..f9ed5c7 100644
--- a/src/main/java/com/stuypulse/robot/commands/swerve/SwerveDriveDrive.java
+++ b/src/main/java/com/stuypulse/robot/commands/swerve/SwerveDriveDrive.java
@@ -12,17 +12,17 @@
import com.stuypulse.stuylib.input.Gamepad;
import com.stuypulse.stuylib.math.Angle;
import com.stuypulse.stuylib.math.SLMath;
-import com.stuypulse.stuylib.streams.IStream;
-import com.stuypulse.stuylib.streams.filters.LowPassFilter;
+import com.stuypulse.stuylib.streams.numbers.IStream;
+import com.stuypulse.stuylib.streams.numbers.filters.LowPassFilter;
import com.stuypulse.stuylib.streams.vectors.VStream;
import com.stuypulse.stuylib.streams.vectors.filters.VDeadZone;
import com.stuypulse.stuylib.streams.vectors.filters.VLowPassFilter;
import com.stuypulse.stuylib.streams.vectors.filters.VRateLimit;
import edu.wpi.first.math.geometry.Rotation2d;
-import edu.wpi.first.wpilibj2.command.CommandBase;
+import edu.wpi.first.wpilibj2.command.Command;
-public class SwerveDriveDrive extends CommandBase {
+public class SwerveDriveDrive extends Command {
private SwerveDrive swerve;
diff --git a/src/main/java/com/stuypulse/robot/constants/Motors.java b/src/main/java/com/stuypulse/robot/constants/Motors.java
index b09ce35..635a8fe 100644
--- a/src/main/java/com/stuypulse/robot/constants/Motors.java
+++ b/src/main/java/com/stuypulse/robot/constants/Motors.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
@@ -9,7 +9,7 @@
import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX;
import com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX;
import com.revrobotics.CANSparkMax;
-import com.revrobotics.CANSparkMax.IdleMode;
+import com.revrobotics.CANSparkBase.IdleMode;
/*-
* File containing all of the configurations that different motors require.
diff --git a/src/main/java/com/stuypulse/robot/constants/Ports.java b/src/main/java/com/stuypulse/robot/constants/Ports.java
index 7dfedc4..b2055dc 100644
--- a/src/main/java/com/stuypulse/robot/constants/Ports.java
+++ b/src/main/java/com/stuypulse/robot/constants/Ports.java
@@ -1,5 +1,5 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/constants/Settings.java b/src/main/java/com/stuypulse/robot/constants/Settings.java
index e49d9f5..faa8400 100644
--- a/src/main/java/com/stuypulse/robot/constants/Settings.java
+++ b/src/main/java/com/stuypulse/robot/constants/Settings.java
@@ -1,12 +1,12 @@
/************************ PROJECT PHIL ************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
package com.stuypulse.robot.constants;
-import com.pathplanner.lib.auto.PIDConstants;
+import com.pathplanner.lib.util.PIDConstants;
import com.stuypulse.stuylib.math.Vector2D;
import com.stuypulse.stuylib.network.SmartBoolean;
import com.stuypulse.stuylib.network.SmartNumber;
@@ -53,6 +53,7 @@ public interface Drive {
}
public interface Motion {
+
PIDConstants XY = new PIDConstants(0.7, 0, 0.02);
PIDConstants THETA = new PIDConstants(10, 0, 0.1);
}
diff --git a/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SimModule.java b/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SimModule.java
index 47588ba..a72a023 100644
--- a/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SimModule.java
+++ b/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SimModule.java
@@ -13,7 +13,7 @@
import com.stuypulse.stuylib.math.Angle;
import com.stuypulse.stuylib.streams.angles.filters.ARateLimit;
-import edu.wpi.first.math.Matrix;
+import edu.wpi.first.math.MatBuilder;
import edu.wpi.first.math.Nat;
import edu.wpi.first.math.geometry.Rotation2d;
import edu.wpi.first.math.geometry.Translation2d;
@@ -39,10 +39,10 @@ private static LinearSystem identifyVelocityPositionSystem(double kV
}
return new LinearSystem(
- Matrix.mat(Nat.N2(), Nat.N2()).fill(0.0, 1.0, 0.0, -kV / kA),
- Matrix.mat(Nat.N2(), Nat.N1()).fill(0.0, 1.0 / kA),
- Matrix.mat(Nat.N2(), Nat.N2()).fill(1.0, 0.0, 0.0, 1.0),
- Matrix.mat(Nat.N2(), Nat.N1()).fill(0.0, 0.0)
+ MatBuilder.fill(Nat.N2(), Nat.N2(), 0.0, 1.0, 0.0, -kV / kA),
+ MatBuilder.fill(Nat.N2(), Nat.N1(), 0.0, 1.0 / kA),
+ MatBuilder.fill(Nat.N2(), Nat.N2(), 1.0, 0.0, 0.0, 1.0),
+ MatBuilder.fill(Nat.N2(), Nat.N1(), 0.0, 0.0)
);
}
diff --git a/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SwerveModuleImpl.java b/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SwerveModuleImpl.java
index 2a4d3f0..6693d61 100644
--- a/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SwerveModuleImpl.java
+++ b/src/main/java/com/stuypulse/robot/subsystems/swerve/module/SwerveModuleImpl.java
@@ -1,10 +1,10 @@
package com.stuypulse.robot.subsystems.swerve.module;
-import com.ctre.phoenix.sensors.CANCoder;
+import com.ctre.phoenix6.hardware.CANcoder;
import com.revrobotics.CANSparkMax;
-import com.revrobotics.CANSparkMaxLowLevel.MotorType;
import com.revrobotics.RelativeEncoder;
-import com.revrobotics.CANSparkMax.IdleMode;
+import com.revrobotics.CANSparkBase.IdleMode;
+import com.revrobotics.CANSparkLowLevel.MotorType;
import com.stuypulse.robot.Robot;
import com.stuypulse.robot.Robot.MatchState;
import com.stuypulse.robot.constants.Settings.Swerve;
@@ -23,6 +23,7 @@
import edu.wpi.first.math.geometry.Translation2d;
import edu.wpi.first.math.kinematics.SwerveModulePosition;
import edu.wpi.first.math.kinematics.SwerveModuleState;
+import edu.wpi.first.math.util.Units;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
public class SwerveModuleImpl extends SwerveModule {
@@ -35,7 +36,7 @@ public class SwerveModuleImpl extends SwerveModule {
// turn
private final CANSparkMax turnMotor;
- private final CANCoder turnEncoder;
+ private final CANcoder turnEncoder;
// drive
private final CANSparkMax driveMotor;
@@ -56,7 +57,7 @@ public SwerveModuleImpl(String id, Translation2d translationOffset, Rotation2d a
turnMotor.setIdleMode(IdleMode.kBrake);
driveMotor.setIdleMode(IdleMode.kBrake);
- turnEncoder = new CANCoder(encoderID);
+ turnEncoder = new CANcoder(encoderID);
driveEncoder = driveMotor.getEncoder();
driveEncoder.setPositionConversionFactor(Encoder.Drive.POSITION_CONVERSION);
@@ -90,7 +91,7 @@ public double getVelocity() {
}
public Rotation2d getAngle() {
- return Rotation2d.fromDegrees(turnEncoder.getAbsolutePosition()).minus(angleOffset);
+ return Rotation2d.fromRotations(turnEncoder.getAbsolutePosition().getValueAsDouble()).minus(angleOffset);
}
public SwerveModulePosition getModulePosition() {
@@ -121,7 +122,7 @@ public void periodic() {
SmartDashboard.putNumber("Swerve/Modules/" + id + "/Angle", getAngle().getDegrees());
SmartDashboard.putNumber("Swerve/Modules/" + id + "/Target Speed", targetState.speedMetersPerSecond);
SmartDashboard.putNumber("Swerve/Modules/" + id + "/Speed", getVelocity());
- SmartDashboard.putNumber("Swerve/Modules/" + id + "/Raw Encoder Angle", turnEncoder.getAbsolutePosition());
+ SmartDashboard.putNumber("Swerve/Modules/" + id + "/Raw Encoder Angle", Units.rotationsToDegrees(turnEncoder.getAbsolutePosition().getValueAsDouble()));
}
}
diff --git a/src/main/java/com/stuypulse/robot/util/BootlegXbox.java b/src/main/java/com/stuypulse/robot/util/BootlegXbox.java
index b454eea..4296137 100644
--- a/src/main/java/com/stuypulse/robot/util/BootlegXbox.java
+++ b/src/main/java/com/stuypulse/robot/util/BootlegXbox.java
@@ -1,5 +1,5 @@
/************************ PROJECT MIJ *************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
diff --git a/src/main/java/com/stuypulse/robot/util/SwerveDriveFollowTrajectory.java b/src/main/java/com/stuypulse/robot/util/SwerveDriveFollowTrajectory.java
index fad97a5..f89a1bb 100644
--- a/src/main/java/com/stuypulse/robot/util/SwerveDriveFollowTrajectory.java
+++ b/src/main/java/com/stuypulse/robot/util/SwerveDriveFollowTrajectory.java
@@ -1,15 +1,23 @@
/************************ PROJECT JIM *************************/
-/* Copyright (c) 2023 StuyPulse Robotics. All rights reserved.*/
+/* Copyright (c) 2024 StuyPulse Robotics. All rights reserved.*/
/* This work is licensed under the terms of the MIT license. */
/**************************************************************/
package com.stuypulse.robot.util;
+import java.util.HashMap;
+import java.util.List;
+
+import com.pathplanner.lib.commands.FollowPathHolonomic;
+import com.pathplanner.lib.path.PathPlannerPath;
+import com.pathplanner.lib.path.PathPlannerTrajectory;
+import com.pathplanner.lib.util.ReplanningConfig;
+import com.stuypulse.robot.constants.Settings;
import com.stuypulse.robot.constants.Settings.Swerve.Motion;
import com.stuypulse.robot.subsystems.odometry.Odometry;
import com.stuypulse.robot.subsystems.swerve.SwerveDrive;
+import com.stuypulse.stuylib.math.Vector2D;
-import edu.wpi.first.math.controller.PIDController;
import edu.wpi.first.math.geometry.Pose2d;
import edu.wpi.first.math.geometry.Rotation2d;
import edu.wpi.first.math.kinematics.ChassisSpeeds;
@@ -17,14 +25,7 @@
import edu.wpi.first.wpilibj.smartdashboard.FieldObject2d;
import edu.wpi.first.wpilibj2.command.Command;
-import com.pathplanner.lib.PathPlannerTrajectory;
-import com.pathplanner.lib.PathPlannerTrajectory.PathPlannerState;
-import com.pathplanner.lib.commands.FollowPathWithEvents;
-import com.pathplanner.lib.commands.PPSwerveControllerCommand;
-import java.util.HashMap;
-import java.util.List;
-
-public class SwerveDriveFollowTrajectory extends PPSwerveControllerCommand {
+public class SwerveDriveFollowTrajectory extends FollowPathHolonomic {
public static HashMap getSeparatedPaths(List paths, String... names) {
if (paths.size() != names.length)
@@ -46,23 +47,31 @@ public static HashMap getSeparatedPaths(List {
+ var alliance = DriverStation.getAlliance();
+ if (alliance.isPresent()) {
+ return alliance.get() == DriverStation.Alliance.Red;
+ }
+ return false;
+ },
SwerveDrive.getInstance()
);
robotRelative = false;
trajectory = Odometry.getInstance().getField().getObject("Trajectory");
- this.path = path;
+ this.path = new PathPlannerTrajectory(path, SwerveDrive.getInstance().getChassisSpeeds(), new Rotation2d());
events = new HashMap();
shouldStop = false;
}
@@ -88,27 +97,27 @@ public SwerveDriveFollowTrajectory addEvent(String name, Command command) {
}
// FINISHES AT END OF PATH FOLLOWING, NOT AFTER ALL EVENTS DONE
- public FollowPathWithEvents withEvents() {
- return new FollowPathWithEvents(
- this,
- path.getMarkers(),
- events
- );
- }
+ // public FollowPathWithEvents withEvents() {
+ // return new FollowPathWithEvents(
+ // this,
+ // path.getMarkers(),
+ // events
+ // );
+ // }
@Override
public void initialize() {
if (robotRelative) {
- PathPlannerState initialState = PathPlannerTrajectory.transformStateForAlliance(
- path.getInitialState(), DriverStation.getAlliance());
+ PathPlannerTrajectory.State initialState =
+ path.getInitialState();
Odometry.getInstance().reset(new Pose2d(
- initialState.poseMeters.getTranslation(),
- initialState.holonomicRotation
+ initialState.positionMeters,
+ initialState.targetHolonomicRotation
));
}
- trajectory.setTrajectory(PathPlannerTrajectory.transformTrajectoryForAlliance(path, DriverStation.getAlliance()));
+ // trajectory.setTrajectory(PathPlannerTrajectory.transformTrajectoryForAlliance(path, DriverStation.getAlliance()));
super.initialize();
}
diff --git a/travis.yml b/travis.yml
index 1a24e0d..91ffdb2 100644
--- a/travis.yml
+++ b/travis.yml
@@ -1,6 +1,6 @@
language: java
jdk:
-- openjdk11
+- openjdk17
notifications:
slack:
secure: GWdq7VvpCs+Z1Q3+VIsL6q0eRetGibSWKsNn5OwDgWSnbgKfLEWGPYcvzz6LPV5xE1dOO8aD6NyMhFotxSCDRXC34L4piExFSeY7bCpGaqRMEO2uolSu8hmyowJ6arksl20acnAGCf9UbwEDKKqcM13aOIMeBzbvJHzA18bWsSvnMDFOdGzTgG1577ZODb2D9iTI6gTK5aYQg0jvySG0jN0AFTFGEkJegOepflLsjOfWuX5OXRpUqrkBrh0YYrTL+v7qUdgvYxXjCqCU2iy1+cl21J31cbYirYxrW0z9T2wpdsCufSmPsd6OrMdH7gYpo7vBPNbiY4XLsQ2iMufGcLCpQ6pwGBkHc44MQGIMxV3y6RTAkmoDYYJhaO8eIngo8xUvmXeTV3Pc/qqCv/3TZxJzpFamak6bHbMBi/FObYuUU2OaQHSkzQQseEnjilX25KZ+axiaOkZBEj0UxHvQO6+UZxVbQAM2lBjf3KI6Q2209EiY83XcvA85qI3cF36lmIYmdM0pKPHglT3DwIC1KcbtzgTTX9Xhi96rBOgh6ReYcuQUpm5wjs+BWey+P6vJLcm3NpmMHoTEbMMa5Jm/T6iKQPsjXEoh5b2gwx9EUTGcfhXzwbybLyMjgReWDfHUXfyZU+mX9PYWSeCPXTIJ1TVpx7F10au8d7vJQC7IOUU=
diff --git a/vendordeps/NavX.json b/vendordeps/NavX.json
index 29ec93a..e978a5f 100644
--- a/vendordeps/NavX.json
+++ b/vendordeps/NavX.json
@@ -1,17 +1,18 @@
{
"fileName": "NavX.json",
- "name": "KauaiLabs_navX_FRC",
- "version": "2023.0.3",
+ "name": "NavX",
+ "version": "2024.1.0",
"uuid": "cb311d09-36e9-4143-a032-55bb2b94443b",
+ "frcYear": "2024",
"mavenUrls": [
- "https://dev.studica.com/maven/release/2023/"
+ "https://dev.studica.com/maven/release/2024/"
],
- "jsonUrl": "https://dev.studica.com/releases/2023/NavX.json",
+ "jsonUrl": "https://dev.studica.com/releases/2024/NavX.json",
"javaDependencies": [
{
"groupId": "com.kauailabs.navx.frc",
"artifactId": "navx-frc-java",
- "version": "2023.0.3"
+ "version": "2024.1.0"
}
],
"jniDependencies": [],
@@ -19,7 +20,7 @@
{
"groupId": "com.kauailabs.navx.frc",
"artifactId": "navx-frc-cpp",
- "version": "2023.0.3",
+ "version": "2024.1.0",
"headerClassifier": "headers",
"sourcesClassifier": "sources",
"sharedLibrary": false,
@@ -30,7 +31,7 @@
"linuxraspbian",
"linuxarm32",
"linuxarm64",
- "linux86-64",
+ "linuxx86-64",
"osxuniversal",
"windowsx86-64"
]
diff --git a/vendordeps/PathplannerLib.json b/vendordeps/PathplannerLib.json
index 8e61586..3c74146 100644
--- a/vendordeps/PathplannerLib.json
+++ b/vendordeps/PathplannerLib.json
@@ -1,8 +1,9 @@
{
"fileName": "PathplannerLib.json",
"name": "PathplannerLib",
- "version": "2023.4.4",
+ "version": "2024.1.2",
"uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786",
+ "frcYear": "2024",
"mavenUrls": [
"https://3015rangerrobotics.github.io/pathplannerlib/repo"
],
@@ -11,7 +12,7 @@
{
"groupId": "com.pathplanner.lib",
"artifactId": "PathplannerLib-java",
- "version": "2023.4.4"
+ "version": "2024.1.2"
}
],
"jniDependencies": [],
@@ -19,7 +20,7 @@
{
"groupId": "com.pathplanner.lib",
"artifactId": "PathplannerLib-cpp",
- "version": "2023.4.4",
+ "version": "2024.1.2",
"libName": "PathplannerLib",
"headerClassifier": "headers",
"sharedLibrary": false,
@@ -28,7 +29,9 @@
"windowsx86-64",
"linuxx86-64",
"osxuniversal",
- "linuxathena"
+ "linuxathena",
+ "linuxarm32",
+ "linuxarm64"
]
}
]
diff --git a/vendordeps/Phoenix5.json b/vendordeps/Phoenix5.json
new file mode 100644
index 0000000..d0fade6
--- /dev/null
+++ b/vendordeps/Phoenix5.json
@@ -0,0 +1,151 @@
+{
+ "fileName": "Phoenix5.json",
+ "name": "CTRE-Phoenix (v5)",
+ "version": "5.32.0-beta-5",
+ "frcYear": 2024,
+ "uuid": "ab676553-b602-441f-a38d-f1296eff6537",
+ "mavenUrls": [
+ "https://maven.ctr-electronics.com/release/"
+ ],
+ "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2024-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.json",
+ "onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2024-beta-latest.json"
+ }
+ ],
+ "javaDependencies": [
+ {
+ "groupId": "com.ctre.phoenix",
+ "artifactId": "api-java",
+ "version": "5.32.0-beta-5"
+ },
+ {
+ "groupId": "com.ctre.phoenix",
+ "artifactId": "wpiapi-java",
+ "version": "5.32.0-beta-5"
+ }
+ ],
+ "jniDependencies": [
+ {
+ "groupId": "com.ctre.phoenix",
+ "artifactId": "cci",
+ "version": "5.32.0-beta-5",
+ "isJar": false,
+ "skipInvalidPlatforms": true,
+ "validPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "linuxathena"
+ ],
+ "simMode": "hwsim"
+ },
+ {
+ "groupId": "com.ctre.phoenix.sim",
+ "artifactId": "cci-sim",
+ "version": "5.32.0-beta-5",
+ "isJar": false,
+ "skipInvalidPlatforms": true,
+ "validPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "osxuniversal"
+ ],
+ "simMode": "swsim"
+ }
+ ],
+ "cppDependencies": [
+ {
+ "groupId": "com.ctre.phoenix",
+ "artifactId": "wpiapi-cpp",
+ "version": "5.32.0-beta-5",
+ "libName": "CTRE_Phoenix_WPI",
+ "headerClassifier": "headers",
+ "sharedLibrary": true,
+ "skipInvalidPlatforms": true,
+ "binaryPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "linuxathena"
+ ],
+ "simMode": "hwsim"
+ },
+ {
+ "groupId": "com.ctre.phoenix",
+ "artifactId": "api-cpp",
+ "version": "5.32.0-beta-5",
+ "libName": "CTRE_Phoenix",
+ "headerClassifier": "headers",
+ "sharedLibrary": true,
+ "skipInvalidPlatforms": true,
+ "binaryPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "linuxathena"
+ ],
+ "simMode": "hwsim"
+ },
+ {
+ "groupId": "com.ctre.phoenix",
+ "artifactId": "cci",
+ "version": "5.32.0-beta-5",
+ "libName": "CTRE_PhoenixCCI",
+ "headerClassifier": "headers",
+ "sharedLibrary": true,
+ "skipInvalidPlatforms": true,
+ "binaryPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "linuxathena"
+ ],
+ "simMode": "hwsim"
+ },
+ {
+ "groupId": "com.ctre.phoenix.sim",
+ "artifactId": "wpiapi-cpp-sim",
+ "version": "5.32.0-beta-5",
+ "libName": "CTRE_Phoenix_WPISim",
+ "headerClassifier": "headers",
+ "sharedLibrary": true,
+ "skipInvalidPlatforms": true,
+ "binaryPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "osxuniversal"
+ ],
+ "simMode": "swsim"
+ },
+ {
+ "groupId": "com.ctre.phoenix.sim",
+ "artifactId": "api-cpp-sim",
+ "version": "5.32.0-beta-5",
+ "libName": "CTRE_PhoenixSim",
+ "headerClassifier": "headers",
+ "sharedLibrary": true,
+ "skipInvalidPlatforms": true,
+ "binaryPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "osxuniversal"
+ ],
+ "simMode": "swsim"
+ },
+ {
+ "groupId": "com.ctre.phoenix.sim",
+ "artifactId": "cci-sim",
+ "version": "5.32.0-beta-5",
+ "libName": "CTRE_PhoenixCCISim",
+ "headerClassifier": "headers",
+ "sharedLibrary": true,
+ "skipInvalidPlatforms": true,
+ "binaryPlatforms": [
+ "windowsx86-64",
+ "linuxx86-64",
+ "osxuniversal"
+ ],
+ "simMode": "swsim"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/vendordeps/Phoenix.json b/vendordeps/Phoenix6.json
similarity index 61%
rename from vendordeps/Phoenix.json
rename to vendordeps/Phoenix6.json
index 282d536..7020206 100644
--- a/vendordeps/Phoenix.json
+++ b/vendordeps/Phoenix6.json
@@ -1,56 +1,32 @@
{
- "fileName": "Phoenix.json",
- "name": "CTRE-Phoenix (v5)",
- "version": "5.30.4+23.0.12",
- "frcYear": 2023,
- "uuid": "ab676553-b602-441f-a38d-f1296eff6537",
+ "fileName": "Phoenix6.json",
+ "name": "CTRE-Phoenix (v6)",
+ "version": "24.0.0-beta-8",
+ "frcYear": 2024,
+ "uuid": "e995de00-2c64-4df5-8831-c1441420ff19",
"mavenUrls": [
"https://maven.ctr-electronics.com/release/"
],
- "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2023-latest.json",
- "javaDependencies": [
+ "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2024-beta-latest.json",
+ "conflictsWith": [
{
- "groupId": "com.ctre.phoenix",
- "artifactId": "api-java",
- "version": "5.30.4"
- },
+ "uuid": "3fcf3402-e646-4fa6-971e-18afe8173b1a",
+ "errorMessage": "The combined Phoenix-6-And-5 vendordep is no longer supported. Please remove the vendordep and instead add both the latest Phoenix 6 vendordep and Phoenix 5 vendordep.",
+ "offlineFileName": "Phoenix6And5.json"
+ }
+ ],
+ "javaDependencies": [
{
- "groupId": "com.ctre.phoenix",
+ "groupId": "com.ctre.phoenix6",
"artifactId": "wpiapi-java",
- "version": "5.30.4"
+ "version": "24.0.0-beta-8"
}
],
"jniDependencies": [
{
- "groupId": "com.ctre.phoenix",
- "artifactId": "cci",
- "version": "5.30.4",
- "isJar": false,
- "skipInvalidPlatforms": true,
- "validPlatforms": [
- "windowsx86-64",
- "linuxx86-64",
- "linuxathena"
- ],
- "simMode": "hwsim"
- },
- {
- "groupId": "com.ctre.phoenix.sim",
- "artifactId": "cci-sim",
- "version": "5.30.4",
- "isJar": false,
- "skipInvalidPlatforms": true,
- "validPlatforms": [
- "windowsx86-64",
- "linuxx86-64",
- "osxuniversal"
- ],
- "simMode": "swsim"
- },
- {
- "groupId": "com.ctre.phoenixpro",
+ "groupId": "com.ctre.phoenix6",
"artifactId": "tools",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -61,9 +37,9 @@
"simMode": "hwsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "tools-sim",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -74,9 +50,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simTalonSRX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -87,9 +63,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simTalonFX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -100,9 +76,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simVictorSPX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -113,9 +89,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simPigeonIMU",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -126,9 +102,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simCANCoder",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -139,9 +115,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simProTalonFX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -152,9 +128,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simProCANcoder",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -165,9 +141,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simProPigeon2",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
@@ -180,10 +156,10 @@
],
"cppDependencies": [
{
- "groupId": "com.ctre.phoenix",
+ "groupId": "com.ctre.phoenix6",
"artifactId": "wpiapi-cpp",
- "version": "5.30.4",
- "libName": "CTRE_Phoenix_WPI",
+ "version": "24.0.0-beta-8",
+ "libName": "CTRE_Phoenix6_WPI",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
@@ -195,39 +171,9 @@
"simMode": "hwsim"
},
{
- "groupId": "com.ctre.phoenix",
- "artifactId": "api-cpp",
- "version": "5.30.4",
- "libName": "CTRE_Phoenix",
- "headerClassifier": "headers",
- "sharedLibrary": true,
- "skipInvalidPlatforms": true,
- "binaryPlatforms": [
- "windowsx86-64",
- "linuxx86-64",
- "linuxathena"
- ],
- "simMode": "hwsim"
- },
- {
- "groupId": "com.ctre.phoenix",
- "artifactId": "cci",
- "version": "5.30.4",
- "libName": "CTRE_PhoenixCCI",
- "headerClassifier": "headers",
- "sharedLibrary": true,
- "skipInvalidPlatforms": true,
- "binaryPlatforms": [
- "windowsx86-64",
- "linuxx86-64",
- "linuxathena"
- ],
- "simMode": "hwsim"
- },
- {
- "groupId": "com.ctre.phoenixpro",
+ "groupId": "com.ctre.phoenix6",
"artifactId": "tools",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_PhoenixTools",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -240,40 +186,10 @@
"simMode": "hwsim"
},
{
- "groupId": "com.ctre.phoenix.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "wpiapi-cpp-sim",
- "version": "5.30.4",
- "libName": "CTRE_Phoenix_WPISim",
- "headerClassifier": "headers",
- "sharedLibrary": true,
- "skipInvalidPlatforms": true,
- "binaryPlatforms": [
- "windowsx86-64",
- "linuxx86-64",
- "osxuniversal"
- ],
- "simMode": "swsim"
- },
- {
- "groupId": "com.ctre.phoenix.sim",
- "artifactId": "api-cpp-sim",
- "version": "5.30.4",
- "libName": "CTRE_PhoenixSim",
- "headerClassifier": "headers",
- "sharedLibrary": true,
- "skipInvalidPlatforms": true,
- "binaryPlatforms": [
- "windowsx86-64",
- "linuxx86-64",
- "osxuniversal"
- ],
- "simMode": "swsim"
- },
- {
- "groupId": "com.ctre.phoenix.sim",
- "artifactId": "cci-sim",
- "version": "5.30.4",
- "libName": "CTRE_PhoenixCCISim",
+ "version": "24.0.0-beta-8",
+ "libName": "CTRE_Phoenix6_WPISim",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
@@ -285,9 +201,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "tools-sim",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_PhoenixTools_Sim",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -300,9 +216,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simTalonSRX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimTalonSRX",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -315,9 +231,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simTalonFX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimTalonFX",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -330,9 +246,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simVictorSPX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimVictorSPX",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -345,9 +261,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simPigeonIMU",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimPigeonIMU",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -360,9 +276,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simCANCoder",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimCANCoder",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -375,9 +291,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simProTalonFX",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimProTalonFX",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -390,9 +306,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simProCANcoder",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimProCANcoder",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -405,9 +321,9 @@
"simMode": "swsim"
},
{
- "groupId": "com.ctre.phoenixpro.sim",
+ "groupId": "com.ctre.phoenix6.sim",
"artifactId": "simProPigeon2",
- "version": "23.0.12",
+ "version": "24.0.0-beta-8",
"libName": "CTRE_SimProPigeon2",
"headerClassifier": "headers",
"sharedLibrary": true,
diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib.json
index f2d0b7d..0f3520e 100644
--- a/vendordeps/REVLib.json
+++ b/vendordeps/REVLib.json
@@ -1,24 +1,25 @@
{
"fileName": "REVLib.json",
"name": "REVLib",
- "version": "2023.1.3",
+ "version": "2024.2.0",
+ "frcYear": "2024",
"uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb",
"mavenUrls": [
"https://maven.revrobotics.com/"
],
- "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2023.json",
+ "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2024.json",
"javaDependencies": [
{
"groupId": "com.revrobotics.frc",
"artifactId": "REVLib-java",
- "version": "2023.1.3"
+ "version": "2024.2.0"
}
],
"jniDependencies": [
{
"groupId": "com.revrobotics.frc",
"artifactId": "REVLib-driver",
- "version": "2023.1.3",
+ "version": "2024.2.0",
"skipInvalidPlatforms": true,
"isJar": false,
"validPlatforms": [
@@ -36,7 +37,7 @@
{
"groupId": "com.revrobotics.frc",
"artifactId": "REVLib-cpp",
- "version": "2023.1.3",
+ "version": "2024.2.0",
"libName": "REVLib",
"headerClassifier": "headers",
"sharedLibrary": false,
@@ -54,7 +55,7 @@
{
"groupId": "com.revrobotics.frc",
"artifactId": "REVLib-driver",
- "version": "2023.1.3",
+ "version": "2024.2.0",
"libName": "REVLibDriver",
"headerClassifier": "headers",
"sharedLibrary": false,
diff --git a/vendordeps/WPILibNewCommands.json b/vendordeps/WPILibNewCommands.json
index b166fd3..4de3ea5 100644
--- a/vendordeps/WPILibNewCommands.json
+++ b/vendordeps/WPILibNewCommands.json
@@ -3,6 +3,7 @@
"name": "WPILib-New-Commands",
"version": "1.0.0",
"uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266",
+ "frcYear": "2024",
"mavenUrls": [],
"jsonUrl": "",
"javaDependencies": [
diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json
index dad3105..c940b75 100644
--- a/vendordeps/photonlib.json
+++ b/vendordeps/photonlib.json
@@ -1,8 +1,9 @@
{
"fileName": "photonlib.json",
"name": "photonlib",
- "version": "v2023.4.2",
- "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004 ",
+ "version": "v2024.1.1-beta-3.2",
+ "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004",
+ "frcYear": "2024",
"mavenUrls": [
"https://maven.photonvision.org/repository/internal",
"https://maven.photonvision.org/repository/snapshots"
@@ -13,7 +14,7 @@
{
"groupId": "org.photonvision",
"artifactId": "PhotonLib-cpp",
- "version": "v2023.4.2",
+ "version": "v2024.1.1-beta-3.2",
"libName": "Photon",
"headerClassifier": "headers",
"sharedLibrary": true,
@@ -30,12 +31,12 @@
{
"groupId": "org.photonvision",
"artifactId": "PhotonLib-java",
- "version": "v2023.4.2"
+ "version": "v2024.1.1-beta-3.2"
},
{
"groupId": "org.photonvision",
"artifactId": "PhotonTargeting-java",
- "version": "v2023.4.2"
+ "version": "v2024.1.1-beta-3.2"
}
]
}
\ No newline at end of file