public class StartEndCommand extends CommandBase
A command that runs a given runnable when it is initialized, and another runnable when it ends. Useful for running and then stopping a motor, or extending and then retracting a solenoid. Has no end condition as-is; either subclass it or use
Command.withInterrupt(java.util.function.BooleanSupplier)to give it one.
Methods inherited from class edu.wpi.first.wpilibj2.command.CommandBase
addRequirements, getName, getRequirements, getSubsystem, initSendable, setName, setSubsystem, withName
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.wpi.first.wpilibj2.command.Command
alongWith, andThen, andThen, asProxy, beforeStarting, cancel, deadlineWith, execute, hasRequirement, isFinished, isScheduled, perpetually, raceWith, runsWhenDisabled, schedule, schedule, withInterrupt, withTimeout
Creates a new StartEndCommand. Will run the given runnables when the command starts and when it ends.
onInit- the Runnable to run on command init
onEnd- the Runnable to run on command end
requirements- the subsystems required by this command
public void initialize()Description copied from interface:
CommandThe initial subroutine of a command. Called once when the command is initially scheduled.
public void end(boolean interrupted)Description copied from interface:
CommandThe action to take when the command ends. Called when either the command finishes normally, or when it interrupted/canceled.
Do not schedule commands here that share requirements with this command. Use
interrupted- whether the command was interrupted/canceled