FunctionalCommand
- class commands2.FunctionalCommand(*args, **kwargs)[source]
Bases:
Command
A command that allows the user to pass in functions for each of the basic command methods through the constructor. Useful for inline definitions of complex commands - note, however, that if a command is beyond a certain complexity it is usually better practice to write a proper class for it than to inline it.
Creates a new FunctionalCommand.
- Parameters:
onInit – the function to run on command initialization
onExecute – the function to run on command execution
onEnd – the function to run on command end
isFinished – the function that determines whether the command has finished
requirements – the subsystems required by this command
- end(interrupted: bool)[source]
The 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
andThen()
instead.- Parameters:
interrupted – whether the command was interrupted/canceled
- initialize()[source]
The initial subroutine of a command. Called once when the command is initially scheduled.
- isFinished() bool [source]
Whether the command has finished. Once a command finishes, the scheduler will call its
commands2.Command.end()
method and un-schedule it.- Returns:
whether the command has finished.