WPILibC++
unspecified
|
This command will execute once, then finish immediately afterward. More...
#include <InstantCommand.h>
Public Member Functions | |
InstantCommand (const std::string &name) | |
Creates a new InstantCommand with the given name. More... | |
![]() | |
Command () | |
Creates a new command. More... | |
Command (const std::string &name) | |
Creates a new command with the given name and no timeout. More... | |
Command (double timeout) | |
Creates a new command with the given timeout and a default name. More... | |
Command (const std::string &name, double timeout) | |
Creates a new command with the given name and timeout. More... | |
double | TimeSinceInitialized () const |
Returns the time since this command was initialized (in seconds). More... | |
void | Requires (Subsystem *s) |
This method specifies that the given Subsystem is used by this command. More... | |
bool | IsCanceled () const |
Returns whether or not this has been canceled. More... | |
void | Start () |
Starts up the command. More... | |
bool | Run () |
The run method is used internally to actually run the commands. More... | |
void | Cancel () |
This will cancel the current command. More... | |
bool | IsRunning () const |
Returns whether or not the command is running. More... | |
bool | IsInterruptible () const |
Returns whether or not this command can be interrupted. More... | |
void | SetInterruptible (bool interruptible) |
Sets whether or not this command can be interrupted. More... | |
bool | DoesRequire (Subsystem *subsystem) const |
Checks if the command requires the given Subsystem. More... | |
SubsystemSet | GetRequirements () const |
Returns the requirements (as an std::set of Subsystems pointers) of this command. More... | |
CommandGroup * | GetGroup () const |
Returns the CommandGroup that this command is a part of. More... | |
void | SetRunWhenDisabled (bool run) |
Sets whether or not this Command should run when the robot is disabled. More... | |
bool | WillRunWhenDisabled () const |
Returns whether or not this Command will run when the robot is disabled, or if it will cancel itself. More... | |
int | GetID () const |
Get the ID (sequence number) for this command. More... | |
std::string | GetName () const override |
void | InitTable (std::shared_ptr< ITable > subtable) override |
Initializes a table for this sendable object. More... | |
std::shared_ptr< ITable > | GetTable () const override |
std::string | GetSmartDashboardType () const override |
void | ValueChanged (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, bool isNew) override |
Called when a key-value pair is changed in a ITable. More... | |
![]() | |
ErrorBase (const ErrorBase &)=delete | |
ErrorBase & | operator= (const ErrorBase &)=delete |
virtual Error & | GetError () |
Retrieve the current error. More... | |
virtual const Error & | GetError () const |
virtual void | SetErrnoError (llvm::StringRef contextMessage, llvm::StringRef filename, llvm::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, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated from the nivision Imaq API. More... | |
virtual void | SetError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::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, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetWPIError (llvm::StringRef errorMessage, Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | CloneError (const ErrorBase &rhs) const |
virtual void | ClearError () const |
Clear the current error information associated with this sensor. | |
virtual bool | StatusIsFatal () const |
Check if the current error code represents a fatal error. More... | |
![]() | |
virtual void | ValueChangedEx (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, unsigned int flags) |
Extended version of ValueChanged. More... | |
Protected Member Functions | |
bool | IsFinished () override |
Returns whether this command is finished. More... | |
![]() | |
void | SetTimeout (double timeout) |
Sets the timeout of this command. More... | |
bool | IsTimedOut () const |
Returns whether or not the timeSinceInitialized() method returns a number which is greater than or equal to the timeout for the command. More... | |
bool | AssertUnlocked (const std::string &message) |
If changes are locked, then this will generate a CommandIllegalUse error. More... | |
void | SetParent (CommandGroup *parent) |
Sets the parent of this command. More... | |
virtual void | Initialize () |
The initialize method is called the first time this Command is run after being started. | |
virtual void | Execute () |
The execute method is called repeatedly until this Command either finishes or is canceled. | |
virtual void | End () |
Called when the command ended peacefully. More... | |
virtual void | Interrupted () |
Called when the command ends because somebody called cancel() or another command shared the same requirements as this one, and booted it out. More... | |
virtual void | _Initialize () |
virtual void | _Interrupted () |
virtual void | _Execute () |
virtual void | _End () |
virtual void | _Cancel () |
This works like cancel(), except that it doesn't throw an exception if it is a part of a command group. More... | |
Additional Inherited Members | |
![]() | |
typedef std::set< Subsystem * > | SubsystemSet |
![]() | |
static void | SetGlobalError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static void | SetGlobalWPIError (llvm::StringRef errorMessage, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static Error & | GetGlobalError () |
Retrieve the current global error. | |
![]() | |
std::shared_ptr< ITable > | m_table |
![]() | |
Error | m_error |
![]() | |
static priority_mutex | _globalErrorMutex |
static Error | _globalError |
This command will execute once, then finish immediately afterward.
Subclassing InstantCommand is shorthand for returning true from isFinished.
|
explicit |
Creates a new InstantCommand with the given name.
name | the name for this command |
|
overrideprotectedvirtual |
Returns whether this command is finished.
If it is, then the command will be removed and end() will be called.
It may be useful for a team to reference the isTimedOut() method for time-sensitive commands.
Returning false will result in the command never ending automatically. It may still be cancelled manually or interrupted by another command. Returning true will result in the command executing once and finishing immediately. We recommend using InstantCommand for this.
Implements frc::Command.