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