|
WPILibC++
2020.3.2
|
Runs one of a selection of commands, either using a selector and a key to command mapping, or a supplier that returns the command directly at runtime. More...
#include <SelectCommand.h>
Public Member Functions | |
| template<class... Types, typename = std::enable_if_t<std::conjunction_v< std::is_base_of<Command, std::remove_reference_t<Types>>...>>> | |
| SelectCommand (std::function< Key()> selector, std::pair< Key, Types >... commands) | |
| Creates a new selectcommand. More... | |
| SelectCommand (std::function< Key()> selector, std::vector< std::pair< Key, std::unique_ptr< Command >>> &&commands) | |
| SelectCommand (const SelectCommand &other)=delete | |
| SelectCommand (SelectCommand &)=delete | |
| SelectCommand (std::function< Command *()> toRun) | |
| Creates a new selectcommand. More... | |
| SelectCommand (SelectCommand &&other)=default | |
| void | Initialize () override |
| The initial subroutine of a command. More... | |
| void | Execute () override |
| The main body of a command. More... | |
| void | End (bool interrupted) override |
| The action to take when the command ends. More... | |
| bool | IsFinished () override |
| Whether the command has finished. More... | |
| bool | RunsWhenDisabled () const override |
| Whether the given command should run when the robot is disabled. More... | |
Public Member Functions inherited from frc2::CommandBase | |
| void | AddRequirements (std::initializer_list< Subsystem * > requirements) |
| Adds the specified requirements to the command. More... | |
| void | AddRequirements (wpi::ArrayRef< Subsystem * > requirements) |
| Adds the specified requirements to the command. More... | |
| void | AddRequirements (wpi::SmallSet< Subsystem *, 4 > requirements) |
| wpi::SmallSet< Subsystem *, 4 > | GetRequirements () const override |
| Specifies the set of subsystems used by this command. More... | |
| void | SetName (const wpi::Twine &name) |
| Sets the name of this Command. More... | |
| std::string | GetName () const override |
| Gets the name of this Command. More... | |
| std::string | GetSubsystem () const |
| Gets the subsystem name of this Command. More... | |
| void | SetSubsystem (const wpi::Twine &subsystem) |
| Sets the subsystem name of this Command. More... | |
| void | InitSendable (frc::SendableBuilder &builder) override |
| Initializes this Sendable object. More... | |
Public Member Functions inherited from frc2::Command | |
| Command (const Command &) | |
| Command & | operator= (const Command &) |
| Command (Command &&)=default | |
| Command & | operator= (Command &&)=default |
| ParallelRaceGroup | WithTimeout (units::second_t duration) && |
| Decorates this command with a timeout. More... | |
| ParallelRaceGroup | WithInterrupt (std::function< bool()> condition) && |
| Decorates this command with an interrupt condition. More... | |
| SequentialCommandGroup | BeforeStarting (std::function< void()> toRun, std::initializer_list< Subsystem * > requirements) && |
| Decorates this command with a runnable to run before this command starts. More... | |
| SequentialCommandGroup | BeforeStarting (std::function< void()> toRun, wpi::ArrayRef< Subsystem * > requirements={}) && |
| Decorates this command with a runnable to run before this command starts. More... | |
| SequentialCommandGroup | AndThen (std::function< void()> toRun, std::initializer_list< Subsystem * > requirements) && |
| Decorates this command with a runnable to run after the command finishes. More... | |
| SequentialCommandGroup | AndThen (std::function< void()> toRun, wpi::ArrayRef< Subsystem * > requirements={}) && |
| Decorates this command with a runnable to run after the command finishes. More... | |
| PerpetualCommand | Perpetually () && |
| Decorates this command to run perpetually, ignoring its ordinary end conditions. More... | |
| ProxyScheduleCommand | AsProxy () |
| Decorates this command to run "by proxy" by wrapping it in a {}. More... | |
| void | Schedule (bool interruptible) |
| Schedules this command. More... | |
| void | Schedule () |
| Schedules this command, defaulting to interruptible. | |
| void | Cancel () |
| Cancels this command. More... | |
| bool | IsScheduled () const |
| Whether or not the command is currently scheduled. More... | |
| bool | HasRequirement (Subsystem *requirement) const |
| Whether the command requires a given subsystem. More... | |
| bool | IsGrouped () const |
| Whether the command is currently grouped in a command group. More... | |
| void | SetGrouped (bool grouped) |
| Sets whether the command is currently grouped in a command group. More... | |
Public Member Functions inherited from frc::ErrorBase | |
| ErrorBase (const ErrorBase &)=default | |
| ErrorBase & | operator= (const ErrorBase &)=default |
| ErrorBase (ErrorBase &&)=default | |
| ErrorBase & | operator= (ErrorBase &&)=default |
| virtual Error & | GetError () |
| Retrieve the current error. More... | |
| virtual const Error & | GetError () const |
| Retrieve the current error. More... | |
| virtual void | ClearError () const |
| Clear the current error information associated with this sensor. | |
| virtual void | SetErrnoError (const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
| Set error information associated with a C library call that set an error to the "errno" global variable. More... | |
| virtual void | SetImaqError (int success, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
| Set the current error information associated from the nivision Imaq API. More... | |
| virtual void | SetError (Error::Code code, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
| Set the current error information associated with this sensor. More... | |
| virtual void | SetErrorRange (Error::Code code, int32_t minRange, int32_t maxRange, int32_t requestedValue, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
| Set the current error information associated with this sensor. More... | |
| virtual void | SetWPIError (const wpi::Twine &errorMessage, Error::Code code, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
| Set the current error information associated with this sensor. More... | |
| virtual void | CloneError (const ErrorBase &rhs) const |
| virtual bool | StatusIsFatal () const |
| Check if the current error code represents a fatal error. More... | |
| void | ClearGlobalErrors () |
| Clear global errors. | |
Public Member Functions inherited from frc::SendableHelper< CommandBase > | |
| SendableHelper (const SendableHelper &rhs)=default | |
| SendableHelper (SendableHelper &&rhs) | |
| SendableHelper & | operator= (const SendableHelper &rhs)=default |
| SendableHelper & | operator= (SendableHelper &&rhs) |
| std::string | GetName () const |
| Gets the name of this Sendable object. More... | |
| void | SetName (const wpi::Twine &name) |
| Sets the name of this Sendable object. More... | |
| void | SetName (const wpi::Twine &subsystem, const wpi::Twine &name) |
| Sets both the subsystem name and device name of this Sendable object. More... | |
| std::string | GetSubsystem () const |
| Gets the subsystem name of this Sendable object. More... | |
| void | SetSubsystem (const wpi::Twine &subsystem) |
| Sets the subsystem name of this Sendable object. More... | |
Protected Member Functions | |
| std::unique_ptr< Command > | TransferOwnership () &&override |
| Transfers ownership of this command to a unique pointer. More... | |
Protected Member Functions inherited from frc2::CommandHelper< CommandBase, SelectCommand< Key > > | |
| std::unique_ptr< Command > | TransferOwnership () &&override |
Protected Member Functions inherited from frc::SendableHelper< CommandBase > | |
| void | SetName (const wpi::Twine &moduleType, int channel) |
| Sets the name of the sensor with a channel number. More... | |
| void | SetName (const wpi::Twine &moduleType, int moduleNumber, int channel) |
| Sets the name of the sensor with a module and channel number. More... | |
| void | AddChild (std::shared_ptr< Sendable > child) |
| Add a child component. More... | |
| void | AddChild (void *child) |
| Add a child component. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from frc::ErrorBase | |
| static void | SetGlobalError (Error::Code code, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) |
| static void | SetGlobalWPIError (const wpi::Twine &errorMessage, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) |
| static Error | GetGlobalError () |
| Retrieve the last global error. | |
| static std::vector< Error > | GetGlobalErrors () |
| Retrieve all global errors. | |
Protected Attributes inherited from frc2::CommandBase | |
| wpi::SmallSet< Subsystem *, 4 > | m_requirements |
Protected Attributes inherited from frc2::Command | |
| bool | m_isGrouped = false |
Protected Attributes inherited from frc::ErrorBase | |
| Error | m_error |
Runs one of a selection of commands, either using a selector and a key to command mapping, or a supplier that returns the command directly at runtime.
Does not actually schedule the selected command - rather, the command is run through this command; this ensures that the command will behave as expected if used as part of a CommandGroup. Requires the requirements of all included commands, again to ensure proper functioning when used in a CommandGroup. If this is undesired, consider using ScheduleCommand.
As this command contains multiple component commands within it, it is technically a command group; the command instances that are passed to it cannot be added to any other groups, or scheduled individually.
As a rule, CommandGroups require the union of the requirements of their component commands.
|
inline |
Creates a new selectcommand.
| commands | the map of commands to choose from |
| selector | the selector to determine which command to run |
|
inlineexplicit |
Creates a new selectcommand.
| toRun | a supplier providing the command to run |
|
inlineoverridevirtual |
The action to take when the command ends.
Called when either the command finishes normally, or when it interrupted/canceled.
| interrupted | whether the command was interrupted/canceled |
Reimplemented from frc2::Command.
|
inlineoverridevirtual |
The main body of a command.
Called repeatedly while the command is scheduled.
Reimplemented from frc2::Command.
|
overridevirtual |
The initial subroutine of a command.
Called once when the command is initially scheduled.
Reimplemented from frc2::Command.
|
inlineoverridevirtual |
Whether the command has finished.
Once a command finishes, the scheduler will call its end() method and un-schedule it.
Reimplemented from frc2::Command.
|
inlineoverridevirtual |
Whether the given command should run when the robot is disabled.
Override to return true if the command should run when disabled.
Reimplemented from frc2::Command.
|
inlineoverrideprotectedvirtual |
Transfers ownership of this command to a unique pointer.
Used for decorator methods.
Implements frc2::Command.