From 0492c9a2c68b6612d83c9c0a7fb6aaca280b3e18 Mon Sep 17 00:00:00 2001 From: samuel desharnais Date: Thu, 26 Mar 2026 17:45:25 -0400 Subject: [PATCH] mettre en 2026 --- .vscode/settings.json | 2 +- .wpilib/wpilib_preferences.json | 2 +- WPILib-License.md | 2 +- build.gradle | 9 +- settings.gradle | 2 +- src/main/java/frc/robot/Robot.java | 1 - src/main/java/frc/robot/RobotContainer.java | 3 +- src/main/java/frc/robot/commands/Aspirer.java | 2 - src/main/java/frc/robot/commands/Lancer.java | 8 +- .../frc/robot/commands/LancerAspirer.java | 2 - .../frc/robot/commands/LancerBaseVitesse.java | 37 +- .../java/frc/robot/commands/Limelighter.java | 15 +- .../commands/ModeAuto/RetourMilieuDroite.java | 9 - .../robot/commands/ModeOposerBalayeuse.java | 1 - .../subsystems/CommandSwerveDrivetrain.java | 12 +- src/main/java/frc/robot/subsystems/Led.java | 75 +-- vendordeps/PathplannerLib-2026.1.2.json | 38 ++ vendordeps/Phoenix5-5.36.0.json | 171 +++++++ vendordeps/Phoenix6-26.1.3.json | 449 ++++++++++++++++++ vendordeps/REVLib.json | 76 ++- vendordeps/WPILibNewCommands.json | 3 +- 21 files changed, 798 insertions(+), 121 deletions(-) create mode 100644 vendordeps/PathplannerLib-2026.1.2.json create mode 100644 vendordeps/Phoenix5-5.36.0.json create mode 100644 vendordeps/Phoenix6-26.1.3.json diff --git a/.vscode/settings.json b/.vscode/settings.json index 1745ba0..5e6ede8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -57,5 +57,5 @@ "edu.wpi.first.math.**.proto.*", "edu.wpi.first.math.**.struct.*", ], - "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable" + "java.dependency.enableDependencyCheckup": false } diff --git a/.wpilib/wpilib_preferences.json b/.wpilib/wpilib_preferences.json index 7f3ae7d..8816f3a 100644 --- a/.wpilib/wpilib_preferences.json +++ b/.wpilib/wpilib_preferences.json @@ -1,6 +1,6 @@ { "enableCppIntellisense": false, "currentLanguage": "java", - "projectYear": "2025", + "projectYear": "2026", "teamNumber": 5618 } \ No newline at end of file diff --git a/WPILib-License.md b/WPILib-License.md index 645e542..eb3061b 100644 --- a/WPILib-License.md +++ b/WPILib-License.md @@ -1,4 +1,4 @@ -Copyright (c) 2009-2024 FIRST and other WPILib contributors +Copyright (c) 2009-2026 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 ff9e9af..322a386 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "java" - id "edu.wpi.first.GradleRIO" version "2025.3.2" + id "edu.wpi.first.GradleRIO" version "2026.2.1" } java { @@ -43,7 +43,8 @@ deploy { def deployArtifact = deploy.targets.roborio.artifacts.frcJava -// Set to true to use debug for JNI. +// Set to true to use debug for all targets including JNI, which will drastically impact +// performance. wpi.java.debugJni = false // Set this to true to enable desktop support. @@ -88,7 +89,9 @@ wpi.sim.addDriverstation() // knows where to look for our Robot Class. jar { from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } - from sourceSets.main.allSource + from('src') { into 'backup/src' } + from('vendordeps') { into 'backup/vendordeps' } + from('build.gradle') { into 'backup' } manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS) duplicatesStrategy = DuplicatesStrategy.INCLUDE } diff --git a/settings.gradle b/settings.gradle index c493958..25f6f6e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,7 +4,7 @@ pluginManagement { repositories { mavenLocal() gradlePluginPortal() - String frcYear = '2025' + String frcYear = '2026' File frcHome if (OperatingSystem.current().isWindows()) { String publicFolder = System.getenv('PUBLIC') diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index 72f45e3..9ceb3be 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -8,7 +8,6 @@ import edu.wpi.first.math.util.Units; import edu.wpi.first.wpilibj.TimedRobot; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; -import frc.robot.subsystems.Limelight3G; public class Robot extends TimedRobot { private Command m_autonomousCommand; diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 1a5f24b..a85c27b 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -17,7 +17,6 @@ import edu.wpi.first.wpilibj.smartdashboard.SendableChooser; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.button.CommandXboxController; -import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine; import frc.robot.commands.Aspirer; import frc.robot.commands.DescendreBalyeuse; import frc.robot.commands.DescendreGrimpeur; @@ -122,7 +121,7 @@ public class RobotContainer { //manette 2 manette1.rightTrigger().whileTrue(new Aspirer(balayeuse)); manette1.rightBumper().whileTrue(new MonterBalyeuse(balayeuse)); - manette1.leftTrigger().whileTrue(new LancerBaseVitesse(lanceur, limeLight3G)); + manette1.leftTrigger().whileTrue(new LancerBaseVitesse(lanceur)); manette1.leftBumper().whileTrue(new DescendreBalyeuse(balayeuse)); manette1.x().whileTrue(new LancerAspirer(lanceur, balayeuse, limeLight3G)); manette1.b().whileTrue(new ModeOposer(lanceur)); diff --git a/src/main/java/frc/robot/commands/Aspirer.java b/src/main/java/frc/robot/commands/Aspirer.java index 5c029f6..cb5bfe8 100644 --- a/src/main/java/frc/robot/commands/Aspirer.java +++ b/src/main/java/frc/robot/commands/Aspirer.java @@ -4,10 +4,8 @@ package frc.robot.commands; -import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; import frc.robot.subsystems.Balayeuse; -import frc.robot.subsystems.Led; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ public class Aspirer extends Command { diff --git a/src/main/java/frc/robot/commands/Lancer.java b/src/main/java/frc/robot/commands/Lancer.java index ce24cec..1504d1f 100644 --- a/src/main/java/frc/robot/commands/Lancer.java +++ b/src/main/java/frc/robot/commands/Lancer.java @@ -7,9 +7,7 @@ package frc.robot.commands; import edu.wpi.first.math.controller.PIDController; import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; -import frc.robot.subsystems.Balayeuse; import frc.robot.subsystems.Lanceur; -import frc.robot.subsystems.Led; import frc.robot.subsystems.Limelight3G; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ @@ -18,15 +16,12 @@ public class Lancer extends Command { private PIDController pidController; private Limelight3G limeLight3G; private Timer timer; - private double temp; /** Creates a new Lancer. */ public Lancer(Lanceur lanceur, Limelight3G limeLight3G) { this.lanceur = lanceur; this.timer = new Timer(); this.limeLight3G = new Limelight3G(); addRequirements(lanceur, limeLight3G); - - this.temp = 0; // Use addRequirements() here to declare subsystem dependencies. } @@ -34,8 +29,7 @@ public class Lancer extends Command { @Override public void initialize() { pidController = new PIDController(0.0007, 0,0, 0.001); - timer.reset(); - temp = lanceur.Amp(); + timer.reset(); } // Called every time the scheduler runs while the command is scheduled. diff --git a/src/main/java/frc/robot/commands/LancerAspirer.java b/src/main/java/frc/robot/commands/LancerAspirer.java index 4184065..64a5b06 100644 --- a/src/main/java/frc/robot/commands/LancerAspirer.java +++ b/src/main/java/frc/robot/commands/LancerAspirer.java @@ -7,8 +7,6 @@ package frc.robot.commands; import edu.wpi.first.wpilibj2.command.ParallelCommandGroup; import frc.robot.subsystems.Balayeuse; import frc.robot.subsystems.Lanceur; -import frc.robot.subsystems.Led; -import frc.robot.subsystems.LimeLight3; import frc.robot.subsystems.Limelight3G; diff --git a/src/main/java/frc/robot/commands/LancerBaseVitesse.java b/src/main/java/frc/robot/commands/LancerBaseVitesse.java index f8d1427..ef1d8a0 100644 --- a/src/main/java/frc/robot/commands/LancerBaseVitesse.java +++ b/src/main/java/frc/robot/commands/LancerBaseVitesse.java @@ -5,25 +5,22 @@ package frc.robot.commands; import edu.wpi.first.math.controller.PIDController; +import edu.wpi.first.wpilibj.DriverStation; import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; import frc.robot.subsystems.Lanceur; -import frc.robot.subsystems.LimeLight3; -import frc.robot.subsystems.Limelight3G; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ public class LancerBaseVitesse extends Command { private Lanceur lanceur; private PIDController pidController; - private Limelight3G limeLight3G; private Timer timer; - private double temp; + double tempsDebut = 0; /** Creates a new Lancer. */ - public LancerBaseVitesse(Lanceur lanceur, Limelight3G limeLight3G) { + public LancerBaseVitesse(Lanceur lanceur) { this.lanceur = lanceur; this.timer = new Timer(); - this.limeLight3G = new Limelight3G(); - addRequirements(lanceur, limeLight3G); + addRequirements(lanceur); //this.temp = 0; // Use addRequirements() here to declare subsystem dependencies. } @@ -34,38 +31,18 @@ public class LancerBaseVitesse extends Command { pidController = new PIDController(0.0007, 0,0, 0.001); timer.reset(); timer.start(); - //temp = lanceur.Amp(); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - // int nbFois = 0; - - // double moyenneAmp = 0; - // if(timer.get() < 3){ - // nbFois++; - // moyenneAmp += balayeuse.Amp() / nbFois; - // } - // else{ - // nbFois++; - // moyenneAmp -= temp; - // moyenneAmp += balayeuse.Amp() / nbFois; - // temp = balayeuse.Amp(); - // } - // if(moyenneAmp > 30 && nbFois > 10){ - // timer.reset(); - // balayeuse.Balayer(0.5); - // led.Jaune2(); - // } - // else{ + System.out.println(DriverStation.getMatchTime()); double vitesse = lanceur.vitesseDemander(); double output = pidController.calculate(lanceur.Vitesse(),vitesse); lanceur.Lancer(output); - if(timer.get() >1){ + if(timer.get() > 1){ lanceur.Demeler(1); - } - // } + } } diff --git a/src/main/java/frc/robot/commands/Limelighter.java b/src/main/java/frc/robot/commands/Limelighter.java index b4255a2..1fc5886 100644 --- a/src/main/java/frc/robot/commands/Limelighter.java +++ b/src/main/java/frc/robot/commands/Limelighter.java @@ -7,7 +7,6 @@ package frc.robot.commands; import com.ctre.phoenix6.swerve.SwerveModule.DriveRequestType; import com.ctre.phoenix6.swerve.SwerveRequest; -import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; import frc.robot.generated.TunerConstants; import frc.robot.subsystems.CommandSwerveDrivetrain; @@ -16,7 +15,6 @@ import static edu.wpi.first.units.Units.*; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ public class Limelighter extends Command { - Timer timer; Limelight3G limelight3g; CommandSwerveDrivetrain drivetrain; private double MaxSpeed = TunerConstants.kSpeedAt12Volts.in(MetersPerSecond); @@ -34,20 +32,18 @@ public class Limelighter extends Command { this.limelight3g = limelight3g; this.drivetrain = drivetrain; addRequirements(drivetrain, limelight3g); - timer = new Timer(); // Use addRequirements() here to declare subsystem dependencies. } // Called when the command is initially scheduled. @Override - public void initialize() { - timer.reset(); - } + public void initialize() {} // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { double[] BotPose = new double[6]; + System.out.println("e"); if (limelight3g.getV()) { BotPose = limelight3g.getBotPoseBlue(); botx = BotPose[1]; @@ -61,12 +57,6 @@ public class Limelighter extends Command { drive.withVelocityX(0).withVelocityY(0).withRotationalRate(calcul)); System.out.println(calcul); if (calcul < 0.2 && calcul > -0.2) { - // timer.start(); - // } else { - // timer.reset(); - // } - // } else { - // timer.stop(); drivetrain.setControl(drive.withRotationalRate(0)); } } @@ -80,7 +70,6 @@ public class Limelighter extends Command { @Override public void end(boolean interrupted) { drivetrain.setControl(drive.withRotationalRate(0)); - timer.stop(); } // Returns true when the command should end. diff --git a/src/main/java/frc/robot/commands/ModeAuto/RetourMilieuDroite.java b/src/main/java/frc/robot/commands/ModeAuto/RetourMilieuDroite.java index 1294f7d..9e00296 100644 --- a/src/main/java/frc/robot/commands/ModeAuto/RetourMilieuDroite.java +++ b/src/main/java/frc/robot/commands/ModeAuto/RetourMilieuDroite.java @@ -50,18 +50,12 @@ public class RetourMilieuDroite extends Command { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - double[] BotPose = new double[6]; - BotPose = limelight3g.getBotPoseBlue(); - botx = BotPose[0]; - boty = BotPose[1]; - if(alliance.get() == Alliance.Blue){ angle = 0; } else{ angle = 180; } - if(pigeon2.getYaw().getValueAsDouble() <355 || pigeon2.getYaw().getValueAsDouble() > 5){ if(pigeon2.getYaw().getValueAsDouble() >0 && pigeon2.getYaw().getValueAsDouble() <180){ drivetrain.setControl(drive.withRotationalRate(0.5)); } @@ -69,9 +63,6 @@ public class RetourMilieuDroite extends Command { drivetrain.setControl(drive.withRotationalRate(-0.5)); } } - else{ - } - } // Called once the command ends or is interrupted. @Override diff --git a/src/main/java/frc/robot/commands/ModeOposerBalayeuse.java b/src/main/java/frc/robot/commands/ModeOposerBalayeuse.java index 2bf7abb..9a3a2fb 100644 --- a/src/main/java/frc/robot/commands/ModeOposerBalayeuse.java +++ b/src/main/java/frc/robot/commands/ModeOposerBalayeuse.java @@ -6,7 +6,6 @@ package frc.robot.commands; import edu.wpi.first.wpilibj2.command.Command; import frc.robot.subsystems.Balayeuse; -import frc.robot.subsystems.Lanceur; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ public class ModeOposerBalayeuse extends Command { private Balayeuse balayeuse; diff --git a/src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java b/src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java index 00532cf..7f44643 100644 --- a/src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java +++ b/src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java @@ -248,12 +248,12 @@ public class CommandSwerveDrivetrain extends TunerSwerveDrivetrain implements Su @Override public void periodic() { - if(pigeon2.getYaw().getValueAsDouble() > 360){ - pigeon2.setYaw(pigeon2.getYaw().getValueAsDouble()-360); - } - else if(pigeon2.getYaw().getValueAsDouble() < 0){ - pigeon2.setYaw(pigeon2.getYaw().getValueAsDouble()+360); - } + // if(getPigeon2().getYaw().getValueAsDouble() > 360){ + // getPigeon2().setYaw(getPigeon2().getYaw().getValueAsDouble()-360); + // } + // else if(getPigeon2().getYaw().getValueAsDouble() < 0){ + // getPigeon2().setYaw(getPigeon2().getYaw().getValueAsDouble()+360); + // } /* * Periodically try to apply the operator perspective. diff --git a/src/main/java/frc/robot/subsystems/Led.java b/src/main/java/frc/robot/subsystems/Led.java index e390952..f628715 100644 --- a/src/main/java/frc/robot/subsystems/Led.java +++ b/src/main/java/frc/robot/subsystems/Led.java @@ -4,14 +4,11 @@ package frc.robot.subsystems; -import java.util.Optional; - import com.ctre.phoenix.led.CANdle; import com.ctre.phoenix.led.RainbowAnimation; import edu.wpi.first.networktables.GenericEntry; import edu.wpi.first.wpilibj.DriverStation; -import edu.wpi.first.wpilibj.DriverStation.Alliance; import edu.wpi.first.wpilibj.shuffleboard.BuiltInWidgets; import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; @@ -21,67 +18,76 @@ public class Led extends SubsystemBase { ShuffleboardTab teb = Shuffleboard.getTab("teb"); private GenericEntry equipe = teb.add("equipe commence (bleu = ouvert, rouge = fermé)", true).withWidget(BuiltInWidgets.kToggleSwitch).getEntry(); + @SuppressWarnings("removal") CANdle CANDle = new CANdle(17); + @SuppressWarnings("removal") RainbowAnimation rainbowAnim = new RainbowAnimation(); + @SuppressWarnings("removal") public void bleu(){ CANDle.setLEDs(0, 0, 255,0,0,8); CANDle.setLEDs(0, 0, 255,0,16,8); CANDle.setLEDs(0, 0, 255,0,32,8); - CANDle.setLEDs(0, 0, 255,0,56,8); - CANDle.setLEDs(0, 0, 255,0,72,8); - CANDle.setLEDs(0, 0, 255,0,88,8); - CANDle.setLEDs(0, 0, 255,0,104,8); - CANDle.setLEDs(0, 0, 255,0,120,8); - CANDle.setLEDs(0, 0, 255,0,136,8); + // CANDle.setLEDs(0, 0, 255,0,56,8); + // CANDle.setLEDs(0, 0, 255,0,72,8); + // CANDle.setLEDs(0, 0, 255,0,88,8); + // CANDle.setLEDs(0, 0, 255,0,104,8); + // CANDle.setLEDs(0, 0, 255,0,120,8); + // CANDle.setLEDs(0, 0, 255,0,136,8); } + @SuppressWarnings("removal") public void Vert1(){ CANDle.setLEDs(0, 255, 0,0,0,8); CANDle.setLEDs(0, 255, 0,0,16,8); CANDle.setLEDs(0, 255, 0,0,32,8); - CANDle.setLEDs(0, 255, 0,0,56,8); - CANDle.setLEDs(0, 255, 0,0,72,8); - CANDle.setLEDs(0, 255, 0,0,88,8); - CANDle.setLEDs(0, 255, 0,0,104,8); - CANDle.setLEDs(0, 255, 0,0,120,8); - CANDle.setLEDs(0, 255, 0,0,136,8); + // CANDle.setLEDs(0, 255, 0,0,56,8); + // CANDle.setLEDs(0, 255, 0,0,72,8); + // CANDle.setLEDs(0, 255, 0,0,88,8); + // CANDle.setLEDs(0, 255, 0,0,104,8); + // CANDle.setLEDs(0, 255, 0,0,120,8); + // CANDle.setLEDs(0, 255, 0,0,136,8); } + @SuppressWarnings("removal") public void Rouge(){ CANDle.setLEDs(255, 0, 0,0,0,8); CANDle.setLEDs(255, 0, 0,0,16,8); CANDle.setLEDs(255, 0, 0,0,32,8); - CANDle.setLEDs(255, 0, 0,0,48,8); - CANDle.setLEDs(255, 0, 0,0,64,8); - CANDle.setLEDs(255, 0, 0,0,80,8); - CANDle.setLEDs(255, 0, 0,0,96,8); - CANDle.setLEDs(255, 0, 0,0,112,8); - CANDle.setLEDs(255, 0, 0,0,128,8); + // CANDle.setLEDs(255, 0, 0,0,48,8); + // CANDle.setLEDs(255, 0, 0,0,64,8); + // CANDle.setLEDs(255, 0, 0,0,80,8); + // CANDle.setLEDs(255, 0, 0,0,96,8); + // CANDle.setLEDs(255, 0, 0,0,112,8); + // CANDle.setLEDs(255, 0, 0,0,128,8); } + @SuppressWarnings("removal") public void Jaune2(){ CANDle.setLEDs(255, 255, 0,0,8,8); CANDle.setLEDs(255, 255, 0,0,24,8); CANDle.setLEDs(255, 255, 0,0,40,8); - CANDle.setLEDs(255, 255, 0,0,56,8); - CANDle.setLEDs(255, 255, 0,0,72,8); - CANDle.setLEDs(255, 255, 0,0,88,8); - CANDle.setLEDs(255, 255, 0,0,104,8); - CANDle.setLEDs(255, 255, 0,0,120,8); - CANDle.setLEDs(255, 255, 0,0,136,8); + // CANDle.setLEDs(255, 255, 0,0,56,8); + // CANDle.setLEDs(255, 255, 0,0,72,8); + // CANDle.setLEDs(255, 255, 0,0,88,8); + // CANDle.setLEDs(255, 255, 0,0,104,8); + // CANDle.setLEDs(255, 255, 0,0,120,8); + // CANDle.setLEDs(255, 255, 0,0,136,8); } + @SuppressWarnings("removal") public void Rouge2(){ CANDle.setLEDs(255, 0, 0,0,8,8); CANDle.setLEDs(255, 0, 0,0,24,8); CANDle.setLEDs(255, 0, 0,0,40,8); - CANDle.setLEDs(255, 0, 0,0,56,8); - CANDle.setLEDs(255, 0, 0,0,72,8); - CANDle.setLEDs(255, 0, 0,0,88,8); - CANDle.setLEDs(255, 0, 0,0,104,8); - CANDle.setLEDs(255, 0, 0,0,120,8); - CANDle.setLEDs(255, 0, 0,0,136,8); + // CANDle.setLEDs(255, 0, 0,0,56,8); + // CANDle.setLEDs(255, 0, 0,0,72,8); + // CANDle.setLEDs(255, 0, 0,0,88,8); + // CANDle.setLEDs(255, 0, 0,0,104,8); + // CANDle.setLEDs(255, 0, 0,0,120,8); + // CANDle.setLEDs(255, 0, 0,0,136,8); } + @SuppressWarnings("removal") public void RainBow(){ CANDle.animate(rainbowAnim); } + @SuppressWarnings("removal") public void RainBowStop(){ CANDle.animate(null); } @@ -93,6 +99,7 @@ public class Led extends SubsystemBase { @Override public void periodic() { + double temps = DriverStation.getMatchTime(); if(temps > 20 && temps < 30){ Vert1(); @@ -132,5 +139,7 @@ public class Led extends SubsystemBase { } } // This method will be called once per scheduler run + } + } diff --git a/vendordeps/PathplannerLib-2026.1.2.json b/vendordeps/PathplannerLib-2026.1.2.json new file mode 100644 index 0000000..f72fa41 --- /dev/null +++ b/vendordeps/PathplannerLib-2026.1.2.json @@ -0,0 +1,38 @@ +{ + "fileName": "PathplannerLib-2026.1.2.json", + "name": "PathplannerLib", + "version": "2026.1.2", + "uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786", + "frcYear": "2026", + "mavenUrls": [ + "https://3015rangerrobotics.github.io/pathplannerlib/repo" + ], + "jsonUrl": "https://3015rangerrobotics.github.io/pathplannerlib/PathplannerLib.json", + "javaDependencies": [ + { + "groupId": "com.pathplanner.lib", + "artifactId": "PathplannerLib-java", + "version": "2026.1.2" + } + ], + "jniDependencies": [], + "cppDependencies": [ + { + "groupId": "com.pathplanner.lib", + "artifactId": "PathplannerLib-cpp", + "version": "2026.1.2", + "libName": "PathplannerLib", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxuniversal", + "linuxathena", + "linuxarm32", + "linuxarm64" + ] + } + ] +} \ No newline at end of file diff --git a/vendordeps/Phoenix5-5.36.0.json b/vendordeps/Phoenix5-5.36.0.json new file mode 100644 index 0000000..9a27e47 --- /dev/null +++ b/vendordeps/Phoenix5-5.36.0.json @@ -0,0 +1,171 @@ +{ + "fileName": "Phoenix5-5.36.0.json", + "name": "CTRE-Phoenix (v5)", + "version": "5.36.0", + "frcYear": "2026", + "uuid": "ab676553-b602-441f-a38d-f1296eff6537", + "mavenUrls": [ + "https://maven.ctr-electronics.com/release/" + ], + "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2026-latest.json", + "requires": [ + { + "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", + "errorMessage": "Phoenix 5 requires low-level libraries from Phoenix 6. Please add the Phoenix 6 vendordep before adding Phoenix 5.", + "offlineFileName": "Phoenix6-frc2026-latest.json", + "onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2026-latest.json" + } + ], + "conflictsWith": [ + { + "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", + "errorMessage": "Users must use the Phoenix 5 replay vendordep when using the Phoenix 6 replay vendordep.", + "offlineFileName": "Phoenix6-replay-frc2026-latest.json" + }, + { + "uuid": "fbc886a4-2cec-40c0-9835-71086a8cc3df", + "errorMessage": "Users cannot have both the replay and regular Phoenix 5 vendordeps in their robot program.", + "offlineFileName": "Phoenix5-replay-frc2026-latest.json" + } + ], + "javaDependencies": [ + { + "groupId": "com.ctre.phoenix", + "artifactId": "api-java", + "version": "5.36.0" + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "wpiapi-java", + "version": "5.36.0" + } + ], + "jniDependencies": [ + { + "groupId": "com.ctre.phoenix", + "artifactId": "cci", + "version": "5.36.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "cci-sim", + "version": "5.36.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ], + "cppDependencies": [ + { + "groupId": "com.ctre.phoenix", + "artifactId": "wpiapi-cpp", + "version": "5.36.0", + "libName": "CTRE_Phoenix_WPI", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "api-cpp", + "version": "5.36.0", + "libName": "CTRE_Phoenix", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "cci", + "version": "5.36.0", + "libName": "CTRE_PhoenixCCI", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "wpiapi-cpp-sim", + "version": "5.36.0", + "libName": "CTRE_Phoenix_WPISim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "api-cpp-sim", + "version": "5.36.0", + "libName": "CTRE_PhoenixSim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "cci-sim", + "version": "5.36.0", + "libName": "CTRE_PhoenixCCISim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ] +} \ No newline at end of file diff --git a/vendordeps/Phoenix6-26.1.3.json b/vendordeps/Phoenix6-26.1.3.json new file mode 100644 index 0000000..d5bc4a2 --- /dev/null +++ b/vendordeps/Phoenix6-26.1.3.json @@ -0,0 +1,449 @@ +{ + "fileName": "Phoenix6-26.1.3.json", + "name": "CTRE-Phoenix (v6)", + "version": "26.1.3", + "frcYear": "2026", + "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", + "mavenUrls": [ + "https://maven.ctr-electronics.com/release/" + ], + "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2026-latest.json", + "conflictsWith": [ + { + "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", + "errorMessage": "Users can not have both the replay and regular Phoenix 6 vendordeps in their robot program.", + "offlineFileName": "Phoenix6-replay-frc2026-latest.json" + } + ], + "javaDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "wpiapi-java", + "version": "26.1.3" + } + ], + "jniDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "api-cpp", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6", + "artifactId": "tools", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "api-cpp-sim", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "tools-sim", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simTalonSRX", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simVictorSPX", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simPigeonIMU", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFX", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANcoder", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProPigeon2", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANrange", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdle", + "version": "26.1.3", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ], + "cppDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "wpiapi-cpp", + "version": "26.1.3", + "libName": "CTRE_Phoenix6_WPI", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6", + "artifactId": "tools", + "version": "26.1.3", + "libName": "CTRE_PhoenixTools", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "wpiapi-cpp-sim", + "version": "26.1.3", + "libName": "CTRE_Phoenix6_WPISim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "tools-sim", + "version": "26.1.3", + "libName": "CTRE_PhoenixTools_Sim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simTalonSRX", + "version": "26.1.3", + "libName": "CTRE_SimTalonSRX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simVictorSPX", + "version": "26.1.3", + "libName": "CTRE_SimVictorSPX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simPigeonIMU", + "version": "26.1.3", + "libName": "CTRE_SimPigeonIMU", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFX", + "version": "26.1.3", + "libName": "CTRE_SimProTalonFX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "26.1.3", + "libName": "CTRE_SimProTalonFXS", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANcoder", + "version": "26.1.3", + "libName": "CTRE_SimProCANcoder", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProPigeon2", + "version": "26.1.3", + "libName": "CTRE_SimProPigeon2", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANrange", + "version": "26.1.3", + "libName": "CTRE_SimProCANrange", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "26.1.3", + "libName": "CTRE_SimProCANdi", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdle", + "version": "26.1.3", + "libName": "CTRE_SimProCANdle", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ] +} \ No newline at end of file diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib.json index ac62be8..c6b1b9e 100644 --- a/vendordeps/REVLib.json +++ b/vendordeps/REVLib.json @@ -1,25 +1,55 @@ { "fileName": "REVLib.json", "name": "REVLib", - "version": "2025.0.3", - "frcYear": "2025", + "version": "2026.0.5", + "frcYear": "2026", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "mavenUrls": [ "https://maven.revrobotics.com/" ], - "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2025.json", + "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2026.json", "javaDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-java", - "version": "2025.0.3" + "version": "2026.0.5" } ], "jniDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.3", + "version": "2026.0.5", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibBackendDriver", + "version": "2026.0.5", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibWpiBackendDriver", + "version": "2026.0.5", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -36,7 +66,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-cpp", - "version": "2025.0.3", + "version": "2026.0.5", "libName": "REVLib", "headerClassifier": "headers", "sharedLibrary": false, @@ -53,7 +83,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.3", + "version": "2026.0.5", "libName": "REVLibDriver", "headerClassifier": "headers", "sharedLibrary": false, @@ -66,6 +96,38 @@ "linuxarm32", "osxuniversal" ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibBackendDriver", + "version": "2026.0.5", + "libName": "BackendDriver", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "RevLibWpiBackendDriver", + "version": "2026.0.5", + "libName": "REVLibWpi", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxarm64", + "linuxx86-64", + "linuxathena", + "linuxarm32", + "osxuniversal" + ] } ] } \ No newline at end of file diff --git a/vendordeps/WPILibNewCommands.json b/vendordeps/WPILibNewCommands.json index 3718e0a..d90630e 100644 --- a/vendordeps/WPILibNewCommands.json +++ b/vendordeps/WPILibNewCommands.json @@ -3,7 +3,7 @@ "name": "WPILib-New-Commands", "version": "1.0.0", "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", - "frcYear": "2025", + "frcYear": "2026", "mavenUrls": [], "jsonUrl": "", "javaDependencies": [ @@ -25,6 +25,7 @@ "sharedLibrary": true, "skipInvalidPlatforms": true, "binaryPlatforms": [ + "linuxsystemcore", "linuxathena", "linuxarm32", "linuxarm64",