AdvancingCommand

A Command that advances through a list of commands

Author

BeepBot99

Throws

if the command returned by advance or retreat is called before a state has been added

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

Whether this command can be stopped due to a conflict of Subsystems.

Link copied to clipboard
open override var isDone: Boolean

Whether this command has completed running. Often implemented using a getter function, although it can be set directly for commands that stop instantly or never stop. Please note that in certain circumstances the command will be stopped before this evaluates to true, most notably during subsystem conflicts or when the OpMode has been stopped.

Link copied to clipboard

A set of all Subsystems this command implements.

Functions

Link copied to clipboard

Adds a new command to the advancing command

Link copied to clipboard

Advances to the next command, looping back if it's on the last command

Link copied to clipboard

Returns a SequentialGroup with a Delay and then this command

Link copied to clipboard
fun and(vararg commands: Command): ParallelGroup

Returns a ParallelGroup with this command and an arbitrary number of other commands

Link copied to clipboard

Returns a ParallelDeadlineGroup with this command as the deadline

Link copied to clipboard

Stops the state machine

Link copied to clipboard

Returns a ParallelRaceGroup with this command and a Delay of time

Link copied to clipboard
operator fun invoke()

Allows you to directly "call" a command

Link copied to clipboard

Returns a PerpetualCommand that wraps this command

Link copied to clipboard
fun raceWith(vararg commands: Command): ParallelRaceGroup

Returns a ParallelRaceGroup with this command and an arbitrary number of other commands

Link copied to clipboard

Retreats to the previous command, looping back if it's on the first command

Link copied to clipboard
fun setState(state: () -> Int): InstantCommand

Sets the state of the state machine

Link copied to clipboard
open override fun start()

Called once when the command is first started

Link copied to clipboard
fun state(state: Int, command: Command): StateMachineCommand<Int>
fun state(state: Int, commandFactory: (StateMachineCommand<Int>) -> Command): StateMachineCommand<Int>

Adds a new state to the state machine

Link copied to clipboard
open override fun stop(interrupted: Boolean)

Called once when the command is stopped.

Link copied to clipboard
fun then(vararg commands: Command): SequentialGroup

Returns a SequentialGroup with this command and an arbitrary number of other commands

Link copied to clipboard

Returns a SequentialGroup with this command and then a Delay

Link copied to clipboard
open override fun update()

Called repeatedly while the command is running.

Link copied to clipboard

Returns a ParallelDeadlineGroup with this command and the passed command as the deadline