diff --git a/src/main/java/frc/robot/command/BalayeuseHaut.java b/src/main/java/frc/robot/command/BalayeuseHaut.java new file mode 100644 index 0000000..4dc75c8 --- /dev/null +++ b/src/main/java/frc/robot/command/BalayeuseHaut.java @@ -0,0 +1,46 @@ +// 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.subsystems.Requin; + +/* 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 BalayeuseHaut extends Command { + private Requin requin; + /** Creates a new Balayeuse. */ + public BalayeuseHaut(Requin requin) { + this.requin = requin; + addRequirements(requin); + // 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(requin.enHaut()==true){ + requin.rotationer(0); + } + else{ + requin.rotationer(0.5); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + requin.rotationer(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/subsystems/Requin.java b/src/main/java/frc/robot/subsystems/Requin.java new file mode 100644 index 0000000..f200054 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Requin.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.subsystems; + +import com.revrobotics.spark.SparkFlex; +import com.revrobotics.spark.SparkMax; +import com.revrobotics.spark.SparkLowLevel.MotorType; + +import edu.wpi.first.wpilibj.DigitalInput; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class Requin extends SubsystemBase { + /** Creates a new Requin. */ + public Requin() {} + final SparkFlex balaye = new SparkFlex(0, MotorType.kBrushless); + final SparkMax rotatione = new SparkMax(0, MotorType.kBrushless); + final DigitalInput limit3 = new DigitalInput(0); + final DigitalInput limit4 = new DigitalInput(0); + final DigitalInput limit5 = new DigitalInput(0); + public void balaye(double vitesse){ + balaye.set(vitesse); + } + public void rotationer(double vitesse){ + rotatione.set(vitesse); + } + public boolean enHaut(){ + return limit3.get(); + } + public boolean enBas(){ + return limit4.get(); + } + public boolean stop(){ + return limit5.get(); + } + @Override + public void periodic() { + // This method will be called once per scheduler run + } +}