Now you can download a copy of these docs so you can use them offline! Download now
SafePWM Class Reference

#include <SafePWM.h>

Inheritance diagram for SafePWM:
Collaboration diagram for SafePWM:

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 ErrorGetError ()
 Retrieve the current error. Get the current error information associated with this sensor.
virtual const ErrorGetError () 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)
ITableGetTable ()
- Protected Attributes inherited from PWM
bool m_eliminateDeadband
INT32 m_maxPwm
INT32 m_deadbandMaxPwm
INT32 m_centerPwm
INT32 m_deadbandMinPwm
INT32 m_minPwm
ITablem_table
- Static Protected Attributes inherited from PWM
static const UINT32 kDefaultPwmPeriod = 774
static const UINT32 kDefaultMinPwmHigh = 102
static const INT32 kPwmDisabled = 0

Detailed Description

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.

Definition at line 22 of file SafePWM.h.

Constructor & Destructor Documentation

SafePWM::SafePWM ( UINT32  channel)
explicit

Constructor for a SafePWM object taking a channel number

Parameters
channelThe 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.

Parameters
moduleNumberThe digital module (1 or 2).
channelThe PWM channel number on the module (1..10).

Definition at line 34 of file SafePWM.cpp.

Member Function Documentation

float SafePWM::GetExpiration ( )
virtual

Return the expiration time for the PWM object.

Returns
The expiration time value.

Implements MotorSafety.

Definition at line 57 of file SafePWM.cpp.

bool SafePWM::IsAlive ( )
virtual

Check if the PWM object is currently alive or stopped due to a timeout.

Returns
a bool value that is true if the motor has NOT timed out and should still be running.

Implements MotorSafety.

Definition at line 67 of file SafePWM.cpp.

bool SafePWM::IsSafetyEnabled ( )
virtual

Check if motor safety is enabled for this object

Returns
True if motor safety is enforced for this object

Implements MotorSafety.

Definition at line 96 of file SafePWM.cpp.

void SafePWM::SetSafetyEnabled ( bool  enabled)
virtual

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

Implements MotorSafety.

Definition at line 87 of file SafePWM.cpp.

void SafePWM::SetSpeed ( float  speed)
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.

Parameters
speedValue to pass to the PWM class

Reimplemented from PWM.

Definition at line 112 of file SafePWM.cpp.

void SafePWM::StopMotor ( )
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.


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

Generated on Tue Feb 5 2013 00:55:10 for WPILibC++ by doxygen 1.8.1.2