mettre en 2026

This commit is contained in:
samuel desharnais
2026-03-26 17:45:25 -04:00
parent 69fe4a58d0
commit 0492c9a2c6
21 changed files with 798 additions and 121 deletions

View File

@@ -57,5 +57,5 @@
"edu.wpi.first.math.**.proto.*", "edu.wpi.first.math.**.proto.*",
"edu.wpi.first.math.**.struct.*", "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
} }

View File

@@ -1,6 +1,6 @@
{ {
"enableCppIntellisense": false, "enableCppIntellisense": false,
"currentLanguage": "java", "currentLanguage": "java",
"projectYear": "2025", "projectYear": "2026",
"teamNumber": 5618 "teamNumber": 5618
} }

View File

@@ -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. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@@ -1,6 +1,6 @@
plugins { plugins {
id "java" id "java"
id "edu.wpi.first.GradleRIO" version "2025.3.2" id "edu.wpi.first.GradleRIO" version "2026.2.1"
} }
java { java {
@@ -43,7 +43,8 @@ deploy {
def deployArtifact = deploy.targets.roborio.artifacts.frcJava 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 wpi.java.debugJni = false
// Set this to true to enable desktop support. // Set this to true to enable desktop support.
@@ -88,7 +89,9 @@ wpi.sim.addDriverstation()
// knows where to look for our Robot Class. // knows where to look for our Robot Class.
jar { jar {
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } 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) manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS)
duplicatesStrategy = DuplicatesStrategy.INCLUDE duplicatesStrategy = DuplicatesStrategy.INCLUDE
} }

View File

