diff --git a/simgui-ds.json b/simgui-ds.json index 4a63cc1..1ba71ce 100644 --- a/simgui-ds.json +++ b/simgui-ds.json @@ -1,4 +1,9 @@ { + "Joysticks": { + "window": { + "visible": false + } + }, "System Joysticks": { "window": { "enabled": false diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index f7f97dc..bb49f9f 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -102,4 +102,4 @@ public class RobotContainer { }),autoChooser.getSelected(), new RainBow(bougie)); } -} \ No newline at end of file +} diff --git a/src/main/java/frc/robot/commands/Algue1Test.java b/src/main/java/frc/robot/commands/Algue1Test.java new file mode 100644 index 0000000..f79faa6 --- /dev/null +++ b/src/main/java/frc/robot/commands/Algue1Test.java @@ -0,0 +1,41 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 Algue1Test extends Command { + private Pince pince; + /** Creates a new AlgueTest. */ + public Algue1Test(Pince pince) { + this.pince = pince; + addRequirements(pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + pince.algue1Test(0.2); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.algue1Test(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/Algue2Test.java b/src/main/java/frc/robot/commands/Algue2Test.java new file mode 100644 index 0000000..5f0e758 --- /dev/null +++ b/src/main/java/frc/robot/commands/Algue2Test.java @@ -0,0 +1,41 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 Algue2Test extends Command { + private Pince pince; + /** Creates a new AlgueTest. */ + public Algue2Test(Pince pince) { + this.pince = pince; + addRequirements(pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + pince.algue2Test(0.2); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.algue2Test(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/AlgueExpire.java b/src/main/java/frc/robot/commands/AlgueExpire.java new file mode 100644 index 0000000..49606d7 --- /dev/null +++ b/src/main/java/frc/robot/commands/AlgueExpire.java @@ -0,0 +1,51 @@ +// 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.Command; +import frc.robot.subsystems.Bougie; +import frc.robot.subsystems.Pince; + +/* 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 AlgueExpire extends Command { + private Pince pince; + private Bougie bougie; + /** Creates a new CoralAlgue. */ + public AlgueExpire(Pince pince,Bougie bougie) { + this.pince = pince; + this.bougie = bougie; + addRequirements(pince,bougie); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(pince.emperagealgue()>60){ + pince.aspirealgue(-0.5); + } + else{ + pince.aspirealgue(-0.5); + bougie.Jaune(); + } + + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.aspirealgue(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/CorailAspir.java b/src/main/java/frc/robot/commands/CorailAspir.java new file mode 100644 index 0000000..8199c75 --- /dev/null +++ b/src/main/java/frc/robot/commands/CorailAspir.java @@ -0,0 +1,42 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 CorailAspir extends Command { + /** Creates a new CorailAspir. */ + private Pince pince; + public CorailAspir(Pince pince) { + // Use addRequirements() here to declare subsystem dependencies. + this.pince = pince; + addRequirements(pince); + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + + pince.aspirecoral(0.5); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.aspirecoral(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/CorailTest.java b/src/main/java/frc/robot/commands/CorailTest.java new file mode 100644 index 0000000..5e947d2 --- /dev/null +++ b/src/main/java/frc/robot/commands/CorailTest.java @@ -0,0 +1,41 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 CorailTest extends Command { + private Pince pince; + /** Creates a new AlgueTest. */ + public CorailTest(Pince pince) { + this.pince = pince; + addRequirements(pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + pince.aspirecoral(0.2); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.aspirecoral(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/CoralAlgueInspire.java b/src/main/java/frc/robot/commands/CoralAlgueInspire.java new file mode 100644 index 0000000..b64185b --- /dev/null +++ b/src/main/java/frc/robot/commands/CoralAlgueInspire.java @@ -0,0 +1,53 @@ +// 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.Command; +import frc.robot.subsystems.Bougie; +import frc.robot.subsystems.Pince; + +/* 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 CoralAlgueInspire extends Command { + private Pince pince; + private Bougie bougie; + /** Creates a new CoralAlgue. */ + public CoralAlgueInspire(Pince pince, Bougie bougie) { + this.pince = pince; + this.bougie = bougie; + addRequirements(pince,bougie); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + pince.aspirecoral(-.5); + if(pince.emperagealgue()>60){ + pince.aspirealgue(0); + bougie.Bleu(); + } + else{ + pince.aspirealgue(0.5); + } + + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.aspirecoral(0); + pince.aspirealgue(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/CoralExpire.java b/src/main/java/frc/robot/commands/CoralExpire.java new file mode 100644 index 0000000..0879f50 --- /dev/null +++ b/src/main/java/frc/robot/commands/CoralExpire.java @@ -0,0 +1,49 @@ +// 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.Command; +import frc.robot.subsystems.Pince; +import frc.robot.subsystems.Bougie; +/* 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 CoralExpire extends Command { + private Pince pince; + Bougie bougie; + /** Creates a new CoralAlgue. */ + public CoralExpire(Pince pince, Bougie bougie) { + this.pince = pince; + this.bougie = bougie; + addRequirements(pince,bougie); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + //if(pince.emperagecoral() > 60){ + // pince.aspirecoral(0); + //} + //else{ + pince.aspirecoral(-.5); + //bougie.Jaune(); + // } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.aspirecoral(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/Depart.java b/src/main/java/frc/robot/commands/Depart.java new file mode 100644 index 0000000..f5322dd --- /dev/null +++ b/src/main/java/frc/robot/commands/Depart.java @@ -0,0 +1,52 @@ +// 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.Command; +import frc.robot.subsystems.Elevateur; +import frc.robot.subsystems.Pince; + +/* 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 Depart extends Command { + private Elevateur elevateur; + private Pince pince; + /** Creates a new L2. */ + public Depart(Elevateur elevateur, Pince pince) { + this.pince = pince; + this.elevateur = elevateur; + addRequirements(elevateur,pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(elevateur.limit2()==true){ + elevateur.vitesse(0); + elevateur.reset(); + } + else{ + elevateur.vitesse(.5); + } + + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + elevateur.vitesse(0); + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return elevateur.limit2()==true; + } +} diff --git a/src/main/java/frc/robot/commands/DepartPince.java b/src/main/java/frc/robot/commands/DepartPince.java new file mode 100644 index 0000000..12a69dd --- /dev/null +++ b/src/main/java/frc/robot/commands/DepartPince.java @@ -0,0 +1,47 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 DepartPince extends Command { + private Pince pince; + /** Creates a new DepartPince. */ + public DepartPince(Pince pince) { + this.pince = pince; + addRequirements(pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(pince.position()==true){ + pince.pivote(0); + pince.reset(); + } + else{ + pince.pivote(.2); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/ElevateurManuel.java b/src/main/java/frc/robot/commands/ElevateurManuel.java new file mode 100644 index 0000000..2eb17ab --- /dev/null +++ b/src/main/java/frc/robot/commands/ElevateurManuel.java @@ -0,0 +1,48 @@ +// 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 java.util.function.DoubleSupplier; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.Elevateur; + +/* 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 ElevateurManuel extends Command { + private DoubleSupplier doubleSupplier; + private Elevateur elevateur; + /** Creates a new ElevateurManuel. */ + public ElevateurManuel(Elevateur elevateur,DoubleSupplier doubleSupplier) { + this.doubleSupplier = doubleSupplier; + this.elevateur = elevateur; + addRequirements(elevateur); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(elevateur.limit2()==true){ + elevateur.vitesse(0); + } + elevateur.vitesse(doubleSupplier.getAsDouble()/7); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + elevateur.vitesse(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/L2.java b/src/main/java/frc/robot/commands/L2.java new file mode 100644 index 0000000..0cc7048 --- /dev/null +++ b/src/main/java/frc/robot/commands/L2.java @@ -0,0 +1,65 @@ +// 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.Command; + +import frc.robot.subsystems.Elevateur; +import frc.robot.subsystems.Pince; + +/* 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 L2 extends Command { + private Elevateur elevateur; + private Pince pince; + /** Creates a new L2. */ + public L2(Elevateur elevateur,Pince pince) { + this.elevateur = elevateur; + this.pince = pince; + addRequirements(elevateur,pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(elevateur.position()>=500 && elevateur.position()<=510){ + elevateur.vitesse(0); + } + else if(elevateur.position()>=510){ + elevateur.vitesse(0.3); + } + else{ + elevateur.vitesse(.3); + } + if(pince.encodeurpivot()>=500 && pince.encodeurpivot()<=510){ + pince.pivote(0); + + } + else if(pince.encodeurpivot()>=510){ + pince.pivote(0.2); + } + else{ + pince.pivote(-0.2); + } + + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + elevateur.vitesse(0); + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/L3.java b/src/main/java/frc/robot/commands/L3.java new file mode 100644 index 0000000..a0fc189 --- /dev/null +++ b/src/main/java/frc/robot/commands/L3.java @@ -0,0 +1,63 @@ +// 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.Command; + +import frc.robot.subsystems.Elevateur; +import frc.robot.subsystems.Pince; + +/* 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 L3 extends Command { + private Elevateur elevateur; + private Pince pince; + /** Creates a new L2. */ + public L3(Elevateur elevateur,Pince pince) { + this.elevateur = elevateur; + this.pince = pince; + addRequirements(elevateur,pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(elevateur.position()>=700 && elevateur.position()<=710){ + elevateur.vitesse(0); + } + else if(elevateur.position()>=510){ + elevateur.vitesse(0.5); + } + else{ + elevateur.vitesse(-.5); + } + if(pince.encodeurpivot()>=700 && pince.encodeurpivot()<=710){ + pince.pivote(0); + } + else if(pince.encodeurpivot()>=710){ + pince.pivote(0.2); + } + else{ + pince.pivote(-0.2); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + elevateur.vitesse(0); + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/L4.java b/src/main/java/frc/robot/commands/L4.java new file mode 100644 index 0000000..5bec009 --- /dev/null +++ b/src/main/java/frc/robot/commands/L4.java @@ -0,0 +1,63 @@ +// 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.Command; + +import frc.robot.subsystems.Elevateur; +import frc.robot.subsystems.Pince; + +/* 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 L4 extends Command { + private Elevateur elevateur; + private Pince pince; + /** Creates a new L2. */ + public L4(Elevateur elevateur,Pince pince) { + this.elevateur = elevateur; + this.pince = pince; + addRequirements(elevateur,pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + if(elevateur.position()>=800 && elevateur.position()<=809){ + elevateur.vitesse(0); + } + else if(elevateur.position()>=810){ + elevateur.vitesse(0.5); + } + else{ + elevateur.vitesse(.5); + } + if(pince.encodeurpivot()>=800 && pince.encodeurpivot()<=809){ + pince.pivote(0); + } + else if(pince.encodeurpivot()>=810){ + pince.pivote(0.2); + } + else{ + pince.pivote(-0.2); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + elevateur.vitesse(0); + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/PinceManuel.java b/src/main/java/frc/robot/commands/PinceManuel.java new file mode 100644 index 0000000..acb39a3 --- /dev/null +++ b/src/main/java/frc/robot/commands/PinceManuel.java @@ -0,0 +1,48 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 PinceManuel extends Command { + private Pince pince; + /** Creates a new PinceManuel. */ + public PinceManuel(Pince pince + //, DoubleSupplier doubleSupplier + ) { + this.pince = pince; + //this.doubleSupplier = doubleSupplier; + addRequirements(pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + // if(pince.position()){ + // pince.pivote(0); + // } + // else{ + pince.pivote(0.2); + // } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/PinceManuel2.java b/src/main/java/frc/robot/commands/PinceManuel2.java new file mode 100644 index 0000000..bf8d1e4 --- /dev/null +++ b/src/main/java/frc/robot/commands/PinceManuel2.java @@ -0,0 +1,47 @@ +// 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.Command; +import frc.robot.subsystems.Pince; + +/* 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 PinceManuel2 extends Command { + private Pince pince; + //private DoubleSupplier doubleSupplier; + /** Creates a new PinceManuel. */ + public PinceManuel2(Pince pince + + //,DoubleSupplier doubleSupplier + ) { + this.pince = pince; + // this.doubleSupplier = doubleSupplier; + addRequirements(pince); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + + pince.pivote(-0.2); + + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.pivote(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/StationPince.java b/src/main/java/frc/robot/commands/StationPince.java new file mode 100644 index 0000000..59527d5 --- /dev/null +++ b/src/main/java/frc/robot/commands/StationPince.java @@ -0,0 +1,64 @@ +// 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.Command; +import frc.robot.subsystems.Elevateur; +import frc.robot.subsystems.Pince; + +/* 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 StationPince extends Command { + + private Pince pince; + private Elevateur elevateur; + /** Creates a new L2Pince. */ + public StationPince(Pince pince,Elevateur elevateur) { + this.elevateur = elevateur; + this.pince = pince; + addRequirements(pince,elevateur); + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + pince.aspirecoral(0.5); + if(pince.encodeurpivot()>=900 && pince.encodeurpivot()<=910){ + pince.pivote(0); + } + else if(pince.encodeurpivot()>=910){ + pince.pivote(0.2); + } + else{ + pince.pivote(-0.2); + } + if(elevateur.position()>=400 && elevateur.position()<=410){ + elevateur.vitesse(0); + } + else if(elevateur.position()>=410){ + elevateur.vitesse(0.3); + } + else{ + elevateur.vitesse(-.3); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + pince.pivote(0); + pince.aspirecoral(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/reset.java b/src/main/java/frc/robot/commands/reset.java new file mode 100644 index 0000000..f49fe97 --- /dev/null +++ b/src/main/java/frc/robot/commands/reset.java @@ -0,0 +1,41 @@ +// 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.Command; +import frc.robot.subsystems.Elevateur; + + + +/* 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 { + /** Creates a new reset. */ + private Elevateur elevateur; + public reset(Elevateur elevateur) { + // Use addRequirements() here to declare subsystem dependencies. + this.elevateur = elevateur; + addRequirements(elevateur); + } + + // Called when the command is initially scheduled. + @Override + public void initialize() {} + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + elevateur.reset(); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) {} + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/subsystems/Bougie.java b/src/main/java/frc/robot/subsystems/Bougie.java index 9876824..02cd2a8 100644 --- a/src/main/java/frc/robot/subsystems/Bougie.java +++ b/src/main/java/frc/robot/subsystems/Bougie.java @@ -11,7 +11,7 @@ import com.ctre.phoenix.led.RainbowAnimation; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Bougie extends SubsystemBase { - CANdle candle = new CANdle(5); + CANdle candle = new CANdle(23); CANdleConfiguration config = new CANdleConfiguration(); RainbowAnimation rainbowAnim = new RainbowAnimation(1, 0.5, 64); /** Creates a new Bougie. */ @@ -20,14 +20,29 @@ public class Bougie extends SubsystemBase { candle.configAllSettings(config); } public void Rouge() { - candle.setLEDs(255, 0, 0); + candle.setLEDs(255, 0, 0,0,8,8); + candle.setLEDs(255, 0, 0,0,24,8); + candle.setLEDs(255, 0, 0,0,40,8); + candle.setLEDs(255, 0, 0,0,56,8); } public void Vert() { - candle.setLEDs(0, 255, 0); + candle.setLEDs(0, 255, 0,0,8,8); + candle.setLEDs(0, 255, 0,0,24,8); + candle.setLEDs(0, 255, 0,0,40,8); + candle.setLEDs(0, 255, 0,0,56,8); } public void Bleu() { - candle.setLEDs(0, 0, 255); + candle.setLEDs(0, 0, 255,0,16,8); + candle.setLEDs(0, 0, 255,0,32,8); + candle.setLEDs(0, 0, 255,0,48,8); + candle.setLEDs(0, 0, 255,0,64,8); } + public void Jaune() { + candle.setLEDs(255, 215, 0,0,16,8); + candle.setLEDs(255, 215, 0,0,32,8); + candle.setLEDs(255, 215, 0,0,48,8); + candle.setLEDs(255, 215, 0,0,64,8); + } public void RainBow(){candle.animate(rainbowAnim);} public void RainBowStop(){candle.animate(null);} @Override @@ -35,4 +50,3 @@ public class Bougie extends SubsystemBase { // This method will be called once per scheduler run } } - diff --git a/src/main/java/frc/robot/subsystems/Elevateur.java b/src/main/java/frc/robot/subsystems/Elevateur.java new file mode 100644 index 0000000..49928f3 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Elevateur.java @@ -0,0 +1,37 @@ +// 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.subsystems; + +import edu.wpi.first.networktables.GenericEntry; +import edu.wpi.first.wpilibj.DigitalInput; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import com.revrobotics.spark.SparkMax; +import com.revrobotics.spark.SparkLowLevel.MotorType; +public class Elevateur extends SubsystemBase { + /** Creates a new Elevateur. */ + public Elevateur() {} + final SparkMax monte = new SparkMax(22, MotorType.kBrushless); + final DigitalInput limit2 = new DigitalInput(1); + GenericEntry teb = Shuffleboard.getTab("teb") + .add("elevateur encodeur",position()) + .getEntry(); + public double position(){ + return monte.getEncoder().getPosition(); + } + public void vitesse(double vitesse){ + monte.set(vitesse); + } + public boolean limit2(){ + return limit2.get(); + } + public void reset(){ + monte.getEncoder().setPosition(0); + } + @Override + public void periodic() { + // This method will be called once per scheduler run + } +} diff --git a/src/main/java/frc/robot/subsystems/Grimpeur.java b/src/main/java/frc/robot/subsystems/Grimpeur.java deleted file mode 100644 index 7e55e0b..0000000 --- a/src/main/java/frc/robot/subsystems/Grimpeur.java +++ /dev/null @@ -1,26 +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.subsystems; - -import edu.wpi.first.wpilibj.DigitalInput; -import edu.wpi.first.wpilibj.motorcontrol.Spark; -import edu.wpi.first.wpilibj2.command.SubsystemBase; - -public class Grimpeur extends SubsystemBase { - /** Creates a new Grimpeur. */ - public Grimpeur() {} - final Spark grimpeur = new Spark(0); - final DigitalInput limit1 = new DigitalInput(0); - public void grimpe(double vitesse){ - grimpeur.set(vitesse); - } - final void stop(){ - limit1.get(); - } - @Override - public void periodic() { - // This method will be called once per scheduler run - } -} diff --git a/src/main/java/frc/robot/subsystems/Pince.java b/src/main/java/frc/robot/subsystems/Pince.java new file mode 100644 index 0000000..8cea49b --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Pince.java @@ -0,0 +1,61 @@ +// 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.subsystems; + +import com.revrobotics.spark.SparkLowLevel.MotorType; +import com.revrobotics.spark.SparkMax; + +import edu.wpi.first.networktables.GenericEntry; +import edu.wpi.first.wpilibj.DigitalInput; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class Pince extends SubsystemBase { + /** Creates a new Pince. */ + public Pince() {} + final SparkMax coral = new SparkMax(20, MotorType.kBrushless); + final SparkMax pivoti = new SparkMax(14, MotorType.kBrushless); + final SparkMax algue1 = new SparkMax(16, MotorType.kBrushless); + final SparkMax algue2 = new SparkMax(19, MotorType.kBrushless); + final DigitalInput limit6 = new DigitalInput(0); + GenericEntry teb = Shuffleboard.getTab("teb") + .add("pince encodeur",encodeurpivot()) + .getEntry(); + public void aspirecoral(double vitesse){ + coral.set(vitesse); + } +public void pivote(double vitesse){ + pivoti.set(vitesse); +} +public void aspirealgue(double vitesse){ + algue2.set(vitesse); + algue1.set(-vitesse); +} +public double encodeurpivot(){ + return pivoti.getEncoder().getPosition(); +} +public boolean position(){ + return limit6.get(); +} +public void reset(){ + pivoti.getEncoder().setPosition(0); +} +public double emperagecoral(){ + return coral.getOutputCurrent(); +} +public double emperagealgue(){ + return algue1.getOutputCurrent(); +} +public void algue1Test(double vitesse){ + algue1.set(vitesse); +} +public void algue2Test(double vitesse){ + algue2.set(vitesse); +} + @Override + public void periodic() { + // This method will be called once per scheduler run + } +}