From 6d9373c990bd5e12b39f8fb33ce5fd59801063ab Mon Sep 17 00:00:00 2001 From: Antoine PerreaultE Date: Mon, 6 Nov 2023 19:07:23 -0500 Subject: [PATCH] Changer Force 1 a 7 --- src/main/java/frc/robot/commands/Force1.java | 34 +++++++++----- src/main/java/frc/robot/commands/Force2.java | 39 +++++++++++----- src/main/java/frc/robot/commands/Force3.java | 39 +++++++++++----- src/main/java/frc/robot/commands/Force4.java | 35 ++++++++++----- src/main/java/frc/robot/commands/Force5.java | 35 ++++++++++----- src/main/java/frc/robot/commands/Force6.java | 35 ++++++++++----- src/main/java/frc/robot/commands/Force7.java | 35 ++++++++++----- src/main/java/frc/robot/commands/Lancer.java | 44 ------------------- .../frc/robot/subsystems/Accumulateur.java | 14 +++++- .../java/frc/robot/subsystems/Lanceur.java | 12 +++-- 10 files changed, 185 insertions(+), 137 deletions(-) delete mode 100644 src/main/java/frc/robot/commands/Lancer.java diff --git a/src/main/java/frc/robot/commands/Force1.java b/src/main/java/frc/robot/commands/Force1.java index 6878de5..bd7a893 100644 --- a/src/main/java/frc/robot/commands/Force1.java +++ b/src/main/java/frc/robot/commands/Force1.java @@ -3,42 +3,52 @@ // the WPILib BSD license file in the root directory of this project. package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force1 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force1(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); - + double vitesse = SmartDashboard.getNumber("Force Lanceur", 100); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } } diff --git a/src/main/java/frc/robot/commands/Force2.java b/src/main/java/frc/robot/commands/Force2.java index 2a2a890..23ff4fa 100644 --- a/src/main/java/frc/robot/commands/Force2.java +++ b/src/main/java/frc/robot/commands/Force2.java @@ -2,42 +2,57 @@ // Open Source Software; you can modify and/or share it under the terms of // the WPILib BSD license file in the root directory of this project. +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force2 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force2(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); + double vitesse = SmartDashboard.getNumber("Force Lanceur", 200); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/Force3.java b/src/main/java/frc/robot/commands/Force3.java index a98dcd8..d187be3 100644 --- a/src/main/java/frc/robot/commands/Force3.java +++ b/src/main/java/frc/robot/commands/Force3.java @@ -2,42 +2,57 @@ // Open Source Software; you can modify and/or share it under the terms of // the WPILib BSD license file in the root directory of this project. +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force3 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force3(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); + double vitesse = SmartDashboard.getNumber("Force Lanceur", 300); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/Force4.java b/src/main/java/frc/robot/commands/Force4.java index 6aba602..056b8dc 100644 --- a/src/main/java/frc/robot/commands/Force4.java +++ b/src/main/java/frc/robot/commands/Force4.java @@ -3,41 +3,52 @@ // the WPILib BSD license file in the root directory of this project. package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force4 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force4(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); + double vitesse = SmartDashboard.getNumber("Force Lanceur", 400); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/Force5.java b/src/main/java/frc/robot/commands/Force5.java index 66a2a35..bc8ec1b 100644 --- a/src/main/java/frc/robot/commands/Force5.java +++ b/src/main/java/frc/robot/commands/Force5.java @@ -3,41 +3,52 @@ // the WPILib BSD license file in the root directory of this project. package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force5 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force5(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); + double vitesse = SmartDashboard.getNumber("Force Lanceur", 500); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/Force6.java b/src/main/java/frc/robot/commands/Force6.java index e5c3fa6..9cc2f04 100644 --- a/src/main/java/frc/robot/commands/Force6.java +++ b/src/main/java/frc/robot/commands/Force6.java @@ -3,41 +3,52 @@ // the WPILib BSD license file in the root directory of this project. package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force6 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force6(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); + double vitesse = SmartDashboard.getNumber("Force Lanceur", 600); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/Force7.java b/src/main/java/frc/robot/commands/Force7.java index ceb88d9..3ed4970 100644 --- a/src/main/java/frc/robot/commands/Force7.java +++ b/src/main/java/frc/robot/commands/Force7.java @@ -3,41 +3,52 @@ // the WPILib BSD license file in the root directory of this project. package frc.robot.commands; - +import frc.robot.subsystems.Accumulateur; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Lanceur; public class Force7 extends CommandBase { - private Lanceur lanceur; - /** Creates a new Force1. */ - public Force7(Lancer lancer) { + private Lanceur lanceur; + private Accumulateur accumulateur; + + public void Lancer(Lanceur lanceur) { this.lanceur = lanceur; - addRequirements(lanceur); - // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(lanceur , accumulateur); } // Called when the command is initially scheduled. @Override public void initialize() { - lanceur.setPID(0,0,0); + lanceur.setPID(0, 0, 0); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - lanceur.lancer(500); + double vitesse = SmartDashboard.getNumber("Force Lanceur", 700); + lanceur.lancer(200); + if (lanceur.vitesse() > vitesse ){ + accumulateur.tourneavant(); + accumulateur.tournearriere(); + } else { + accumulateur.stop(); + } + } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - lanceur.lancer(0); - } + lanceur.stop(); + accumulateur.stop(); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return lanceur.distance()>1; } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/Lancer.java b/src/main/java/frc/robot/commands/Lancer.java deleted file mode 100644 index efecd99..0000000 --- a/src/main/java/frc/robot/commands/Lancer.java +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) FIRST and other WPILib contributors. -// Open Source Software; you can modify and/or share it under the terms of -// the WPILib BSD license file in the root directory of this project. - -package frc.robot.commands; - -import edu.wpi.first.wpilibj2.command.CommandBase; -import frc.robot.subsystems.Lanceur; - -public class Lancer extends CommandBase { - - private Lanceur lanceur; - - /** Creates a new Lancer. */ - public Lancer(Lanceur lanceur) { - this.lanceur = lanceur; - addRequirements(lanceur); - } - - // Called when the command is initially scheduled. - @Override - public void initialize() { - - lanceur.setPID(0, 0, 0); - } - - // Called every time the scheduler runs while the command is scheduled. - @Override - public void execute() { - - lanceur.lancer(0); - } - - // Called once the command ends or is interrupted. - @Override - public void end(boolean interrupted) { - lanceur.lancer(0); } - - // Returns true when the command should end. - @Override - public boolean isFinished() { - return lanceur.distance()>1; - } -} diff --git a/src/main/java/frc/robot/subsystems/Accumulateur.java b/src/main/java/frc/robot/subsystems/Accumulateur.java index 8d753d3..91b6f8a 100644 --- a/src/main/java/frc/robot/subsystems/Accumulateur.java +++ b/src/main/java/frc/robot/subsystems/Accumulateur.java @@ -21,9 +21,19 @@ public class Accumulateur extends SubsystemBase { public void Deaccumuler(){ moteuracc.set(0.5); } + + public double tourneavant(){ + moteuracc.set(0.5); + return(moteuracc.getSelectedSensorPosition()); + } + + public double tournearriere(){ + moteuracc.set(-0.5); + return(moteuracc.getSelectedSensorPosition()); + } - public boolean limit(){ - return limitacc.get(); + public void stop(){ + moteuracc.set(0); } public double distance() { diff --git a/src/main/java/frc/robot/subsystems/Lanceur.java b/src/main/java/frc/robot/subsystems/Lanceur.java index d8d4344..ccdb0f8 100644 --- a/src/main/java/frc/robot/subsystems/Lanceur.java +++ b/src/main/java/frc/robot/subsystems/Lanceur.java @@ -13,26 +13,24 @@ public class Lanceur extends SubsystemBase { final CANSparkMax lanceur = new CANSparkMax(Constants.lanceur, MotorType.kBrushless); - public Lanceur() {} + public Lanceur(){} public void lancer(double vitesse){ lanceur.set(vitesse); } + public double vitesse(){ + return(lanceur.getEncoder().getVelocity()); + } - - - // encodeur + // encodeur public double distance() { return(lanceur.getEncoder().getPosition()); - } public void Reset() { lanceur.getEncoder().setPosition(0); - } public void stop() { - } @Override