|
WPILibC++
2020.3.2
|
Runs one of two commands, depending on the value of the given condition when this command is initialized. More...
#include <ConditionalCommand.h>
Public Member Functions | |
| template<class T1 , class T2 , typename = std::enable_if_t< std::is_base_of_v<Command, std::remove_reference_t<T1>>>, typename = std::enable_if_t< std::is_base_of_v<Command, std::remove_reference_t<T2>>>> | |
| ConditionalCommand (T1 &&onTrue, T2 &&onFalse, std::function< bool()> condition) | |
| Creates a new ConditionalCommand. More... | |
| ConditionalCommand (std::unique_ptr< Command > &&onTrue, std::unique_ptr< Command > &&onFalse, std::function< bool()> condition) | |
| Creates a new ConditionalCommand. More... | |
| ConditionalCommand (ConditionalCommand &&other)=default | |
| ConditionalCommand (const ConditionalCommand &other)=delete | |
| 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... | |
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 Member Functions inherited from frc2::CommandHelper< CommandBase, ConditionalCommand > | |
| 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... | |
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 two commands, depending on the value of the given condition when this command is initialized.
Does not actually schedule the selected command
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 ConditionalCommand.
| onTrue | the command to run if the condition is true |
| onFalse | the command to run if the condition is false |
| condition | the condition to determine which command to run |
| frc2::ConditionalCommand::ConditionalCommand | ( | std::unique_ptr< Command > && | onTrue, |
| std::unique_ptr< Command > && | onFalse, | ||
| std::function< bool()> | condition | ||
| ) |
Creates a new ConditionalCommand.
| onTrue | the command to run if the condition is true |
| onFalse | the command to run if the condition is false |
| condition | the condition to determine which command to run |
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
Whether the command has finished.
Once a command finishes, the scheduler will call its end() method and un-schedule it.
Reimplemented from frc2::Command.
|
overridevirtual |
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.