diff --git a/src/main/LimelightHelpers.java b/src/main/java/frc/robot/LimelightHelpers.java similarity index 100% rename from src/main/LimelightHelpers.java rename to src/main/java/frc/robot/LimelightHelpers.java diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index b22c47b..7303389 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -45,7 +45,11 @@ public class RobotContainer { },drive)); } - private void configureBindings() {} + private void configureBindings() { + + + + } public Command getAutonomousCommand() { return Commands.print("No autonomous command configured"); diff --git a/src/main/java/frc/robot/command/Balayer.java b/src/main/java/frc/robot/command/Balayer.java index d4e9972..d13cb6d 100644 --- a/src/main/java/frc/robot/command/Balayer.java +++ b/src/main/java/frc/robot/command/Balayer.java @@ -13,11 +13,9 @@ public class Balayer extends Command { private Accumulateur accumulateur; /** Creates a new Balayer. */ public Balayer(Balayeuse balayeuse, Accumulateur accumulateur) { - this.balayeuse = balayeuse; - addRequirements(balayeuse, accumulateur); + this.balayeuse = balayeuse; + addRequirements(balayeuse, accumulateur);} // Use addRequirements() here to declare subsystem dependencies. - } - // Called when the command is initially scheduled. @Override public void initialize() {} @@ -25,16 +23,26 @@ public class Balayer extends Command { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - + if(accumulateur.limitswitch()){ + balayeuse.balaye(0); + accumulateur.Accumuler(0); } + else{ + balayeuse.balaye(0.6); + accumulateur.Accumuler(0.6); + } +} // Called once the command ends or is interrupted. @Override - public void end(boolean interrupted) {} + public void end(boolean interrupted) { + balayeuse.balaye(0); + accumulateur.Accumuler(0); + } // Returns true when the command should end. @Override public boolean isFinished() { - return false; + return accumulateur.limitswitch()==true; } } diff --git a/src/main/java/frc/robot/command/Deaccumuler.java b/src/main/java/frc/robot/command/Deaccumuler.java new file mode 100644 index 0000000..68e16ba --- /dev/null +++ b/src/main/java/frc/robot/command/Deaccumuler.java @@ -0,0 +1,40 @@ +// 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.command; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystem.Accumulateur; + +public class Deaccumuler extends Command { + private Accumulateur accumulateur; + /** Creates a new Deaccumuler. */ + public Deaccumuler(Accumulateur accumulateur) { + // Use addRequirements() here to declare subsystem dependencies. + this.accumulateur = accumulateur; + addRequirements(accumulateur); + } + + // 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() { + accumulateur.Accumuler(0.5); + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + accumulateur.Accumuler(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/command/Debalayer.java b/src/main/java/frc/robot/command/Debalayer.java new file mode 100644 index 0000000..1ec655c --- /dev/null +++ b/src/main/java/frc/robot/command/Debalayer.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.command; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystem.Accumulateur; +import frc.robot.subsystem.Balayeuse; + +public class Debalayer extends Command { + private Balayeuse balayeuse; + private Accumulateur accumulateur; + /** Creates a new Balayer. */ + public Debalayer(Balayeuse balayeuse, Accumulateur accumulateur) { + this.balayeuse = balayeuse; + addRequirements(balayeuse, accumulateur);} + // 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() { + balayeuse.balaye(-0.6); + accumulateur.Accumuler(-0.6); +} + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + balayeuse.balaye(0); + accumulateur.Accumuler(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/command/Lancer.java b/src/main/java/frc/robot/command/Lancer.java index feea8c0..804f019 100644 --- a/src/main/java/frc/robot/command/Lancer.java +++ b/src/main/java/frc/robot/command/Lancer.java @@ -4,12 +4,22 @@ package frc.robot.command; +import com.revrobotics.CANSparkMax; + import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystem.Accumulateur; +import frc.robot.subsystem.Lanceur; public class Lancer extends Command { /** Creates a new Lanceur. */ + + private Lanceur lancer; + private Lanceur lancer2; + private Lanceur lancer3; + private Lanceur lancer4; public Lancer() { // Use addRequirements() here to declare subsystem dependencies. + addRequirements(lancer,lancer2,lancer3,lancer4); } // Called when the command is initially scheduled. @@ -18,11 +28,15 @@ public class Lancer extends Command { // Called every time the scheduler runs while the command is scheduled. @Override - public void execute() {} + public void execute() { + lancer.lancer(0.3); + } // Called once the command ends or is interrupted. @Override - public void end(boolean interrupted) {} + public void end(boolean interrupted) { + lancer.lancer(0); + } // Returns true when the command should end. @Override diff --git a/src/main/java/frc/robot/subsystem/Accumulateur.java b/src/main/java/frc/robot/subsystem/Accumulateur.java index 23038ca..2ae3c97 100644 --- a/src/main/java/frc/robot/subsystem/Accumulateur.java +++ b/src/main/java/frc/robot/subsystem/Accumulateur.java @@ -9,22 +9,35 @@ import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX; import edu.wpi.first.wpilibj.DigitalInput; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.robot.Constants; +import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard;import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; +import edu.wpi.first.wpilibj.shuffleboard.BuiltInLayouts; +import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardLayout; public class Accumulateur extends SubsystemBase { /** Creates a new Accumulateur. */ - + ShuffleboardTab dashboard = Shuffleboard.getTab("dashboard"); final WPI_TalonSRX Moteuracc2 = new WPI_TalonSRX(Constants.Moteuracc2); final WPI_TalonSRX Moteuracc = new WPI_TalonSRX(Constants.Moteuracc); - final DigitalInput limitacc = new DigitalInput(Constants.limitacc); - final DigitalInput limitacc2 = new DigitalInput(Constants.limitacc2); - public void Deaccumuler(double vitesse){Moteuracc2.set(vitesse);} - public void moteuraccfollow(){Moteuracc.follow(Moteuracc2); Moteuracc.setInverted(true);} - public boolean limitswitch1(){return limitacc.get();} - public boolean limitswitch2(){return limitacc2.get();} - public Accumulateur() {} - public void Accumuler(double vitesse){Moteuracc.set(vitesse);} - public void Accumuler2(double vitesse){Moteuracc2.set(vitesse);} + final DigitalInput limitacc = new DigitalInput(Constants.limitacc); + + public void Deaccumuler(double vitesse){ + Moteuracc2.set(vitesse); + } + public void moteuraccfollow(){ + Moteuracc.follow(Moteuracc2); + Moteuracc.setInverted(true); + } + public boolean limitswitch(){ + return limitacc.get(); + } + public Accumulateur() { + dashboard.addBoolean("limitacc", this::limitswitch); + } + public void Accumuler(double vitesse){ + Moteuracc.set(vitesse); + Moteuracc2.set(vitesse); + } @Override public void periodic() { diff --git a/src/main/java/frc/robot/subsystem/Balayeuse.java b/src/main/java/frc/robot/subsystem/Balayeuse.java index 625bb2d..8fc5987 100644 --- a/src/main/java/frc/robot/subsystem/Balayeuse.java +++ b/src/main/java/frc/robot/subsystem/Balayeuse.java @@ -15,10 +15,19 @@ public class Balayeuse extends SubsystemBase { public Balayeuse() {} final WPI_TalonSRX roue = new WPI_TalonSRX(Constants.roue); - final TalonSRX etoile = new TalonSRX(Constants.etoile); + final WPI_TalonSRX etoile = new WPI_TalonSRX(Constants.etoile); - public void Accumulation(double vitesse){roue.set(vitesse);} - public void balayeuse(){etoile.follow(roue); etoile.setInverted(true);} + public void Accumulation(double vitesse){ + roue.set(vitesse); + } + public void balayeuse(){ + etoile.follow(roue); + etoile.setInverted(true); + } + public void balaye(double vitesse){ + roue.set(vitesse); + etoile.set(vitesse); + } @Override public void periodic() { // This method will be called once per scheduler run diff --git a/src/main/java/frc/robot/subsystem/Lanceur.java b/src/main/java/frc/robot/subsystem/Lanceur.java index 260f263..7ae2c2c 100644 --- a/src/main/java/frc/robot/subsystem/Lanceur.java +++ b/src/main/java/frc/robot/subsystem/Lanceur.java @@ -18,13 +18,13 @@ public class Lanceur extends SubsystemBase { public Lanceur() {} final CANSparkMax lancer = new CANSparkMax(Constants.lanceur, MotorType.kBrushless); final CANSparkMax lancer2 = new CANSparkMax(Constants.lancer2, MotorType.kBrushless); - final CANSparkMax lancer3 = new CANSparkMax(Constants.lanceur, MotorType.kBrushless); - final CANSparkMax lancer4 = new CANSparkMax(Constants.lancer2, MotorType.kBrushless); + final CANSparkMax lancer3 = new CANSparkMax(Constants.lancer3, MotorType.kBrushless); + final CANSparkMax lancer4 = new CANSparkMax(Constants.lancer4, MotorType.kBrushless); - public void lancer(double vitesse){ - lancer.set(vitesse); + public void lancer(double vitesse){ + lancer.set(vitesse); } - public void lanceur(){ + public void lanceur(){ lancer2.follow(lancer); lancer3.follow(lancer); lancer4.follow(lancer); diff --git a/src/main/java/frc/robot/subsystem/Limelight.java b/src/main/java/frc/robot/subsystem/Limelight.java index ab82165..e26d582 100644 --- a/src/main/java/frc/robot/subsystem/Limelight.java +++ b/src/main/java/frc/robot/subsystem/Limelight.java @@ -4,13 +4,21 @@ package frc.robot.subsystem; +import edu.wpi.first.networktables.NetworkTableInstance; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.LimelightHelpers; + public class Limelight extends SubsystemBase { /** Creates a new Limelight. */ public Limelight() { - - } + + boolean tv = LimelightHelpers.getTV("No_name"); + + double tx = LimelightHelpers.getTX("No_name"); + double ty = LimelightHelpers.getTY("No_name"); + double ta = LimelightHelpers.getTA("No_name"); +} @Override