From a3eae79bdd6f35f4a084bb21aede9fd0047c2053 Mon Sep 17 00:00:00 2001 From: Samuel <2540638@etudiant.cegepvicto.com> Date: Mon, 23 Feb 2026 18:24:29 -0500 Subject: [PATCH] code fini --- .../frc/robot/commands/DescendreBalyeuse.java | 2 +- src/main/java/frc/robot/commands/Lancer.java | 2 +- .../frc/robot/commands/MonterGrimpeur.java | 2 +- .../java/frc/robot/subsystems/Balayeuse.java | 19 +++++++-- .../java/frc/robot/subsystems/Grimpeur.java | 16 ++++++- .../java/frc/robot/subsystems/Lanceur.java | 42 ++++++++++++------- src/main/java/frc/robot/subsystems/Led.java | 15 +++---- 7 files changed, 66 insertions(+), 32 deletions(-) diff --git a/src/main/java/frc/robot/commands/DescendreBalyeuse.java b/src/main/java/frc/robot/commands/DescendreBalyeuse.java index 1102553..aae6efd 100644 --- a/src/main/java/frc/robot/commands/DescendreBalyeuse.java +++ b/src/main/java/frc/robot/commands/DescendreBalyeuse.java @@ -24,7 +24,7 @@ public class DescendreBalyeuse extends Command { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - if(balayeuse.Distance() < 10){ + if(balayeuse.Distance() < balayeuse.EncodeurBalayeuse()){ balayeuse.Pivoter(-0.2); } } diff --git a/src/main/java/frc/robot/commands/Lancer.java b/src/main/java/frc/robot/commands/Lancer.java index 3a05c93..8395eec 100644 --- a/src/main/java/frc/robot/commands/Lancer.java +++ b/src/main/java/frc/robot/commands/Lancer.java @@ -61,7 +61,7 @@ public class Lancer extends Command { else{ balayeuse.Reset(); balayeuse.Pivoter(0); - double vitesse = (100-limeLight3G.getTA())/100; + double vitesse = (100-limeLight3G.getTA())/lanceur.Vitesse(); double output = pidController.calculate(lanceur.Vitesse(),vitesse); lanceur.Lancer(output); if(lanceur.Vitesse() >= vitesse){ diff --git a/src/main/java/frc/robot/commands/MonterGrimpeur.java b/src/main/java/frc/robot/commands/MonterGrimpeur.java index 78ff59f..89e181f 100644 --- a/src/main/java/frc/robot/commands/MonterGrimpeur.java +++ b/src/main/java/frc/robot/commands/MonterGrimpeur.java @@ -23,7 +23,7 @@ public class MonterGrimpeur extends Command { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - if(grimpeur.Position() < 10){ + if(grimpeur.Position() < grimpeur.PositionFinal()){ grimpeur.Grimper(0.5); } } diff --git a/src/main/java/frc/robot/subsystems/Balayeuse.java b/src/main/java/frc/robot/subsystems/Balayeuse.java index 2db0a4c..141dbe2 100644 --- a/src/main/java/frc/robot/subsystems/Balayeuse.java +++ b/src/main/java/frc/robot/subsystems/Balayeuse.java @@ -8,16 +8,22 @@ import com.revrobotics.spark.SparkFlex; import com.revrobotics.spark.SparkMax; import com.revrobotics.spark.SparkLowLevel.MotorType; +import edu.wpi.first.networktables.GenericEntry; import edu.wpi.first.units.measure.Time; import edu.wpi.first.wpilibj.DigitalInput; import edu.wpi.first.wpilibj.Timer; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; +import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Balayeuse extends SubsystemBase { + ShuffleboardTab teb = Shuffleboard.getTab("teb"); SparkFlex Balaye1 = new SparkFlex(5, MotorType.kBrushless); - SparkFlex Balaye2 = new SparkFlex(5, MotorType.kBrushless); - SparkMax Pivot = new SparkMax(6, MotorType.kBrushless); + SparkFlex Balaye2 = new SparkFlex(6, MotorType.kBrushless); + SparkMax Pivot = new SparkMax(7, MotorType.kBrushless); DigitalInput limit = new DigitalInput(0); + private GenericEntry EncodeurBalayeuse = + teb.add("Position bas balayeuse", 10).getEntry(); public void Balayer(double vitesse){ Balaye1.set(vitesse); Balaye2.set(vitesse); @@ -40,10 +46,15 @@ public class Balayeuse extends SubsystemBase { public void Temps(){ Timer timer = new Timer(); timer.start(); - + } + public double EncodeurBalayeuse(){ + return EncodeurBalayeuse.getDouble(10); } /** Creates a new Balayeuse. */ - public Balayeuse() {} + public Balayeuse() { + teb.addBoolean("limit balayeuse", this::GetLimiSwtich); + teb.addDouble("encodeur balayeuse", this::Distance); + } @Override public void periodic() { diff --git a/src/main/java/frc/robot/subsystems/Grimpeur.java b/src/main/java/frc/robot/subsystems/Grimpeur.java index a3bfc20..56b93cd 100644 --- a/src/main/java/frc/robot/subsystems/Grimpeur.java +++ b/src/main/java/frc/robot/subsystems/Grimpeur.java @@ -7,18 +7,24 @@ package frc.robot.subsystems; import com.revrobotics.spark.SparkMax; import com.revrobotics.spark.config.SparkMaxConfig; import com.revrobotics.spark.SparkLowLevel.MotorType; + +import edu.wpi.first.networktables.GenericEntry; import edu.wpi.first.wpilibj.DigitalInput; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; +import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Grimpeur extends SubsystemBase { + ShuffleboardTab teb = Shuffleboard.getTab("teb"); SparkMax grimpeur1 = new SparkMax(8,MotorType.kBrushless); SparkMax grimpeur2 = new SparkMax(9,MotorType.kBrushless); SparkMaxConfig slaveConfig = new SparkMaxConfig(); DigitalInput limit = new DigitalInput(1); + private GenericEntry EncodeurGrimpeur = + teb.add("Position haut grimpeur", 10).getEntry(); public void Grimper(double vitesse){ grimpeur1.set(vitesse); grimpeur2.set(vitesse); - } public double Position(){ return grimpeur1.getEncoder().getPosition(); @@ -29,8 +35,14 @@ public class Grimpeur extends SubsystemBase { public boolean Limit(){ return limit.get(); } + public double PositionFinal(){ + return EncodeurGrimpeur.getDouble(10); + } /** Creates a new Grimpeur. */ - public Grimpeur() {} + public Grimpeur() { + teb.addDouble("encodeur grimpeur", this::Position); + teb.addBoolean("limit grimpeur", this::Limit); + } @Override public void periodic() { diff --git a/src/main/java/frc/robot/subsystems/Lanceur.java b/src/main/java/frc/robot/subsystems/Lanceur.java index d90a801..cd50440 100644 --- a/src/main/java/frc/robot/subsystems/Lanceur.java +++ b/src/main/java/frc/robot/subsystems/Lanceur.java @@ -7,27 +7,37 @@ package frc.robot.subsystems; import com.revrobotics.spark.SparkFlex; import com.revrobotics.spark.SparkLowLevel.MotorType; +import edu.wpi.first.networktables.GenericEntry; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; +import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Lanceur extends SubsystemBase { - SparkFlex moteur1 = new SparkFlex(2, MotorType.kBrushless); - SparkFlex moteur2 = new SparkFlex(3, MotorType.kBrushless); - SparkFlex Demeleur = new SparkFlex(4, MotorType.kBrushless); - public void Lancer(double vitesse){ - moteur1.set(vitesse); - moteur2.set(-vitesse); - } - public void Demeler(double vitesse){ - Demeleur.set(vitesse); - } - public double Vitesse(){ - return moteur1.getEncoder().getVelocity(); - } - public double Amp(){ - return moteur1.getOutputCurrent(); - } + ShuffleboardTab teb = Shuffleboard.getTab("teb"); + SparkFlex moteur1 = new SparkFlex(2, MotorType.kBrushless); + SparkFlex moteur2 = new SparkFlex(3, MotorType.kBrushless); + SparkFlex Demeleur = new SparkFlex(4, MotorType.kBrushless); + GenericEntry vitesse = + teb.add("vitesse lanceur",100).getEntry(); + public void Lancer(double vitesse){ + moteur1.set(vitesse); + moteur2.set(-vitesse); + } + public void Demeler(double vitesse){ + Demeleur.set(vitesse); + } + public double Vitesse(){ + return moteur1.getEncoder().getVelocity(); + } + public double Amp(){ + return moteur1.getOutputCurrent(); + } + public double vitesseDemander(){ + return vitesse.getDouble(100); + } /** Creates a new Lanceur. */ public Lanceur() { + teb.addDouble("amperage lanceur", this::Amp); } @Override diff --git a/src/main/java/frc/robot/subsystems/Led.java b/src/main/java/frc/robot/subsystems/Led.java index 33410fc..533a8ae 100644 --- a/src/main/java/frc/robot/subsystems/Led.java +++ b/src/main/java/frc/robot/subsystems/Led.java @@ -9,10 +9,17 @@ 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.shuffleboard.BuiltInWidgets; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; +import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj2.command.SubsystemBase; 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(); CANdle CANDle = new CANdle(7); RainbowAnimation rainbowAnim = new RainbowAnimation(); public void bleu(){ @@ -78,13 +85,7 @@ public class Led extends SubsystemBase { CANDle.animate(null); } public boolean Equipe(){ - Optional alliance = DriverStation.getAlliance(); - if(alliance.get() == DriverStation.Alliance.Blue){ - return true; - } - else{ - return false; - } + return equipe.getBoolean(true); } /** Creates a new Led. */ public Led() {}