This commit is contained in:
samuel desharnais 2023-12-05 18:23:02 -05:00
commit c28530ea50
11 changed files with 108 additions and 185 deletions

View File

@ -17,14 +17,15 @@ import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
import edu.wpi.first.wpilibj2.command.button.CommandJoystick;
import edu.wpi.first.wpilibj2.command.button.CommandXboxController;
import frc.robot.commands.Avancer;
import frc.robot.commands.Lancer;
import frc.robot.commands.LancerTest;
import frc.robot.commands.Force1;
//import frc.robot.commands.Lancer;
import frc.robot.commands.Force2;
import frc.robot.commands.Force3;
import frc.robot.commands.Force4;
import frc.robot.commands.Force5;
import frc.robot.commands.Force6;
import frc.robot.commands.Force7;
import frc.robot.commands.Force1;
import frc.robot.commands.Reculer;
import frc.robot.commands.accumulateurtest;
import frc.robot.subsystems.Accumulateur;
@ -64,22 +65,29 @@ public class RobotContainer {
private void configureBindings() {
accumulateurtest accumulateurtest = new accumulateurtest(accumulateur);
LancerTest lancertest = new LancerTest(lanceur);
// joystick1.button(7).onTrue(new Lancer(lanceur, accumulateur, force1));
/* joystick1.button(8).onTrue(new Lancer(lanceur, accumulateur, force2));
joystick1.button(9).onTrue(new Lancer(lanceur, accumulateur, force3));
joystick1.button(10).onTrue(new Lancer(lanceur, accumulateur, force4));
joystick1.button(11).onTrue(new Lancer(lanceur, accumulateur, force5));
joystick1.button(12).onTrue(new Lancer(lanceur, accumulateur, force6));*/
// joystick1.button(3).onTrue(new Lancer(lanceur, accumulateur, force7));
joystick1.button(5).whileTrue(accumulateurtest);
joystick1.button(1).whileTrue(lancertest);
Force1 Force1 = new Force1(lanceur, force1);
Force2 Force2 = new Force2(lanceur, force2);
Force3 Force3 = new Force3(lanceur, force3);
Force4 Force4 = new Force4(lanceur, force4);
Force5 Force5 = new Force5(lanceur, force5);
Force6 Force6 = new Force6(lanceur, force6);
Force7 Force7 = new Force7(lanceur, force7);
//touche
joystick1.button(3).whileTrue(accumulateurtest);
joystick1.button(1).whileTrue(Force1);
joystick1.button(7).whileTrue(Force2);
joystick1.button(8).whileTrue(Force3);
joystick1.button(9).whileTrue(Force4);
joystick1.button(10).whileTrue(Force5);
joystick1.button(11).whileTrue(Force6);
joystick1.button(12).whileTrue(Force7);
}
public Command getAutonomousCommand() {
return new SequentialCommandGroup(new ParallelCommandGroup(new LancerTest(lanceur).withTimeout(5),new accumulateurtest(accumulateur).withTimeout(5))
return new SequentialCommandGroup(new ParallelCommandGroup(new Force1(lanceur).withTimeout(5),new accumulateurtest(accumulateur).withTimeout(5))
,new Avancer(drive));
}
}

View File

@ -10,12 +10,12 @@ import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur;
public class LancerTest extends CommandBase {
public class Force1 extends CommandBase {
ShuffleboardTab dashboard = Shuffleboard.getTab("Dashboard");
private Lanceur lanceur;
/** Creates a new LancerTest. */
public LancerTest(Lanceur lanceur) {
public Force1(Lanceur lanceur, g) {
dashboard.add("vitesse lanceur", 0.5);
this.lanceur = lanceur;
addRequirements(lanceur);
@ -24,12 +24,14 @@ public class LancerTest extends CommandBase {
// Called when the command is initially scheduled.
@Override
public void initialize() {}
public void initialize() {
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
lanceur.lancer(0.5);
lanceur.lancer(0.3);
}
// Called once the command ends or is interrupted.

View File

@ -6,39 +6,27 @@ package frc.robot.commands;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Accumulateur;
import frc.robot.subsystems.Lanceur;
public class Force2 extends CommandBase {
private Lanceur lanceur;
private Accumulateur accumulateur;
GenericEntry force2;
/** Creates a new Force1. */
public Force2(Lanceur lanceur,Accumulateur accumulateur, GenericEntry force2) {
/** Creates a new LancerTest. */
public Force2(Lanceur lanceur, GenericEntry force2) {
this.lanceur = lanceur;
this.accumulateur = accumulateur;
addRequirements(lanceur, accumulateur);
this.force2 = force2;
addRequirements(lanceur);
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0,0,0);
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
double vitesse = (200);
lanceur.lancer(force2.getDouble(200));
if (lanceur.vitesse() > vitesse ){
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
lanceur.lancer(0.35);
}
// Called once the command ends or is interrupted.

View File

@ -2,54 +2,42 @@
// 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.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur;
public class Force3 extends CommandBase {
private Lanceur lanceur;
private Accumulateur accumulateur;
GenericEntry force3;
/** Creates a new Force1. */
public Force3(Lanceur lanceur,GenericEntry force3, Accumulateur accumulateur) {
/** Creates a new LancerTest. */
public Force3(Lanceur lanceur, GenericEntry force3) {
this.lanceur = lanceur;
addRequirements(lanceur, accumulateur);
this.force3 = force3;
this.accumulateur = accumulateur;
addRequirements(lanceur);
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0, 0, 0);
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
lanceur.lancer(0.4);
}
double vitesse = (300);
lanceur.lancer(force3.getDouble(300));
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);
}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return false;
}
}
}

View File

@ -3,59 +3,41 @@
// 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.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur;
public class Force4 extends CommandBase {
private Lanceur lanceur;
private Accumulateur accumulateur;
GenericEntry force4;
/** Creates a new Force1. */
public Force4(Lanceur lanceur,GenericEntry force4, Accumulateur accumulateur) {
/** Creates a new LancerTest. */
public Force4(Lanceur lanceur, GenericEntry force4) {
this.lanceur = lanceur;
addRequirements(lanceur, accumulateur);
this.force4 = force4;
this.accumulateur = accumulateur;
addRequirements(lanceur);
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0, 0, 0);
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
double vitesse = (400);
lanceur.lancer(force4.getDouble(400));
if (lanceur.vitesse() > vitesse ){
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
lanceur.lancer(0.45);
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) {
lanceur.stop();
accumulateur.stop();
lanceur.lancer(0);
}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return lanceur.distance()>1;
return false;
}
}

View File

@ -3,59 +3,41 @@
// 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.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur;
public class Force5 extends CommandBase {
private Lanceur lanceur;
private Accumulateur accumulateur;
GenericEntry force5;
/** Creates a new Force1. */
public Force5(Lanceur lanceur,GenericEntry force5, Accumulateur accumulateur) {
/** Creates a new LancerTest. */
public Force5(Lanceur lanceur, GenericEntry force5) {
this.lanceur = lanceur;
addRequirements(lanceur, accumulateur);
this.force5 = force5;
this.accumulateur = accumulateur;
addRequirements(lanceur);
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0, 0, 0);
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
double vitesse = (500);
lanceur.lancer(force5.getDouble(500));
if (lanceur.vitesse() > vitesse ){
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
lanceur.lancer(0.5);
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) {
lanceur.stop();
accumulateur.stop();
lanceur.lancer(0);
}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return lanceur.distance()>1;
return false;
}
}

View File

@ -3,58 +3,41 @@
// 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.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur;
public class Force6 extends CommandBase {
private Lanceur lanceur;
private Accumulateur accumulateur;
GenericEntry force6;
/** Creates a new Force1. */
public Force6(Lanceur lanceur, GenericEntry force6, Accumulateur accumulateur) {
/** Creates a new LancerTest. */
public Force6(Lanceur lanceur, GenericEntry force6) {
this.lanceur = lanceur;
addRequirements(lanceur, accumulateur);
this.force6 = force6;
this.accumulateur = accumulateur;
addRequirements(lanceur);
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0, 0, 0);
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
double vitesse = (600);
lanceur.lancer(force6.getDouble(600));
if (lanceur.vitesse() > vitesse ){
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
lanceur.lancer(0.55);
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) {
lanceur.stop();
accumulateur.stop();
lanceur.lancer(0);
}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return lanceur.distance()>1;
return false;
}
}

View File

@ -3,56 +3,41 @@
// 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.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur;
public class Force7 extends CommandBase {
private Lanceur lanceur;
private Accumulateur accumulateur;
GenericEntry force7;
/** Creates a new Force1. */
public Force7(Lanceur lanceur,GenericEntry force7, Accumulateur accumulateur) {
/** Creates a new LancerTest. */
public Force7(Lanceur lanceur, GenericEntry force7) {
this.lanceur = lanceur;
addRequirements(lanceur, accumulateur);
this.force7 = force7;
this.accumulateur = accumulateur;
addRequirements(lanceur);
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0, 0, 0);
lanceur.setPID(0.000000000000075572, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
double vitesse = (700);
lanceur.lancer(force7.getDouble(700));
if (lanceur.vitesse() > vitesse ){
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
lanceur.lancer(0.6);
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) {
lanceur.stop();
accumulateur.stop();
lanceur.lancer(0);
}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return lanceur.distance()>1;
return false;
}
}

View File

@ -1,7 +1,7 @@
// 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.networktables.GenericEntry;
@ -12,13 +12,13 @@ import frc.robot.subsystems.Accumulateur;
import frc.robot.subsystems.Lanceur;
public class Lancer extends ParallelCommandGroup {
private Lanceur lanceur;
private Accumulateur accumulateur;
// private Lanceur lanceur;
// private Accumulateur accumulateur;
public Lancer(Lanceur lanceur,Accumulateur accumulateur,GenericEntry vitesse) {
this.lanceur = lanceur;
this.accumulateur = accumulateur;
// this.lanceur = lanceur;
// this.accumulateur = accumulateur;
// Add your commands in the addCommands() call, e.g.
// addCommands(new FooCommand(), new BarCommand());
@ -27,3 +27,4 @@ public class Lancer extends ParallelCommandGroup {
new AccAvancer(accumulateur),new AccReculer(accumulateur));
}
}
*/

View File

@ -1,7 +1,7 @@
// 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;
@ -9,7 +9,7 @@ import frc.robot.subsystems.Lanceur;
public class Lancez extends CommandBase {
private Lanceur lanceur;
/** Creates a new Lancez. */
/** Creates a new Lancez.
public Lancez(Lanceur lanceur) {
this.lanceur = lanceur;
addRequirements(lanceur);
@ -19,7 +19,7 @@ public class Lancez extends CommandBase {
// Called when the command is initially scheduled.
@Override
public void initialize() {
lanceur.setPID(0, 0, 0);
lanceur.setPID(0.19166, 0, 0);
}
// Called every time the scheduler runs while the command is scheduled.
@ -43,3 +43,4 @@ public class Lancez extends CommandBase {
return false;
}
}
*/

View File

@ -15,14 +15,17 @@ import edu.wpi.first.wpilibj2.command.SubsystemBase;
import frc.robot.Constants;
public class Lanceur extends SubsystemBase {
ShuffleboardTab dash2 = Shuffleboard.getTab("Dashboard2.0");
ShuffleboardTab dashboard = Shuffleboard.getTab("Dashboard");
ShuffleboardLayout pid = Shuffleboard.getTab("Dashboard")
.getLayout("Pid", BuiltInLayouts.kList)
.withSize(3, 7);
//ShuffleboardLayout pid = Shuffleboard.getTab("Dashboard")
//.getLayout("Pid", BuiltInLayouts.kList)
//.withSize(3, 7);
public Lanceur(){
pid.add("p", 1);
pid.add("i", 2);
pid.add("d", 3);
dash2.add("test", 1);
dashboard.add("p", 1);
dashboard.add("i", 2);
dashboard.add("d", 3);
}
final CANSparkMax lanceur = new CANSparkMax(Constants.lanceur, MotorType.kBrushless);