WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
MotorSafetyHelper Class Reference
Inheritance diagram for MotorSafetyHelper:
ErrorBase

Public Member Functions

 MotorSafetyHelper (MotorSafety *safeObject)
 The constructor for a MotorSafetyHelper object. More...
 
void Feed ()
 Feed the motor safety object. More...
 
void SetExpiration (float expirationTime)
 Set the expiration time for the corresponding motor safety object. More...
 
float GetExpiration () const
 Retrieve the timeout value for the corresponding motor safety object. More...
 
bool IsAlive () const
 Determine if the motor is still operating or has timed out. More...
 
void Check ()
 Check if this motor has exceeded its timeout. More...
 
void SetSafetyEnabled (bool enabled)
 Enable/disable motor safety for this device Turn on and off the motor safety option for this PWM object. More...
 
bool IsSafetyEnabled () const
 Return the state of the motor safety enabled flag Return if the motor safety is currently enabled for this devicce. 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...
 

Static Public Member Functions

static void CheckMotors ()
 Check the motors to see if any have timed out. More...
 
- 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.
 

Additional Inherited Members

- Protected Attributes inherited from ErrorBase
Error m_error
 
- Static Protected Attributes inherited from ErrorBase
static priority_mutex _globalErrorMutex
 
static Error _globalError
 

Constructor & Destructor Documentation

MotorSafetyHelper::MotorSafetyHelper ( MotorSafety safeObject)

The constructor for a MotorSafetyHelper object.

The helper object is constructed for every object that wants to implement the Motor Safety protocol. The helper object has the code to actually do the timing and call the motors Stop() method when the timeout expires. The motor object is expected to call the Feed() method whenever the motors value is updated.

Parameters
safeObjecta pointer to the motor object implementing MotorSafety. This is used to call the Stop() method on the motor.

Member Function Documentation

void MotorSafetyHelper::Check ( )

Check if this motor has exceeded its timeout.

This method is called periodically to determine if this motor has exceeded its timeout value. If it has, the stop method is called, and the motor is shut down until its value is updated again.

void MotorSafetyHelper::CheckMotors ( )
static

Check the motors to see if any have timed out.

This static method is called periodically to poll all the motors and stop any that have timed out.

void MotorSafetyHelper::Feed ( )

Feed the motor safety object.

Resets the timer on this object that is used to do the timeouts.

float MotorSafetyHelper::GetExpiration ( ) const

Retrieve the timeout value for the corresponding motor safety object.

Returns
the timeout value in seconds.
bool MotorSafetyHelper::IsAlive ( ) const

Determine if the motor is still operating or has timed out.

Returns
a true value if the motor is still operating normally and hasn't timed out.
bool MotorSafetyHelper::IsSafetyEnabled ( ) const

Return the state of the motor safety enabled flag Return if the motor safety is currently enabled for this devicce.

Returns
True if motor safety is enforced for this device
void MotorSafetyHelper::SetExpiration ( float  expirationTime)

Set the expiration time for the corresponding motor safety object.

Parameters
expirationTimeThe timeout value in seconds.
void MotorSafetyHelper::SetSafetyEnabled ( bool  enabled)

Enable/disable motor safety for this device Turn on and off the motor safety option for this PWM object.

Parameters
enabledTrue if motor safety is enforced for this object

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