Package edu.wpi.first.wpilibj2.command
Class Commands
java.lang.Object
edu.wpi.first.wpilibj2.command.Commands
public final class Commands extends Object
Namespace for command factory methods.
For convenience, you might want to static import the members of this class.
-
Method Summary
Modifier and Type Method Description static Command
deadline(Command deadline, Command... otherCommands)
Runs a group of commands at the same time.static Command
defer(Supplier<Command> supplier, Set<Subsystem> requirements)
Runs the command supplied by the supplier.static Command
deferredProxy(Supplier<Command> supplier)
Deprecated, for removal: This API element is subject to removal in a future version.The ProxyCommand supplier constructor has been deprecated in favor of directly proxying aDeferredCommand
, see ProxyCommand documentaion for more details.static Command
either(Command onTrue, Command onFalse, BooleanSupplier selector)
Runs one of two commands, based on the boolean selector function.static Command
idle(Subsystem... requirements)
Constructs a command that does nothing until interrupted.static Command
none()
Constructs a command that does nothing, finishing immediately.static Command
parallel(Command... commands)
Runs a group of commands at the same time.static Command
print(String message)
Constructs a command that prints a message and finishes.static Command
race(Command... commands)
Runs a group of commands at the same time.static Command
repeatingSequence(Command... commands)
Runs a group of commands in series, one after the other.static Command
run(Runnable action, Subsystem... requirements)
Constructs a command that runs an action every iteration until interrupted.static Command
runEnd(Runnable run, Runnable end, Subsystem... requirements)
Constructs a command that runs an action every iteration until interrupted, and then runs a second action.static Command
runOnce(Runnable action, Subsystem... requirements)
Constructs a command that runs an action once and finishes.static <K> Command
select(Map<K,Command> commands, Supplier<? extends K> selector)
Runs one of several commands, based on the selector function.static Command
sequence(Command... commands)
Runs a group of commands in series, one after the other.static Command
startEnd(Runnable start, Runnable end, Subsystem... requirements)
Constructs a command that runs an action once and another action when the command is interrupted.static Command
waitSeconds(double seconds)
Constructs a command that does nothing, finishing after a specified duration.static Command
waitTime(Measure<Time> time)
Constructs a command that does nothing, finishing after a specified duration.static Command
waitUntil(BooleanSupplier condition)
Constructs a command that does nothing, finishing once a condition becomes true.
-
Method Details
-
none
Constructs a command that does nothing, finishing immediately.- Returns:
- the command
-
idle
Constructs a command that does nothing until interrupted.- Parameters:
requirements
- Subsystems to require- Returns:
- the command
-
runOnce
Constructs a command that runs an action once and finishes.- Parameters:
action
- the action to runrequirements
- subsystems the action requires- Returns:
- the command
- See Also:
InstantCommand
-
run
Constructs a command that runs an action every iteration until interrupted.- Parameters:
action
- the action to runrequirements
- subsystems the action requires- Returns:
- the command
- See Also:
RunCommand
-
startEnd
Constructs a command that runs an action once and another action when the command is interrupted.- Parameters:
start
- the action to run on startend
- the action to run on interruptrequirements
- subsystems the action requires- Returns:
- the command
- See Also:
StartEndCommand
-
runEnd
Constructs a command that runs an action every iteration until interrupted, and then runs a second action.- Parameters:
run
- the action to run every iterationend
- the action to run on interruptrequirements
- subsystems the action requires- Returns:
- the command
-
print
Constructs a command that prints a message and finishes.- Parameters:
message
- the message to print- Returns:
- the command
- See Also:
PrintCommand
-
waitSeconds
Constructs a command that does nothing, finishing after a specified duration.- Parameters:
seconds
- after how long the command finishes- Returns:
- the command
- See Also:
WaitCommand
-
waitTime
Constructs a command that does nothing, finishing after a specified duration.- Parameters:
time
- after how long the command finishes- Returns:
- the command
- See Also:
WaitCommand
-
waitUntil
Constructs a command that does nothing, finishing once a condition becomes true.- Parameters:
condition
- the condition- Returns:
- the command
- See Also:
WaitUntilCommand
-
either
Runs one of two commands, based on the boolean selector function.- Parameters:
onTrue
- the command to run if the selector function returns trueonFalse
- the command to run if the selector function returns falseselector
- the selector function- Returns:
- the command
- See Also:
ConditionalCommand
-
select
Runs one of several commands, based on the selector function.- Type Parameters:
K
- The type of key used to select the command- Parameters:
selector
- the selector functioncommands
- map of commands to select from- Returns:
- the command
- See Also:
SelectCommand
-
defer
Runs the command supplied by the supplier.- Parameters:
supplier
- the command supplierrequirements
- the set of requirements for this command- Returns:
- the command
- See Also:
DeferredCommand
-
deferredProxy
@Deprecated(since="2025", forRemoval=true) public static Command deferredProxy(Supplier<Command> supplier)Deprecated, for removal: This API element is subject to removal in a future version.The ProxyCommand supplier constructor has been deprecated in favor of directly proxying aDeferredCommand
, see ProxyCommand documentaion for more details. As a replacement, consider using `defer(supplier).asProxy()`.Constructs a command that schedules the command returned from the supplier when initialized, and ends when it is no longer scheduled. The supplier is called when the command is initialized.- Parameters:
supplier
- the command supplier- Returns:
- the command
- See Also:
ProxyCommand
-
sequence
Runs a group of commands in series, one after the other.- Parameters:
commands
- the commands to include- Returns:
- the command group
- See Also:
SequentialCommandGroup
-
repeatingSequence
Runs a group of commands in series, one after the other. Once the last command ends, the group is restarted.- Parameters:
commands
- the commands to include- Returns:
- the command group
- See Also:
SequentialCommandGroup
,Command.repeatedly()
-
parallel
Runs a group of commands at the same time. Ends once all commands in the group finish.- Parameters:
commands
- the commands to include- Returns:
- the command
- See Also:
ParallelCommandGroup
-
race
Runs a group of commands at the same time. Ends once any command in the group finishes, and cancels the others.- Parameters:
commands
- the commands to include- Returns:
- the command group
- See Also:
ParallelRaceGroup
-
deadline
Runs a group of commands at the same time. Ends once a specific command finishes, and cancels the others.- Parameters:
deadline
- the deadline commandotherCommands
- the other commands to include- Returns:
- the command group
- Throws:
IllegalArgumentException
- if the deadline command is also in the otherCommands argument- See Also:
ParallelDeadlineGroup
-