Merge branch 'Dashboard'

This commit is contained in:
Olivier Dubois 2023-11-15 18:18:02 -05:00
commit 02fd58f4f2
9 changed files with 107 additions and 78 deletions

View File

@ -3,8 +3,13 @@
// the WPILib BSD license file in the root directory of this project. // the WPILib BSD license file in the root directory of this project.
package frc.robot; package frc.robot;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj.Joystick; import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.XboxController; import edu.wpi.first.wpilibj.XboxController;
import edu.wpi.first.wpilibj.shuffleboard.BuiltInLayouts;
import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard;
import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardLayout;
import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab;
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.RunCommand; import edu.wpi.first.wpilibj2.command.RunCommand;
@ -14,10 +19,22 @@ import edu.wpi.first.wpilibj2.command.button.JoystickButton;
import frc.robot.subsystems.Drive; import frc.robot.subsystems.Drive;
public class RobotContainer { public class RobotContainer {
ShuffleboardTab dashboard = Shuffleboard.getTab("Dashboard");
ShuffleboardLayout forces = Shuffleboard.getTab("Dashboard")
.getLayout("limitswitchsgratte", BuiltInLayouts.kList)
.withSize(3, 7);
GenericEntry force1 = forces.add("Force1", 0).getEntry();
GenericEntry force2 = forces.add("Force2", 0).getEntry();
GenericEntry force3 = forces.add("Force3", 0).getEntry();
GenericEntry force4 = forces.add("Force4", 0).getEntry();
GenericEntry force5 = forces.add("Force5", 0).getEntry();
GenericEntry force6 = forces.add("Force6", 0).getEntry();
GenericEntry force7 = forces.add("Force7", 0).getEntry();
CommandXboxController manette = new CommandXboxController(0); CommandXboxController manette = new CommandXboxController(0);
Joystick joystick1 = new Joystick(0); Joystick joystick1 = new Joystick(0);
Drive drive = new Drive(); Drive drive = new Drive();
public RobotContainer() { public RobotContainer() {
configureBindings(); configureBindings();
// drive.setDefaultCommand(new RunCommand(()->{ // drive.setDefaultCommand(new RunCommand(()->{
// drive.drive(manette.getLeftX(), manette.getLeftY(), manette.getRightX()); // drive.drive(manette.getLeftX(), manette.getLeftY(), manette.getRightX());

View File

@ -3,20 +3,22 @@
// the WPILib BSD license file in the root directory of this project. // the WPILib BSD license file in the root directory of this project.
package frc.robot.commands; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
public class Force1 extends CommandBase { public class Force1 extends CommandBase {
private Lanceur lanceur; private Lanceur lanceur;
private Accumulateur accumulateur; GenericEntry force1;
public void Lancer(Lanceur lanceur) { /** Creates a new Force1. */
public Force1(Lanceur lanceur, GenericEntry force1) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.accumulateur = accumulateur; addRequirements(lanceur);
addRequirements(lanceur , accumulateur); this.force1 = force1;
// Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -28,32 +30,19 @@ public class Force1 extends CommandBase {
// 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 vitesse = SmartDashboard.getNumber("Force Lanceur", 100); lanceur.lancer(force1.getDouble(0));
lanceur.lancer(200);
if (lanceur.vitesse() > vitesse ){
if(accumulateur.tourneavant() < 1024){
accumulateur.Deaccumuler();
}
if(accumulateur.tournearriere()<-256){
accumulateur.reaccumuler();
}
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override
public void end(boolean interrupted) { public void end(boolean interrupted) {
lanceur.stop(); lanceur.lancer(0);
accumulateur.stop();
} }
// Returns true when the command should end. // Returns true when the command should end.
@Override @Override
public boolean isFinished() { public boolean isFinished() {
return lanceur.distance()>1; return false;
} }
} }

View File

@ -2,25 +2,19 @@
// Open Source Software; you can modify and/or share it under the terms of // 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. // 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; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
public class Force2 extends CommandBase { public class Force2 extends CommandBase {
private Lanceur lanceur; private Lanceur lanceur;
private Accumulateur accumulateur;
public void Lancer(Lanceur lanceur) { /** Creates a new Force1. */
public Force2(Lanceur lancer) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.accumulateur = accumulateur; addRequirements(lanceur);
addRequirements(lanceur , accumulateur); // Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -32,27 +26,18 @@ public class Force2 extends CommandBase {
// 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 vitesse = SmartDashboard.getNumber("Force Lanceur", 200); lanceur.lancer(500);
lanceur.lancer(200);
if (lanceur.vitesse() > vitesse ){
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override
public void end(boolean interrupted) { public void end(boolean interrupted) {
lanceur.stop(); lanceur.lancer(0);
accumulateur.stop();
} }
// Returns true when the command should end. // Returns true when the command should end.
@Override @Override
public boolean isFinished() { public boolean isFinished() {
return lanceur.distance()>1; return false;
} }
} }

View File

@ -9,6 +9,8 @@
package frc.robot.commands; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur; import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
@ -20,7 +22,15 @@ public class Force3 extends CommandBase {
public void Lancer(Lanceur lanceur) { public void Lancer(Lanceur lanceur) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.accumulateur = accumulateur; this.accumulateur = accumulateur;
addRequirements(lanceur , accumulateur); addRequirements(lanceur , accumulateur);}
GenericEntry force3;
/** Creates a new Force1. */
public Force3(Lanceur lanceur,GenericEntry force3) {
this.lanceur = lanceur;
addRequirements(lanceur);
this.force3 = force3;
// Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -32,27 +42,14 @@ public class Force3 extends CommandBase {
// 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 vitesse = SmartDashboard.getNumber("Force Lanceur", 300); double vitesse = SmartDashboard.getNumber("Force Lanceur", 300);
lanceur.lancer(200); lanceur.lancer(200);
if (lanceur.vitesse() > vitesse ){ lanceur.lancer(force3.getDouble(0));}
accumulateur.tourneavant();
accumulateur.tournearriere();
} else {
accumulateur.stop();
}
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) { public void end(boolean interrupted) {
lanceur.stop();
accumulateur.stop();
} }
// Returns true when the command should end.
@Override @Override
public boolean isFinished() { public boolean isFinished() {
return lanceur.distance()>1; return false;
} }
} }

View File

@ -5,6 +5,8 @@
package frc.robot.commands; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur; import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
@ -16,7 +18,14 @@ public class Force4 extends CommandBase {
public void Lancer(Lanceur lanceur) { public void Lancer(Lanceur lanceur) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.accumulateur = accumulateur; this.accumulateur = accumulateur;
addRequirements(lanceur , accumulateur); addRequirements(lanceur , accumulateur);}
GenericEntry force4;
/** Creates a new Force1. */
public Force4(Lanceur lanceur,GenericEntry force4) {
this.lanceur = lanceur;
addRequirements(lanceur);
this.force4 = force4;
// Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -37,6 +46,7 @@ public class Force4 extends CommandBase {
accumulateur.stop(); accumulateur.stop();
} }
lanceur.lancer(force4.getDouble(0));
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -5,6 +5,8 @@
package frc.robot.commands; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur; import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
@ -16,7 +18,14 @@ public class Force5 extends CommandBase {
public void Lancer(Lanceur lanceur) { public void Lancer(Lanceur lanceur) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.accumulateur = accumulateur; this.accumulateur = accumulateur;
addRequirements(lanceur , accumulateur); addRequirements(lanceur , accumulateur);}
GenericEntry force5;
/** Creates a new Force1. */
public Force5(Lanceur lanceur,GenericEntry force5) {
this.lanceur = lanceur;
addRequirements(lanceur);
this.force5 = force5;
// Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -37,6 +46,7 @@ public class Force5 extends CommandBase {
accumulateur.stop(); accumulateur.stop();
} }
lanceur.lancer(force5.getDouble(0));
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -5,6 +5,8 @@
package frc.robot.commands; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur; import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
@ -18,6 +20,14 @@ public class Force6 extends CommandBase {
this.accumulateur = accumulateur; this.accumulateur = accumulateur;
addRequirements(lanceur , accumulateur); addRequirements(lanceur , accumulateur);
} }
GenericEntry force6;
/** Creates a new Force1. */
public Force6(Lanceur lanceur, GenericEntry force6) {
this.lanceur = lanceur;
addRequirements(lanceur);
this.force6 = force6;
// Use addRequirements() here to declare subsystem dependencies.
}
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@Override @Override
@ -37,6 +47,7 @@ public class Force6 extends CommandBase {
accumulateur.stop(); accumulateur.stop();
} }
lanceur.lancer(force6.getDouble(0));
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -5,6 +5,8 @@
package frc.robot.commands; package frc.robot.commands;
import frc.robot.subsystems.Accumulateur; import frc.robot.subsystems.Accumulateur;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.wpilibj2.command.CommandBase; import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.Lanceur; import frc.robot.subsystems.Lanceur;
@ -16,7 +18,14 @@ public class Force7 extends CommandBase {
public void Lancer(Lanceur lanceur) { public void Lancer(Lanceur lanceur) {
this.lanceur = lanceur; this.lanceur = lanceur;
this.accumulateur = accumulateur; this.accumulateur = accumulateur;
addRequirements(lanceur , accumulateur); addRequirements(lanceur , accumulateur);}
GenericEntry force7;
/** Creates a new Force1. */
public Force7(Lanceur lanceur,GenericEntry force7) {
this.lanceur = lanceur;
addRequirements(lanceur);
this.force7 = force7;
// Use addRequirements() here to declare subsystem dependencies.
} }
// Called when the command is initially scheduled. // Called when the command is initially scheduled.
@ -37,6 +46,7 @@ public class Force7 extends CommandBase {
accumulateur.stop(); accumulateur.stop();
} }
lanceur.lancer(force7.getDouble(0));
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -6,14 +6,14 @@ package frc.robot.subsystems;
import com.revrobotics.CANSparkMax; import com.revrobotics.CANSparkMax;
import com.revrobotics.CANSparkMaxLowLevel.MotorType; import com.revrobotics.CANSparkMaxLowLevel.MotorType;
import edu.wpi.first.wpilibj2.command.SubsystemBase; import edu.wpi.first.wpilibj2.command.SubsystemBase;
import frc.robot.Constants; import frc.robot.Constants;
public class Lanceur extends SubsystemBase { public class Lanceur extends SubsystemBase {
final CANSparkMax lanceur = new CANSparkMax(Constants.lanceur, MotorType.kBrushless);
public Lanceur(){} public Lanceur(){}
final CANSparkMax lanceur = new CANSparkMax(Constants.lanceur, MotorType.kBrushless);
public void lancer(double vitesse){ public void lancer(double vitesse){
lanceur.set(vitesse); lanceur.set(vitesse);