WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
PIDCommand Class Referenceabstract
Inheritance diagram for PIDCommand:
Command PIDOutput PIDSource ErrorBase NamedSendable ITableListener Sendable

Public Member Functions

 PIDCommand (const std::string &name, double p, double i, double d)
 
 PIDCommand (const std::string &name, double p, double i, double d, double period)
 
 PIDCommand (const std::string &name, double p, double i, double d, double f, double period)
 
 PIDCommand (double p, double i, double d)
 
 PIDCommand (double p, double i, double d, double period)
 
 PIDCommand (double p, double i, double d, double f, double period)
 
void SetSetpointRelative (double deltaSetpoint)
 
virtual void PIDWrite (float output)
 
virtual double PIDGet ()
 
virtual void InitTable (std::shared_ptr< ITable > table)
 Initializes a table for this sendable object. More...
 
virtual std::string GetSmartDashboardType () const
 
- Public Member Functions inherited from Command
 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...
 
CommandGroupGetGroup () 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 The ID is a unique sequence number that is incremented for each command. More...
 
virtual std::string GetName () const
 
virtual std::shared_ptr< ITableGetTable () const
 
virtual void ValueChanged (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, bool isNew)
 Called when a key-value pair is changed in a ITable. More...
 
- Public Member Functions inherited from ErrorBase
 ErrorBase (const ErrorBase &)=delete
 
ErrorBaseoperator= (const ErrorBase &)=delete
 
virtual ErrorGetError ()
 Retrieve the current error. More...
 
virtual const ErrorGetError () const
 
virtual void SetErrnoError (llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, uint32_t 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, uint32_t 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, uint32_t 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, uint32_t 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...
 
- Public Member Functions inherited from ITableListener
virtual void ValueChangedEx (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, unsigned int flags)
 Extended version of ValueChanged. More...
 
- Public Member Functions inherited from PIDSource
virtual void SetPIDSourceType (PIDSourceType pidSource)
 Set which parameter you are using as a process control variable. More...
 
PIDSourceType GetPIDSourceType () const
 

Protected Member Functions

std::shared_ptr< PIDControllerGetPIDController () const
 
virtual void _Initialize ()
 
virtual void _Interrupted ()
 
virtual void _End ()
 
void SetSetpoint (double setpoint)
 
double GetSetpoint () const
 
double GetPosition ()
 
virtual double ReturnPIDInput ()=0
 
virtual void UsePIDOutput (double output)=0
 
- Protected Member Functions inherited from Command
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 ()=0
 The initialize method is called the first time this Command is run after being started.
 
virtual void Execute ()=0
 The execute method is called repeatedly until this Command either finishes or is canceled.
 
virtual bool IsFinished ()=0
 Returns whether this command is finished. More...
 
virtual void End ()=0
 Called when the command ended peacefully. More...
 
virtual void Interrupted ()=0
 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 _Execute ()
 
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

- Public Types inherited from Command
typedef std::set< Subsystem * > SubsystemSet
 
- Static Public Member Functions inherited from ErrorBase
static void SetGlobalError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, uint32_t lineNumber)
 
static void SetGlobalWPIError (llvm::StringRef errorMessage, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, uint32_t lineNumber)
 
static ErrorGetGlobalError ()
 Retrieve the current global error.
 
- Protected Attributes inherited from Command
std::shared_ptr< ITablem_table
 
- Protected Attributes inherited from ErrorBase
Error m_error
 
- Protected Attributes inherited from PIDSource
PIDSourceType m_pidSource = PIDSourceType::kDisplacement
 
- Static Protected Attributes inherited from ErrorBase
static priority_mutex _globalErrorMutex
 
static Error _globalError
 

Member Function Documentation

std::string PIDCommand::GetSmartDashboardType ( ) const
virtual
Returns
the string representation of the named data type that will be used by the smart dashboard for this sendable

Reimplemented from Command.

void PIDCommand::InitTable ( std::shared_ptr< ITable subtable)
virtual

Initializes a table for this sendable object.

Parameters
subtableThe table to put the values in.

Reimplemented from Command.


The documentation for this class was generated from the following files: