samuel desharnais a1062d3ae3 yfcghjhfhcgvnm
2023-04-12 19:35:44 -04:00

50 lines
1.4 KiB
Java

// 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.CommandBase;
import frc.robot.subsystems.BasePilotable;
public class Reculer extends CommandBase {
BasePilotable basePilotable;
DoubleSupplier distance;
DoubleSupplier force;
/** Creates a new Reculer. */
public Reculer(BasePilotable basePilotable, DoubleSupplier distance,DoubleSupplier force) {
this.basePilotable = basePilotable;
this.distance = distance;
this.force = force;
// Use addRequirements() here to declare subsystem dependencies.
addRequirements(basePilotable);
}
// Called when the command is initially scheduled.
@Override
public void initialize() {
basePilotable.Reset();
}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
basePilotable.drive(force.getAsDouble(),0);
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) {
basePilotable.drive(0,0);
}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return basePilotable.distance()<distance.getAsDouble();
}
}