@@ -4,7 +4,7 @@ pluginManagement {
repositories { repositories {
mavenLocal() mavenLocal()
gradlePluginPortal() gradlePluginPortal()
String frcYear = '2025' String frcYear = '2026'
File frcHome File frcHome
if (OperatingSystem.current().isWindows()) { if (OperatingSystem.current().isWindows()) {
String publicFolder = System.getenv('PUBLIC') String publicFolder = System.getenv('PUBLIC')

View File

@@ -8,7 +8,6 @@ import edu.wpi.first.math.util.Units;
import edu.wpi.first.wpilibj.TimedRobot; import edu.wpi.first.wpilibj.TimedRobot;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.CommandScheduler; import edu.wpi.first.wpilibj2.command.CommandScheduler;
import frc.robot.subsystems.Limelight3G;
public class Robot extends TimedRobot { public class Robot extends TimedRobot {
private Command m_autonomousCommand; private Command m_autonomousCommand;

View File

@@ -17,7 +17,6 @@ import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.button.CommandXboxController; 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.Aspirer;
import frc.robot.commands.DescendreBalyeuse; import frc.robot.commands.DescendreBalyeuse;
import frc.robot.commands.DescendreGrimpeur; import frc.robot.commands.DescendreGrimpeur;
@@ -122,7 +121,7 @@ public class RobotContainer {
//manette 2 //manette 2
manette1.rightTrigger().whileTrue(new Aspirer(balayeuse)); manette1.rightTrigger().whileTrue(new Aspirer(balayeuse));
manette1.rightBumper().whileTrue(new MonterBalyeuse(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.leftBumper().whileTrue(new DescendreBalyeuse(balayeuse));
manette1.x().whileTrue(new LancerAspirer(lanceur, balayeuse, limeLight3G)); manette1.x().whileTrue(new LancerAspirer(lanceur, balayeuse, limeLight3G));
manette1.b().whileTrue(new ModeOposer(lanceur)); manette1.b().whileTrue(new ModeOposer(lanceur));

View File

@@ -4,10 +4,8 @@
package frc.robot.commands; package frc.robot.commands;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.Balayeuse; 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 */ /* 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 { public class Aspirer extends Command {

View File

@@ -7,9 +7,7 @@ package frc.robot.commands;
import edu.wpi.first.math.controller.PIDController; import edu.wpi.first.math.controller.PIDController;
import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.Balayeuse;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
import frc.robot.subsystems.Led;
import frc.robot.subsystems.Limelight3G; 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 */ /* 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 PIDController pidController;
private Limelight3G limeLight3G; private Limelight3G limeLight3G;
private Timer timer; private Timer timer;
private double temp;
/** Creates a new Lancer. */ /** Creates a new Lancer. */
public Lancer(Lanceur lanceur, Limelight3G limeLight3G) { public Lancer(Lanceur lanceur, Limelight3G limeLight3G) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.timer = new Timer(); this.timer = new Timer();
this.limeLight3G = new Limelight3G(); this.limeLight3G = new Limelight3G();
addRequirements(lanceur, limeLight3G); addRequirements(lanceur, limeLight3G);
this.temp = 0;
// Use addRequirements() here to declare subsystem dependencies. // Use addRequirements() here to declare subsystem dependencies.
} }
@@ -35,7 +30,6 @@ public class Lancer extends Command {
public void initialize() { public void initialize() {
pidController = new PIDController(0.0007, 0,0, 0.001); pidController = new PIDController(0.0007, 0,0, 0.001);
timer.reset(); timer.reset();
temp = lanceur.Amp();
} }
// Called every time the scheduler runs while the command is scheduled. // Called every time the scheduler runs while the command is scheduled.

View File

@@ -7,8 +7,6 @@ package frc.robot.commands;
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup; import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
import frc.robot.subsystems.Balayeuse; import frc.robot.subsystems.Balayeuse;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
import frc.robot.subsystems.Led;
import frc.robot.subsystems.LimeLight3;
import frc.robot.subsystems.Limelight3G; import frc.robot.subsystems.Limelight3G;

View File

@@ -5,25 +5,22 @@
package frc.robot.commands; package frc.robot.commands;
import edu.wpi.first.math.controller.PIDController; import edu.wpi.first.math.controller.PIDController;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.Lanceur; 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 */ /* 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 { public class LancerBaseVitesse extends Command {
private Lanceur lanceur; private Lanceur lanceur;
private PIDController pidController; private PIDController pidController;
private Limelight3G limeLight3G;
private Timer timer; private Timer timer;
private double temp; double tempsDebut = 0;
/** Creates a new Lancer. */ /** Creates a new Lancer. */
public LancerBaseVitesse(Lanceur lanceur, Limelight3G limeLight3G) { public LancerBaseVitesse(Lanceur lanceur) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.timer = new Timer(); this.timer = new Timer();
this.limeLight3G = new Limelight3G(); addRequirements(lanceur);
addRequirements(lanceur, limeLight3G);
//this.temp = 0; //this.temp = 0;
// Use addRequirements() here to declare subsystem dependencies. // 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); pidController = new PIDController(0.0007, 0,0, 0.001);
timer.reset(); timer.reset();
timer.start(); timer.start();
//temp = lanceur.Amp();
} }
// Called every time the scheduler runs while the command is scheduled. // Called every time the scheduler runs while the command is scheduled.
@Override @Override
public void execute() { public void execute() {
// int nbFois = 0; System.out.println(DriverStation.getMatchTime());
// 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{
double vitesse = lanceur.vitesseDemander(); double vitesse = lanceur.vitesseDemander();
double output = pidController.calculate(lanceur.Vitesse(),vitesse); double output = pidController.calculate(lanceur.Vitesse(),vitesse);
lanceur.Lancer(output); lanceur.Lancer(output);
if(timer.get() > 1){ if(timer.get() > 1){
lanceur.Demeler(1); lanceur.Demeler(1);
} }
// }
} }

View File

@@ -7,7 +7,6 @@ package frc.robot.commands;
import com.ctre.phoenix6.swerve.SwerveModule.DriveRequestType; import com.ctre.phoenix6.swerve.SwerveModule.DriveRequestType;
import com.ctre.phoenix6.swerve.SwerveRequest; import com.ctre.phoenix6.swerve.SwerveRequest;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.generated.TunerConstants; import frc.robot.generated.TunerConstants;
import frc.robot.subsystems.CommandSwerveDrivetrain; 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 */ /* 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 { public class Limelighter extends Command {
Timer timer;
Limelight3G limelight3g; Limelight3G limelight3g;
CommandSwerveDrivetrain drivetrain; CommandSwerveDrivetrain drivetrain;
private double MaxSpeed = TunerConstants.kSpeedAt12Volts.in(MetersPerSecond); private double MaxSpeed = TunerConstants.kSpeedAt12Volts.in(MetersPerSecond);
@@ -34,20 +32,18 @@ public class Limelighter extends Command {
this.limelight3g = limelight3g; this.limelight3g = limelight3g;
this.drivetrain = drivetrain; this.drivetrain = drivetrain;
addRequirements(drivetrain, limelight3g); addRequirements(drivetrain, limelight3g);
timer = new Timer();
// Use addRequirements() here to declare subsystem dependencies. // Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@Override @Override
public void initialize() { public void initialize() {}
timer.reset();
}
// Called every time the scheduler runs while the command is scheduled. // Called every time the scheduler runs while the command is scheduled.
@Override @Override
public void execute() { public void execute() {
double[] BotPose = new double[6]; double[] BotPose = new double[6];
System.out.println("e");
if (limelight3g.getV()) { if (limelight3g.getV()) {
BotPose = limelight3g.getBotPoseBlue(); BotPose = limelight3g.getBotPoseBlue();
botx = BotPose[1]; botx = BotPose[1];
@@ -61,12 +57,6 @@ public class Limelighter extends Command {
drive.withVelocityX(0).withVelocityY(0).withRotationalRate(calcul)); drive.withVelocityX(0).withVelocityY(0).withRotationalRate(calcul));
System.out.println(calcul); System.out.println(calcul);
if (calcul < 0.2 && calcul > -0.2) { if (calcul < 0.2 && calcul > -0.2) {
// timer.start();
// } else {
// timer.reset();
// }
// } else {
// timer.stop();
drivetrain.setControl(drive.withRotationalRate(0)); drivetrain.setControl(drive.withRotationalRate(0));
} }
} }
@@ -80,7 +70,6 @@ public class Limelighter extends Command {
@Override @Override
public void end(boolean interrupted) { public void end(boolean interrupted) {
drivetrain.setControl(drive.withRotationalRate(0)); drivetrain.setControl(drive.withRotationalRate(0));
timer.stop();
} }
// Returns true when the command should end. // Returns true when the command should end.

View File

@@ -50,18 +50,12 @@ public class RetourMilieuDroite extends Command {
// Called every time the scheduler runs while the command is scheduled. // Called every time the scheduler runs while the command is scheduled.
@Override @Override
public void execute() { public void execute() {
double[] BotPose = new double[6];
BotPose = limelight3g.getBotPoseBlue();
botx = BotPose[0];
boty = BotPose[1];
if(alliance.get() == Alliance.Blue){ if(alliance.get() == Alliance.Blue){
angle = 0; angle = 0;
} }
else{ else{
angle = 180; angle = 180;
} }
if(pigeon2.getYaw().getValueAsDouble() <355 || pigeon2.getYaw().getValueAsDouble() > 5){
if(pigeon2.getYaw().getValueAsDouble() >0 && pigeon2.getYaw().getValueAsDouble() <180){ if(pigeon2.getYaw().getValueAsDouble() >0 && pigeon2.getYaw().getValueAsDouble() <180){
drivetrain.setControl(drive.withRotationalRate(0.5)); drivetrain.setControl(drive.withRotationalRate(0.5));
} }
@@ -69,9 +63,6 @@ public class RetourMilieuDroite extends Command {
drivetrain.setControl(drive.withRotationalRate(-0.5)); drivetrain.setControl(drive.withRotationalRate(-0.5));
} }
} }
else{
}
}
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override

View File

@@ -6,7 +6,6 @@ package frc.robot.commands;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.Balayeuse; 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 */ /* 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 { public class ModeOposerBalayeuse extends Command {
private Balayeuse balayeuse; private Balayeuse balayeuse;

View File

@@ -248,12 +248,12 @@ public class CommandSwerveDrivetrain extends TunerSwerveDrivetrain implements Su
@Override @Override
public void periodic() { public void periodic() {
if(pigeon2.getYaw().getValueAsDouble() > 360){ // if(getPigeon2().getYaw().getValueAsDouble() > 360){
pigeon2.setYaw(pigeon2.getYaw().getValueAsDouble()-360); // getPigeon2().setYaw(getPigeon2().getYaw().getValueAsDouble()-360);
} // }
else if(pigeon2.getYaw().getValueAsDouble() < 0){ // else if(getPigeon2().getYaw().getValueAsDouble() < 0){
pigeon2.setYaw(pigeon2.getYaw().getValueAsDouble()+360); // getPigeon2().setYaw(getPigeon2().getYaw().getValueAsDouble()+360);
} // }
/* /*
* Periodically try to apply the operator perspective. * Periodically try to apply the operator perspective.

View File

@@ -4,14 +4,11 @@
package frc.robot.subsystems; package frc.robot.subsystems;
import java.util.Optional;
import com.ctre.phoenix.led.CANdle; import com.ctre.phoenix.led.CANdle;
import com.ctre.phoenix.led.RainbowAnimation; import com.ctre.phoenix.led.RainbowAnimation;
import edu.wpi.first.networktables.GenericEntry; import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj.DriverStation; 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.BuiltInWidgets;
import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard;
import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab;
@@ -21,67 +18,76 @@ public class Led extends SubsystemBase {
ShuffleboardTab teb = Shuffleboard.getTab("teb"); ShuffleboardTab teb = Shuffleboard.getTab("teb");
private GenericEntry equipe = private GenericEntry equipe =
teb.add("equipe commence (bleu = ouvert, rouge = fermé)", true).withWidget(BuiltInWidgets.kToggleSwitch).getEntry(); teb.add("equipe commence (bleu = ouvert, rouge = fermé)", true).withWidget(BuiltInWidgets.kToggleSwitch).getEntry();
@SuppressWarnings("removal")
CANdle CANDle = new CANdle(17); CANdle CANDle = new CANdle(17);
@SuppressWarnings("removal")
RainbowAnimation rainbowAnim = new RainbowAnimation(); RainbowAnimation rainbowAnim = new RainbowAnimation();
@SuppressWarnings("removal")
public void bleu(){ public void bleu(){
CANDle.setLEDs(0, 0, 255,0,0,8); CANDle.setLEDs(0, 0, 255,0,0,8);
CANDle.setLEDs(0, 0, 255,0,16,8); CANDle.setLEDs(0, 0, 255,0,16,8);
CANDle.setLEDs(0, 0, 255,0,32,8); CANDle.setLEDs(0, 0, 255,0,32,8);
CANDle.setLEDs(0, 0, 255,0,56,8); // CANDle.setLEDs(0, 0, 255,0,56,8);
CANDle.setLEDs(0, 0, 255,0,72,8); // CANDle.setLEDs(0, 0, 255,0,72,8);
CANDle.setLEDs(0, 0, 255,0,88,8); // CANDle.setLEDs(0, 0, 255,0,88,8);
CANDle.setLEDs(0, 0, 255,0,104,8); // CANDle.setLEDs(0, 0, 255,0,104,8);
CANDle.setLEDs(0, 0, 255,0,120,8); // CANDle.setLEDs(0, 0, 255,0,120,8);
CANDle.setLEDs(0, 0, 255,0,136,8); // CANDle.setLEDs(0, 0, 255,0,136,8);
} }
@SuppressWarnings("removal")
public void Vert1(){ public void Vert1(){
CANDle.setLEDs(0, 255, 0,0,0,8); CANDle.setLEDs(0, 255, 0,0,0,8);
CANDle.setLEDs(0, 255, 0,0,16,8); CANDle.setLEDs(0, 255, 0,0,16,8);
CANDle.setLEDs(0, 255, 0,0,32,8); CANDle.setLEDs(0, 255, 0,0,32,8);
CANDle.setLEDs(0, 255, 0,0,56,8); // CANDle.setLEDs(0, 255, 0,0,56,8);
CANDle.setLEDs(0, 255, 0,0,72,8); // CANDle.setLEDs(0, 255, 0,0,72,8);
CANDle.setLEDs(0, 255, 0,0,88,8); // CANDle.setLEDs(0, 255, 0,0,88,8);
CANDle.setLEDs(0, 255, 0,0,104,8); // CANDle.setLEDs(0, 255, 0,0,104,8);
CANDle.setLEDs(0, 255, 0,0,120,8); // CANDle.setLEDs(0, 255, 0,0,120,8);
CANDle.setLEDs(0, 255, 0,0,136,8); // CANDle.setLEDs(0, 255, 0,0,136,8);
} }
@SuppressWarnings("removal")
public void Rouge(){ public void Rouge(){
CANDle.setLEDs(255, 0, 0,0,0,8); CANDle.setLEDs(255, 0, 0,0,0,8);
CANDle.setLEDs(255, 0, 0,0,16,8); CANDle.setLEDs(255, 0, 0,0,16,8);
CANDle.setLEDs(255, 0, 0,0,32,8); CANDle.setLEDs(255, 0, 0,0,32,8);
CANDle.setLEDs(255, 0, 0,0,48,8); // CANDle.setLEDs(255, 0, 0,0,48,8);
CANDle.setLEDs(255, 0, 0,0,64,8); // CANDle.setLEDs(255, 0, 0,0,64,8);
CANDle.setLEDs(255, 0, 0,0,80,8); // CANDle.setLEDs(255, 0, 0,0,80,8);
CANDle.setLEDs(255, 0, 0,0,96,8); // CANDle.setLEDs(255, 0, 0,0,96,8);
CANDle.setLEDs(255, 0, 0,0,112,8); // CANDle.setLEDs(255, 0, 0,0,112,8);
CANDle.setLEDs(255, 0, 0,0,128,8); // CANDle.setLEDs(255, 0, 0,0,128,8);
} }
@SuppressWarnings("removal")
public void Jaune2(){ public void Jaune2(){
CANDle.setLEDs(255, 255, 0,0,8,8); CANDle.setLEDs(255, 255, 0,0,8,8);
CANDle.setLEDs(255, 255, 0,0,24,8); CANDle.setLEDs(255, 255, 0,0,24,8);
CANDle.setLEDs(255, 255, 0,0,40,8); CANDle.setLEDs(255, 255, 0,0,40,8);
CANDle.setLEDs(255, 255, 0,0,56,8); // CANDle.setLEDs(255, 255, 0,0,56,8);
CANDle.setLEDs(255, 255, 0,0,72,8); // CANDle.setLEDs(255, 255, 0,0,72,8);
CANDle.setLEDs(255, 255, 0,0,88,8); // CANDle.setLEDs(255, 255, 0,0,88,8);
CANDle.setLEDs(255, 255, 0,0,104,8); // CANDle.setLEDs(255, 255, 0,0,104,8);
CANDle.setLEDs(255, 255, 0,0,120,8); // CANDle.setLEDs(255, 255, 0,0,120,8);
CANDle.setLEDs(255, 255, 0,0,136,8); // CANDle.setLEDs(255, 255, 0,0,136,8);
} }
@SuppressWarnings("removal")
public void Rouge2(){ public void Rouge2(){
CANDle.setLEDs(255, 0, 0,0,8,8); CANDle.setLEDs(255, 0, 0,0,8,8);
CANDle.setLEDs(255, 0, 0,0,24,8); CANDle.setLEDs(255, 0, 0,0,24,8);
CANDle.setLEDs(255, 0, 0,0,40,8); CANDle.setLEDs(255, 0, 0,0,40,8);
CANDle.setLEDs(255, 0, 0,0,56,8); // CANDle.setLEDs(255, 0, 0,0,56,8);
CANDle.setLEDs(255, 0, 0,0,72,8); // CANDle.setLEDs(255, 0, 0,0,72,8);
CANDle.setLEDs(255, 0, 0,0,88,8); // CANDle.setLEDs(255, 0, 0,0,88,8);
CANDle.setLEDs(255, 0, 0,0,104,8); // CANDle.setLEDs(255, 0, 0,0,104,8);
CANDle.setLEDs(255, 0, 0,0,120,8); // CANDle.setLEDs(255, 0, 0,0,120,8);
CANDle.setLEDs(255, 0, 0,0,136,8); // CANDle.setLEDs(255, 0, 0,0,136,8);
} }
@SuppressWarnings("removal")
public void RainBow(){ public void RainBow(){
CANDle.animate(rainbowAnim); CANDle.animate(rainbowAnim);
} }
@SuppressWarnings("removal")
public void RainBowStop(){ public void RainBowStop(){
CANDle.animate(null); CANDle.animate(null);
} }
@@ -93,6 +99,7 @@ public class Led extends SubsystemBase {
@Override @Override
public void periodic() { public void periodic() {
double temps = DriverStation.getMatchTime(); double temps = DriverStation.getMatchTime();
if(temps > 20 && temps < 30){ if(temps > 20 && temps < 30){
Vert1(); Vert1();
@@ -132,5 +139,7 @@ public class Led extends SubsystemBase {
} }
} }
// This method will be called once per scheduler run // This method will be called once per scheduler run
} }
} }

View File

@@ -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"
]
}
]
}

View File

@@ -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"
}
]
}

View File

@@ -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"
}
]
}

View File

@@ -1,25 +1,55 @@
{ {
"fileName": "REVLib.json", "fileName": "REVLib.json",
"name": "REVLib", "name": "REVLib",
"version": "2025.0.3", "version": "2026.0.5",
"frcYear": "2025", "frcYear": "2026",
"uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb",
"mavenUrls": [ "mavenUrls": [
"https://maven.revrobotics.com/" "https://maven.revrobotics.com/"
], ],
"jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2025.json", "jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2026.json",
"javaDependencies": [ "javaDependencies": [
{ {
"groupId": "com.revrobotics.frc", "groupId": "com.revrobotics.frc",
"artifactId": "REVLib-java", "artifactId": "REVLib-java",
"version": "2025.0.3" "version": "2026.0.5"
} }
], ],
"jniDependencies": [ "jniDependencies": [
{ {
"groupId": "com.revrobotics.frc", "groupId": "com.revrobotics.frc",
"artifactId": "REVLib-driver", "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, "skipInvalidPlatforms": true,
"isJar": false, "isJar": false,
"validPlatforms": [ "validPlatforms": [
@@ -36,7 +66,7 @@
{ {
"groupId": "com.revrobotics.frc", "groupId": "com.revrobotics.frc",
"artifactId": "REVLib-cpp", "artifactId": "REVLib-cpp",
"version": "2025.0.3", "version": "2026.0.5",
"libName": "REVLib", "libName": "REVLib",
"headerClassifier": "headers", "headerClassifier": "headers",
"sharedLibrary": false, "sharedLibrary": false,
@@ -53,7 +83,7 @@
{ {
"groupId": "com.revrobotics.frc", "groupId": "com.revrobotics.frc",
"artifactId": "REVLib-driver", "artifactId": "REVLib-driver",
"version": "2025.0.3", "version": "2026.0.5",
"libName": "REVLibDriver", "libName": "REVLibDriver",
"headerClassifier": "headers", "headerClassifier": "headers",
"sharedLibrary": false, "sharedLibrary": false,
@@ -66,6 +96,38 @@
"linuxarm32", "linuxarm32",
"osxuniversal" "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"
]
} }
] ]
} }

View File

@@ -3,7 +3,7 @@
"name": "WPILib-New-Commands", "name": "WPILib-New-Commands",
"version": "1.0.0", "version": "1.0.0",
"uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266",
"frcYear": "2025", "frcYear": "2026",
"mavenUrls": [], "mavenUrls": [],
"jsonUrl": "", "jsonUrl": "",
"javaDependencies": [ "javaDependencies": [
@@ -25,6 +25,7 @@
"sharedLibrary": true, "sharedLibrary": true,
"skipInvalidPlatforms": true, "skipInvalidPlatforms": true,
"binaryPlatforms": [ "binaryPlatforms": [
"linuxsystemcore",
"linuxathena", "linuxathena",
"linuxarm32", "linuxarm32",
"linuxarm64", "linuxarm64",