#include <SafePWM.h>


Public Member Functions | |
| SafePWM (UINT32 channel) | |
| SafePWM (UINT8 moduleNumber, UINT32 channel) | |
| void | SetExpiration (float timeout) |
| float | GetExpiration () |
| bool | IsAlive () |
| void | StopMotor () |
| bool | IsSafetyEnabled () |
| void | SetSafetyEnabled (bool enabled) |
| void | GetDescription (char *desc) |
| virtual void | SetSpeed (float speed) |
Public Member Functions inherited from PWM | |
| PWM (UINT32 channel) | |
| PWM (UINT8 moduleNumber, UINT32 channel) | |
| virtual | ~PWM () |
| virtual void | SetRaw (UINT8 value) |
| virtual UINT8 | GetRaw () |
| void | SetPeriodMultiplier (PeriodMultiplier mult) |
| void | EnableDeadbandElimination (bool eliminateDeadband) |
| void | SetBounds (INT32 max, INT32 deadbandMax, INT32 center, INT32 deadbandMin, INT32 min) |
| UINT32 | GetChannel () |
| UINT32 | GetModuleNumber () |
Public Member Functions inherited from SensorBase | |
| SensorBase () | |
| virtual | ~SensorBase () |
Public Member Functions inherited from ErrorBase | |
| virtual Error & | GetError () |
| Retrieve the current error. Get the current error information associated with this sensor. | |
| virtual const Error & | GetError () const |
| virtual void | SetErrnoError (const char *contextMessage, const char *filename, const char *function, UINT32 lineNumber) const |
| Set error information associated with a C library call that set an error to the "errno" global variable. | |
| virtual void | SetImaqError (int success, const char *contextMessage, const char *filename, const char *function, UINT32 lineNumber) const |
| Set the current error information associated from the nivision Imaq API. | |
| virtual void | SetError (Error::Code code, const char *contextMessage, const char *filename, const char *function, UINT32 lineNumber) const |
| Set the current error information associated with this sensor. | |
| virtual void | SetWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, UINT32 lineNumber) const |
| Set the current error information associated with this sensor. | |
| virtual void | CloneError (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. | |
Additional Inherited Members | |
Public Types inherited from PWM | |
| enum | PeriodMultiplier { kPeriodMultiplier_1X = 1, kPeriodMultiplier_2X = 2, kPeriodMultiplier_4X = 4 } |
Static Public Member Functions inherited from SensorBase | |
| static void | DeleteSingletons () |
| static UINT32 | GetDefaultAnalogModule () |
| static UINT32 | GetDefaultDigitalModule () |
| static UINT32 | GetDefaultSolenoidModule () |
| static bool | CheckAnalogModule (UINT8 moduleNumber) |
| static bool | CheckDigitalModule (UINT8 moduleNumber) |
| static bool | CheckPWMModule (UINT8 moduleNumber) |
| static bool | CheckRelayModule (UINT8 moduleNumber) |
| static bool | CheckSolenoidModule (UINT8 moduleNumber) |
| static bool | CheckDigitalChannel (UINT32 channel) |
| static bool | CheckRelayChannel (UINT32 channel) |
| static bool | CheckPWMChannel (UINT32 channel) |
| static bool | CheckAnalogChannel (UINT32 channel) |
| static bool | CheckSolenoidChannel (UINT32 channel) |
Static Public Attributes inherited from SensorBase | |
| static const UINT32 | kSystemClockTicksPerMicrosecond = 40 |
| static const UINT32 | kDigitalChannels = 14 |
| static const UINT32 | kAnalogChannels = 8 |
| static const UINT32 | kAnalogModules = 2 |
| static const UINT32 | kDigitalModules = 2 |
| static const UINT32 | kSolenoidChannels = 8 |
| static const UINT32 | kSolenoidModules = 2 |
| static const UINT32 | kPwmChannels = 10 |
| static const UINT32 | kRelayChannels = 8 |
| static const UINT32 | kChassisSlots = 8 |
Protected Member Functions inherited from PWM | |
| virtual void | SetPosition (float pos) |
| virtual float | GetPosition () |
| virtual float | GetSpeed () |
| void | ValueChanged (ITable *source, const std::string &key, EntryValue value, bool isNew) |
| void | UpdateTable () |
| void | StartLiveWindowMode () |
| void | StopLiveWindowMode () |
| std::string | GetSmartDashboardType () |
| void | InitTable (ITable *subTable) |
| ITable * | GetTable () |
Protected Attributes inherited from PWM | |
| bool | m_eliminateDeadband |
| INT32 | m_maxPwm |
| INT32 | m_deadbandMaxPwm |
| INT32 | m_centerPwm |
| INT32 | m_deadbandMinPwm |
| INT32 | m_minPwm |
| ITable * | m_table |
Static Protected Attributes inherited from PWM | |
| static const UINT32 | kDefaultPwmPeriod = 774 |
| static const UINT32 | kDefaultMinPwmHigh = 102 |
| static const INT32 | kPwmDisabled = 0 |
A safe version of the PWM class. It is safe because it implements the MotorSafety interface that provides timeouts in the event that the motor value is not updated before the expiration time. This delegates the actual work to a MotorSafetyHelper object that is used for all objects that implement MotorSafety.
|
explicit |
Constructor for a SafePWM object taking a channel number
| channel | The channel number to be used for the underlying PWM object |
Definition at line 24 of file SafePWM.cpp.
| SafePWM::SafePWM | ( | UINT8 | moduleNumber, |
| UINT32 | channel | ||
| ) |
Constructor for a SafePWM object taking channel and slot numbers.
| moduleNumber | The digital module (1 or 2). |
| channel | The PWM channel number on the module (1..10). |
Definition at line 34 of file SafePWM.cpp.
|
virtual |
Return the expiration time for the PWM object.
Implements MotorSafety.
Definition at line 57 of file SafePWM.cpp.
|
virtual |
Check if the PWM object is currently alive or stopped due to a timeout.
Implements MotorSafety.
Definition at line 67 of file SafePWM.cpp.
|
virtual |
Check if motor safety is enabled for this object
Implements MotorSafety.
Definition at line 96 of file SafePWM.cpp.
|
virtual |
Enable/disable motor safety for this device Turn on and off the motor safety option for this PWM object.
| enabled | True if motor safety is enforced for this object |
Implements MotorSafety.
Definition at line 87 of file SafePWM.cpp.
|
virtual |
Feed the MotorSafety timer when setting the speed. This method is called by the subclass motor whenever it updates its speed, thereby reseting the timeout value.
| speed | Value to pass to the PWM class |
Reimplemented from PWM.
Definition at line 112 of file SafePWM.cpp.
|
virtual |
Stop the motor associated with this PWM object. This is called by the MotorSafetyHelper object when it has a timeout for this PWM and needs to stop it from running.
Implements MotorSafety.
Definition at line 77 of file SafePWM.cpp.
1.8.1.2