diff --git a/src/main/java/frc/robot/commands/Grimper.java b/src/main/java/frc/robot/commands/Grimper.java new file mode 100644 index 0000000..11c4304 --- /dev/null +++ b/src/main/java/frc/robot/commands/Grimper.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.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.Grimpeur; + +/* 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 Grimper extends Command { + private Grimpeur grimpeur; + /** Creates a new Grimper. */ + public Grimper(Grimper grimper) { + this.grimpeur = new Grimpeur(); + addRequirements(grimpeur); + // 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(grimpeur.stop()==true){ + grimpeur.grimpe(0); + } + else{ + grimpeur.grimpe(0.5); + } + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + grimpeur.grimpe(0); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return grimpeur.stop()==true; + } +} diff --git a/src/main/java/frc/robot/subsystems/Grimpeur.java b/src/main/java/frc/robot/subsystems/Grimpeur.java index 7e55e0b..826da60 100644 --- a/src/main/java/frc/robot/subsystems/Grimpeur.java +++ b/src/main/java/frc/robot/subsystems/Grimpeur.java @@ -16,8 +16,8 @@ public class Grimpeur extends SubsystemBase { public void grimpe(double vitesse){ grimpeur.set(vitesse); } - final void stop(){ - limit1.get(); + public boolean stop(){ + return limit1.get(); } @Override public void periodic() {