valeurs encodeurs, sequance, touche, quelque test amperage

This commit is contained in:
Antoine PerreaultE 2025-03-03 20:32:11 -05:00
parent 263caa4d85
commit 9f4142d7aa
15 changed files with 168 additions and 113 deletions

View File

@ -17,21 +17,41 @@
} }
}, },
{ {
"type": "named", "type": "deadline",
"data": { "data": {
"name": "baleeuse" "commands": [
{
"type": "wait",
"data": {
"waitTime": 2.0
}
},
{
"type": "named",
"data": {
"name": "baleeuse"
}
}
]
} }
}, },
{ {
"type": "wait", "type": "deadline",
"data": { "data": {
"waitTime": 2.0 "commands": [
} {
}, "type": "wait",
{ "data": {
"type": "named", "waitTime": 2.0
"data": { }
"name": "baleeuse sort" },
{
"type": "named",
"data": {
"name": "baleeuse sort"
}
}
]
} }
} }
] ]

View File

@ -12,14 +12,20 @@ import com.pathplanner.lib.auto.AutoBuilder;
import com.pathplanner.lib.auto.NamedCommands; import com.pathplanner.lib.auto.NamedCommands;
import com.pathplanner.lib.commands.PathPlannerAuto; import com.pathplanner.lib.commands.PathPlannerAuto;
import com.pathplanner.lib.util.FlippingUtil; import com.pathplanner.lib.util.FlippingUtil;
import edu.wpi.first.cameraserver.CameraServer;
import edu.wpi.first.math.MathUtil; import edu.wpi.first.math.MathUtil;
import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Pose2d;
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.DriverStation.Alliance;
import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard;
import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab;
import edu.wpi.first.wpilibj.smartdashboard.SendableChooser; 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.Commands; import edu.wpi.first.wpilibj2.command.Commands;
import edu.wpi.first.wpilibj2.command.InstantCommand;
import edu.wpi.first.wpilibj2.command.RunCommand; import edu.wpi.first.wpilibj2.command.RunCommand;
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup; import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
import edu.wpi.first.wpilibj2.command.button.CommandXboxController; import edu.wpi.first.wpilibj2.command.button.CommandXboxController;
@ -81,7 +87,7 @@ public class RobotContainer {
public double getAngle() { public double getAngle() {
return gyro.getYaw().getValueAsDouble(); // Retourne l'angle actuel du robot return gyro.getYaw().getValueAsDouble(); // Retourne l'angle actuel du robot
} }
Elevateur elevateur = new Elevateur(); Elevateur elevateur = new Elevateur();
Pince pince = new Pince(); Pince pince = new Pince();
ElevateurManuel elevateurManuel = new ElevateurManuel(elevateur, manette2::getLeftY); ElevateurManuel elevateurManuel = new ElevateurManuel(elevateur, manette2::getLeftY);
@ -94,44 +100,49 @@ public class RobotContainer {
Requin requin = new Requin(); Requin requin = new Requin();
CorailAspir corailAspir = new CorailAspir(pince, bougie); CorailAspir corailAspir = new CorailAspir(pince, bougie);
public RobotContainer() { public RobotContainer() {
autoChooser = AutoBuilder.buildAutoChooser("New Auto"); CameraServer.startAutomaticCapture();
SmartDashboard.putData("Auto Mode", autoChooser); configureBindings();
configureBindings(); NamedCommands.registerCommand("AprilTag", new AprilTag3G(limelight3g, drivetrain, null, null));
NamedCommands.registerCommand("AprilTag", new AprilTag3G(limelight3g, drivetrain, null, null)); NamedCommands.registerCommand("Station",new StationPince(pince, elevateur,bougie));
NamedCommands.registerCommand("Station",new StationPince(pince, elevateur,bougie)); NamedCommands.registerCommand("L4", new L4(elevateur, pince));
NamedCommands.registerCommand("L4", new L4(elevateur, pince)); NamedCommands.registerCommand("L3", new L3(elevateur, pince));
NamedCommands.registerCommand("L3", new L3(elevateur, pince)); NamedCommands.registerCommand("CoralExpire",new CoralExpire(pince,bougie));
NamedCommands.registerCommand("CoralExpire",new CoralExpire(pince,bougie)); NamedCommands.registerCommand("CoraletAlgue", new CoralAlgueInspire(pince,bougie));
NamedCommands.registerCommand("CoraletAlgue", new CoralAlgueInspire(pince,bougie)); NamedCommands.registerCommand("baleeuse",new L1Requin(requin, bougie));
NamedCommands.registerCommand("baleeuse",new L1Requin(requin, bougie)); NamedCommands.registerCommand("baleeuse sort", new ExpireCorail(requin, bougie));
NamedCommands.registerCommand("baleeuse sort", new ExpireCorail(requin, bougie)); autoChooser = AutoBuilder.buildAutoChooser("New Auto");
} SmartDashboard.putData("Auto Mode", autoChooser);
}
private void configureBindings() { private void configureBindings() {
drivetrain.registerTelemetry(logger::telemeterize); drivetrain.registerTelemetry(logger::telemeterize);
drivetrain.setDefaultCommand( drivetrain.setDefaultCommand(
// Drivetrain will execute this command periodically // Drivetrain will execute this command periodically
drivetrain.applyRequest(() -> drivetrain.applyRequest(() ->
drive.withVelocityY(MathUtil.applyDeadband(-manette1.getLeftX()*-manette1.getLeftX()*-manette1.getLeftX()*MaxSpeed, 0.05)) // Drive forward with negative Y (forward) drive.withVelocityY(MathUtil.applyDeadband(-manette1.getLeftX()*-manette1.getLeftX()*-manette1.getLeftX()*MaxSpeed, 0.05)) // Drive forward with negative Y (forward)
.withVelocityX(MathUtil.applyDeadband(-manette1.getLeftY()*-manette1.getLeftY()*-manette1.getLeftY()*MaxSpeed, 0.05)) // Drive left with negative X (left) .withVelocityX(MathUtil.applyDeadband(-manette1.getLeftY()*-manette1.getLeftY()*-manette1.getLeftY()*MaxSpeed, 0.05)) // Drive left with negative X (left)
.withRotationalRate(MathUtil.applyDeadband(-manette1.getRightX()*-manette1.getRightX()*-manette1.getRightX()*MaxAngularRate, 0.05)) // Drive counterclockwise with negative X (left) .withRotationalRate(MathUtil.applyDeadband(-manette1.getRightX()*-manette1.getRightX()*-manette1.getRightX()*MaxAngularRate, 0.05)) // Drive counterclockwise with negative X (left)
) )
); );
/* Manette 1 */ /* Manette 1 */
//pince //pince
manette1.rightTrigger().whileTrue(new CoralAlgueInspire(pince, bougie)); manette1.rightTrigger().whileTrue(new CoralAlgueInspire(pince, bougie));
manette1.rightBumper().whileTrue(new StationPince(pince, elevateur,bougie)); manette1.rightBumper().toggleOnTrue(new StationPince(pince, elevateur,bougie));
manette1.povLeft().whileTrue(new AlgueExpire(pince, bougie)); manette1.povLeft().whileTrue(new AlgueExpire(pince, bougie));
manette1.leftBumper().whileTrue(new AprilTag3G(limelight3g,drivetrain,manette1::getLeftX,manette1::getLeftY)); manette1.leftBumper().whileTrue(new AprilTag3G(limelight3g,drivetrain,manette1::getLeftX,manette1::getLeftY));
manette1.povRight().whileTrue(new CoralExpire(pince, bougie)); manette1.povRight().whileTrue(new CoralExpire(pince, bougie));
manette1.leftTrigger().whileTrue(new DepartPince(pince)); manette1.leftTrigger().whileTrue(new DepartPince(pince));
manette1.povDown().whileTrue(new Algue_inspire(pince,bougie)); manette1.povDown().whileTrue(new Algue_inspire(pince,bougie));
manette1.leftStick().whileTrue(new CorailAspir(pince, bougie));
//elevateur //elevateur
manette1.a().whileTrue(new Depart(elevateur, pince)); manette1.a().toggleOnTrue(new Depart(elevateur, pince));
manette1.b().whileTrue(new L2(elevateur,pince)); manette1.b().toggleOnTrue(new L2(elevateur,pince));
manette1.x().whileTrue(new L3(elevateur, pince)); manette1.x().toggleOnTrue(new L3(elevateur, pince));
manette1.y().whileTrue(new L4(elevateur, pince)); manette1.y().toggleOnTrue(new L4(elevateur, pince));
manette1.povUp().whileTrue(new balonL2(elevateur)); manette1.povUp().toggleOnTrue(new balonL2(elevateur));
manette1.start().whileTrue(new balonL3(elevateur)); manette1.start().toggleOnTrue(new balonL3(elevateur));
/* Manette 2 */ /* Manette 2 */
//requin //requin
@ -144,6 +155,7 @@ public class RobotContainer {
//limelight //limelight
manette2.a().whileTrue(new Forme3(limelight3,drivetrain,manette1::getLeftX,manette1::getLeftY)); manette2.a().whileTrue(new Forme3(limelight3,drivetrain,manette1::getLeftX,manette1::getLeftY));
manette2.b().whileTrue(new AprilTag3(limelight3, drivetrain, manette1::getLeftX, manette1::getLeftY));
//grimpeur //grimpeur
manette2.povDown().whileTrue(new GrimpeurManuelhaut(Grimpeur, bougie)); manette2.povDown().whileTrue(new GrimpeurManuelhaut(Grimpeur, bougie));
@ -161,7 +173,7 @@ public class RobotContainer {
}, elevateur)); }, elevateur));
//Reset encodeur //Reset encodeur
manette2.start().whileTrue(new reset(elevateur, pince)); manette2.start().whileTrue(new reset(elevateur, pince, requin));
} }
public Command getAutonomousCommand() { public Command getAutonomousCommand() {

View File

@ -26,12 +26,11 @@ public class L2 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() {
if(pince.encodeurpivot()>=16 && pince.encodeurpivot()<=17){ if(pince.encodeurpivot()>=14 && pince.encodeurpivot()<=15){
pince.pivote(0); pince.pivote(0);
} }
else if(pince.encodeurpivot()>=17){ else if(pince.encodeurpivot()>=14){
pince.pivote(-0.1); pince.pivote(-0.2);
} }
else{ else{
pince.pivote(0.1); pince.pivote(0.1);

View File

@ -28,26 +28,26 @@ public class L3 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() {
if(elevateur.position()<=elevateur.encodeurelevateurL3bas() && elevateur.position()>=elevateur.encodeurelevateurL3haut()){ if(elevateur.position()<=elevateur.encodeurelevateurL3bas() && elevateur.position()>=elevateur.encodeurelevateurL3haut()){
elevateur.vitesse(0); elevateur.vitesse(0);
pince.pivote(-0.15); pince.pivote(-0.15);
if(pince.encodeurpivot()>=20 && pince.encodeurpivot()<=21){ if(pince.encodeurpivot()>=20 && pince.encodeurpivot()<=21){
pince.pivote(0); pince.pivote(0);
} }
else if(pince.encodeurpivot()>=20){ else if(pince.encodeurpivot()>=20){
pince.pivote(-0.15); pince.pivote(-0.15);
}
else{
pince.pivote(0.15);
}
}
else if(elevateur.position()>=elevateur.encodeurelevateurL3bas()){
elevateur.vitesse(-0.7);
} }
else{ else{
elevateur.vitesse(0.25); pince.pivote(0.15);
} }
} }
else if(elevateur.position()>=elevateur.encodeurelevateurL3bas()){
elevateur.vitesse(-0.7);
}
else{
elevateur.vitesse(0.25);
}
}
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override

View File

@ -29,11 +29,11 @@ public class L4 extends Command {
public void execute() { public void execute() {
if(elevateur.position()<=elevateur.encodeurelevateurL4bas() && elevateur.position()>=elevateur.encodeurelevateurL4haut()){ if(elevateur.position()<=elevateur.encodeurelevateurL4bas() && elevateur.position()>=elevateur.encodeurelevateurL4haut()){
elevateur.vitesse(0); elevateur.vitesse(0);
pince.pivote(-0.1); pince.pivote(-0.15);
if(pince.encodeurpivot()>=22 && pince.encodeurpivot()<=23){ if(pince.encodeurpivot()>=20 && pince.encodeurpivot()<=21){
pince.pivote(0); pince.pivote(0);
} }
else if(pince.encodeurpivot()>=22){ else if(pince.encodeurpivot()>=20){
pince.pivote(-0.15); pince.pivote(-0.15);
} }
else{ else{

View File

@ -22,7 +22,7 @@ public class StationPince extends Command {
this.elevateur = elevateur; this.elevateur = elevateur;
this.pince = pince; this.pince = pince;
this.bougie = bougie; this.bougie = bougie;
addRequirements(pince,elevateur, bougie); addRequirements(pince, elevateur, bougie);
// Use addRequirements() here to declare subsystem dependencies. // Use addRequirements() here to declare subsystem dependencies.
} }
@ -35,9 +35,18 @@ public class StationPince extends Command {
@Override @Override
public void execute() { public void execute() {
if(pince.emperagecoral() >= 12){ if(pince.emperagecoral() >= 18){
pince.x = true; pince.x = true;
} }
if(elevateur.position()<=-0.1 && elevateur.position()>= -0.2){
elevateur.vitesse(0);
}
else if(elevateur.position()>=-0.1){
elevateur.vitesse(-0.7);
}
else{
elevateur.vitesse(0.25);
}
if(pince.x){ if(pince.x){
pince.aspirecoral(0); pince.aspirecoral(0);
bougie.Bleu(); bougie.Bleu();
@ -47,19 +56,21 @@ public class StationPince extends Command {
} }
} }
else{ else{
pince.aspirecoral(0.1); pince.aspirecoral(0.25);
} }
if (!pince.x){ if (!pince.x){
if(pince.encodeurpivot()>=10.5 && pince.encodeurpivot()<=11.5){ pince.pivote(-0.15);
if(pince.encodeurpivot()>=10 && pince.encodeurpivot()<=11){
pince.pivote(0); pince.pivote(0);
} }
else if(pince.encodeurpivot()>=11){ else if(pince.encodeurpivot()>=10.5){
pince.pivote(-0.1); pince.pivote(-0.15);
} }
else{ else{
pince.pivote(0.1); pince.pivote(0.15);
} }
} }
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@ -67,6 +78,7 @@ public class StationPince extends Command {
public void end(boolean interrupted) { public void end(boolean interrupted) {
pince.pivote(0); pince.pivote(0);
pince.aspirecoral(0); pince.aspirecoral(0);
elevateur.vitesse(0);
pince.x =false; pince.x =false;
} }

View File

@ -26,13 +26,13 @@ public class CoralExpire 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() {
/* je crois que ce nest pas necessaire
if(pince.emperagecoral() > 60){ if(pince.emperagecoral() > 60){
pince.aspirecoral(0); pince.aspirecoral(0);
} }
else{ */
pince.aspirecoral(-.5); pince.aspirecoral(-.5);
bougie.Jaune(); bougie.Jaune();
}
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -27,31 +27,28 @@ public class BalayeuseAlgue 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 cibleMin = 700;
if(requin.amp()>=12){ double cibleMax = 900;
requin.xRequin = true;
} if(requin.amp()>=78.2){
requin.xRequin = true;
}
if(requin.xRequin){ if(requin.xRequin){
bougie.Vert(); bougie.Vert();
requin.balaye(0); requin.balaye(0);
} }
else{ if(!requin.xRequin){
requin.balaye(.2); if(requin.encodeur()<=cibleMax && requin.encodeur()>=cibleMin){
} requin.rotationer(0);
if(!requin.xRequin){ requin.balaye(-0.4);
if(requin.encodeur()>=700){ }
requin.rotationer(-0.5); else if(requin.encodeur()>=cibleMax){
requin.rotationer(-0.1);
} }
else{ else{
requin.rotationer(0.5); requin.rotationer(0.3);
} }
if(requin.encodeur()<=715 && requin.encodeur()>=670){ }
requin.rotationer(0);
}
}
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@ -59,6 +56,7 @@ public class BalayeuseAlgue extends Command {
public void end(boolean interrupted) { public void end(boolean interrupted) {
requin.rotationer(0); requin.rotationer(0);
requin.balaye(0); requin.balaye(0);
requin.xRequin = false;
} }
// Returns true when the command should end. // Returns true when the command should end.

View File

@ -27,27 +27,27 @@ public class BalayeuseCoral 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() {
if(requin.encodeur()<=1200 && requin.encodeur()>=1025){ double cibleMax = 1100;
requin.rotationer(0); double cibleMin = 900;
if(requin.amp()>=12){ if(requin.amp()>=78.2){
requin.xRequin = true; requin.xRequin = true;
} }
if(requin.xRequin){ if(requin.xRequin){
requin.balaye(0); requin.balaye(0);
bougie.Vert(); bougie.Vert();
} }
if (!requin.xRequin) {
if(requin.encodeur()<=cibleMax && requin.encodeur()>=cibleMin){
requin.rotationer(0);
requin.balaye(0.7);
}
else if(requin.encodeur()>=cibleMax){
requin.rotationer(-0.5);
}
else{ else{
requin.balaye(0.5); requin.rotationer(0.5);
} }
} }
if (!requin.xRequin) {
if(requin.encodeur()>=1200){
requin.rotationer(-0.5);
}
else{
requin.rotationer(0.5);
}
}
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@ -55,6 +55,7 @@ public class BalayeuseCoral extends Command {
public void end(boolean interrupted) { public void end(boolean interrupted) {
requin.rotationer(0); requin.rotationer(0);
requin.balaye(0); requin.balaye(0);
requin.xRequin = false;
} }
// Returns true when the command should end. // Returns true when the command should end.

View File

@ -28,14 +28,14 @@ public class ExpireCorail extends Command {
@Override @Override
public void execute() { public void execute() {
if(requin.amp()> 60){ if(requin.amp()> 60){
requin.balaye(-0.5); requin.balaye(-0.4);
} }
else else
{ {
bougie.Rouge(); bougie.Rouge();
requin.balaye(-0.5); requin.balaye(-0.4);
}
} }
}
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override

View File

@ -27,11 +27,11 @@ public class L1Requin 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() {
bougie.Bleu();
if(requin.encodeur()<=645 && requin.encodeur()>=600){ if(requin.encodeur()<=530 && requin.encodeur()>=430){
requin.rotationer(0); requin.rotationer(0);
} }
else if(requin.encodeur()>=645){ else if(requin.encodeur()>=530){
requin.rotationer(-0.5); requin.rotationer(-0.5);
} }
else{ else{

View File

@ -31,11 +31,11 @@ public class exspire extends Command {
public void execute() { public void execute() {
if(requin.amp()> 15) if(requin.amp()> 15)
{ {
requin.balaye(0.5); requin.balaye(0.4);
} }
else{ else{
bougie.Rouge(); bougie.Rouge();
requin.balaye(0.5); requin.balaye(0.4);
} }
} }

View File

@ -7,19 +7,20 @@ package frc.robot.commands;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.Elevateur; import frc.robot.subsystems.Elevateur;
import frc.robot.subsystems.Pince; import frc.robot.subsystems.Pince;
import frc.robot.subsystems.Requin;
/* 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 reset extends Command { public class reset extends Command {
/** Creates a new reset. */ /** Creates a new reset. */
private Elevateur elevateur; private Elevateur elevateur;
private Pince pince; private Pince pince;
public reset(Elevateur elevateur, Pince pince) { private Requin requin;
public reset(Elevateur elevateur, Pince pince, Requin requin) {
// Use addRequirements() here to declare subsystem dependencies. // Use addRequirements() here to declare subsystem dependencies.
this.elevateur = elevateur; this.elevateur = elevateur;
this.pince = pince; this.pince = pince;
addRequirements(elevateur,pince); this.requin = requin;
addRequirements(elevateur,pince, requin);
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -31,6 +32,7 @@ public class reset extends Command {
public void execute() { public void execute() {
elevateur.reset(); elevateur.reset();
pince.reset(); pince.reset();
requin.reset();
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -41,6 +41,9 @@ public class CommandSwerveDrivetrain extends TunerSwerveDrivetrain implements Su
private final SwerveRequest.ApplyRobotSpeeds m_pathApplyRobotSpeeds = new SwerveRequest.ApplyRobotSpeeds(); private final SwerveRequest.ApplyRobotSpeeds m_pathApplyRobotSpeeds = new SwerveRequest.ApplyRobotSpeeds();
/* SysId routine for characterizing translation. This is used to find PID gains for the drive motors. */ /* SysId routine for characterizing translation. This is used to find PID gains for the drive motors. */
private final SwerveRequest.SysIdSwerveTranslation m_translationCharacterization = new SwerveRequest.SysIdSwerveTranslation();
private final SwerveRequest.SysIdSwerveSteerGains m_steerCharacterization = new SwerveRequest.SysIdSwerveSteerGains();
private final SwerveRequest.SysIdSwerveRotation m_rotationCharacterization = new SwerveRequest.SysIdSwerveRotation();
private void configureAutoBuilder() { private void configureAutoBuilder() {
try { try {
@ -58,8 +61,10 @@ public class CommandSwerveDrivetrain extends TunerSwerveDrivetrain implements Su
new PPHolonomicDriveController( new PPHolonomicDriveController(
// PID constants for translation // PID constants for translation
new PIDConstants(63.167, 0, 0.54521), new PIDConstants(63.167, 0, 0.54521),
// // PID constants for rotation
// new PIDConstants(7.9735, 0, 0.038499)
// PID constants for rotation // PID constants for rotation
new PIDConstants(7.9735, 0, 0.038499) new PIDConstants(43.502,0,2.7353)
), ),
config, config,
// Assume the path needs to be flipped for Red vs Blue, this is normally the case // Assume the path needs to be flipped for Red vs Blue, this is normally the case

View File

@ -29,6 +29,8 @@ public class Elevateur extends SubsystemBase {
teb.add("encodeurelevateursationbas", -0.5).getEntry(); teb.add("encodeurelevateursationbas", -0.5).getEntry();
private GenericEntry encodeurelevateurstationhaut = private GenericEntry encodeurelevateurstationhaut =
teb.add("encodeurelevateursationhaut", -0.4).getEntry(); teb.add("encodeurelevateursationhaut", -0.4).getEntry();
private GenericEntry distanceDeploiePince =
teb.add("encodeurDeploiePince", 0.2).getEntry();
public Elevateur() { public Elevateur() {
teb.addDouble("encodeur elevateur",this::position); teb.addDouble("encodeur elevateur",this::position);
@ -84,6 +86,10 @@ public class Elevateur extends SubsystemBase {
public double encodeurelevateurstationhaut(){ public double encodeurelevateurstationhaut(){
return encodeurelevateurstationhaut.getDouble(-0.4); return encodeurelevateurstationhaut.getDouble(-0.4);
} }
public double distanceDeploiePince(){
return distanceDeploiePince.getDouble(0.2);
}
@Override @Override
public void periodic() { public void periodic() {