Package edu.wpi.first.wpilibj2.command
Class PerpetualCommand
- java.lang.Object
-
- edu.wpi.first.wpilibj2.command.CommandBase
-
- edu.wpi.first.wpilibj2.command.PerpetualCommand
-
public class PerpetualCommand extends CommandBase
A command that runs another command in perpetuity, ignoring that command's end conditions. While this class does not extendCommandGroupBase, it is still considered a CommandGroup, as it allows one to compose another command within it; the command instances that are passed to it cannot be added to any other groups, or scheduled individually.As a rule, CommandGroups require the union of the requirements of their component commands.
-
-
Field Summary
Fields Modifier and Type Field Description protected Commandm_command-
Fields inherited from class edu.wpi.first.wpilibj2.command.CommandBase
m_requirements
-
-
Constructor Summary
Constructors Constructor Description PerpetualCommand(Command command)Creates a new PerpetualCommand.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidend(boolean interrupted)The action to take when the command ends.voidexecute()The main body of a command.voidinitialize()The initial subroutine of a command.booleanrunsWhenDisabled()Whether the given command should run when the robot is disabled.-
Methods inherited from class edu.wpi.first.wpilibj2.command.CommandBase
addRequirements, getName, getRequirements, getSubsystem, initSendable, setName, setSubsystem
-
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, hasRequirement, isFinished, isScheduled, perpetually, raceWith, schedule, schedule, withInterrupt, withTimeout
-
-
-
-
Field Detail
-
m_command
protected final Command m_command
-
-
Constructor Detail
-
PerpetualCommand
public PerpetualCommand(Command command)
Creates a new PerpetualCommand. Will run another command in perpetuity, ignoring that command's end conditions, unless this command itself is interrupted.- Parameters:
command- the command to run perpetually
-
-
Method Detail
-
initialize
public void initialize()
Description copied from interface:CommandThe initial subroutine of a command. Called once when the command is initially scheduled.
-
execute
public void execute()
Description copied from interface:CommandThe main body of a command. Called repeatedly while the command is scheduled.
-
end
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.- Parameters:
interrupted- whether the command was interrupted/canceled
-
runsWhenDisabled
public boolean runsWhenDisabled()
Description copied from interface:CommandWhether the given command should run when the robot is disabled. Override to return true if the command should run when disabled.- Returns:
- whether the command should run when the robot is disabled
-
-