DeferredCommand

class commands2.DeferredCommand(*args, **kwargs)[source]

Bases: Command

Defers Command construction to runtime. Runs the command returned by the supplier when this command is initialized, and ends when it ends. Useful for performing runtime tasks before creating a new command. If this command is interrupted, it will cancel the command.

Note that the supplier must create a new Command each call. For selecting one of a preallocated set of commands, use commands2.SelectCommand.

Parameters:
  • supplier – The command supplier

  • requirements – The command requirements.

end(interrupted)[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

execute()[source]

The main body of a command. Called repeatedly while the command is scheduled.

initSendable(builder: wpiutil._wpiutil.SendableBuilder) None[source]

Initializes this Sendable object.

Parameters:

builder – sendable builder

initialize()[source]

The initial subroutine of a command. Called once when the command is initially scheduled.

isFinished()[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.