Built-In Commands
| Command Name | Description |
|---|---|
| ConditionalCommand | Runs one of two commands depending on a condition. |
| DeadlineCommandGroup | Runs multiple commands in parallel, ending when one specific command finishes. |
| ParallelCommandGroup | Runs multiple commands in parallel until all of them finish. |
| ParallelRaceGroup | Runs multiple commands in parallel, but ends when any command finishes. |
| ProxyCommand | Defers command creation until runtime, useful for dynamic behaviors. |
| RepeatCommand | Repeats a command a given number of times (or indefinitely). |
| RunnableCommand | Wraps a lambda or function as a one-off command. |
| SequentialCommandGroup | Runs a list of commands in sequence, one after the other. |
| SwitchCommand | Chooses which command to run at runtime based on a key or condition. |
| WaitCommand | Waits for a fixed amount of time before finishing. |
| WaitUntilCommand | Waits until a condition is met before finishing. |
These building blocks let you focus on describing what your robot should do, instead of writing boilerplate control logic for every loop in your OpMode.
Command-Based OpModes
CommandKit ships with generic command-based extensions of the default FTCLinearOpMode.
If you don’t want to create your own abstract OpMode base, you can use one of these directly:
CommandOpMode– A Java-friendly base OpMode that integrates with theCommandScheduler.DSLOpMode– A Kotlin-friendly base OpMode that provides a DSL for defining and scheduling commands.