Package edu.wpi.first.wpilibj2.command
Class StartEndCommand
java.lang.Object
edu.wpi.first.wpilibj2.command.CommandBase
edu.wpi.first.wpilibj2.command.StartEndCommand
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.withTimeout(double) or Command.withInterrupt(java.util.function.BooleanSupplier) to give it one.-
Field Summary
-
Constructor Summary
Constructors Constructor Description StartEndCommand(Runnable onInit, Runnable onEnd, Subsystem... requirements)Creates a new StartEndCommand. -
Method Summary
Modifier and Type Method Description voidend(boolean interrupted)The action to take when the command ends.voidinitialize()The initial subroutine of a command.Methods inherited from class edu.wpi.first.wpilibj2.command.CommandBase
addRequirements, getName, getRequirements, getSubsystem, initSendable, setName, setSubsystem, withNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface edu.wpi.first.wpilibj2.command.Command
alongWith, andThen, andThen, asProxy, beforeStarting, beforeStarting, cancel, deadlineWith, execute, hasRequirement, isFinished, isScheduled, perpetually, raceWith, runsWhenDisabled, schedule, schedule, withInterrupt, withTimeout
-
Field Details
-
Constructor Details
-
StartEndCommand
Creates a new StartEndCommand. Will run the given runnables when the command starts and when it ends.- Parameters:
onInit- the Runnable to run on command initonEnd- the Runnable to run on command endrequirements- the subsystems required by this command
-
-
Method Details
-
initialize
Description copied from interface:CommandThe initial subroutine of a command. Called once when the command is initially scheduled. -
end
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
Command.andThen(Command...)instead.- Parameters:
interrupted- whether the command was interrupted/canceled
-