WPILib  2014.0
WPIRoboticsLibraryforFRC
 All Classes Functions Variables Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Servo Class Reference

#include <Servo.h>

Inheritance diagram for Servo:
SafePWM PWM MotorSafety SensorBase ErrorBase

Public Member Functions

 Servo (uint32_t channel)
 
 Servo (uint8_t moduleNumber, uint32_t channel)
 
void Set (float value)
 
void SetOffline ()
 
float Get ()
 
void SetAngle (float angle)
 
float GetAngle ()
 
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 ()
 
- Public Member Functions inherited from SafePWM
 SafePWM (uint32_t channel)
 
 SafePWM (uint8_t moduleNumber, uint32_t 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_t channel)
 
 PWM (uint8_t moduleNumber, uint32_t channel)
 
virtual ~PWM ()
 
virtual void SetRaw (uint8_t value)
 
virtual uint8_t GetRaw ()
 
void SetPeriodMultiplier (PeriodMultiplier mult)
 
void EnableDeadbandElimination (bool eliminateDeadband)
 
void SetBounds (int32_t max, int32_t deadbandMax, int32_t center, int32_t deadbandMin, int32_t min)
 
void SetBounds (double max, double deadbandMax, double center, double deadbandMin, double min)
 
uint32_t GetChannel ()
 
uint32_t 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_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, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set the current error information associated from the nivision Imaq API. More...
 
virtual void SetError (Error::Code code, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set the current error information associated with this sensor. More...
 
virtual void SetWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set the current error information associated with this sensor. More...
 
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. More...
 

Static Public Member Functions

static float GetMaxAngle ()
 
static float GetMinAngle ()
 
- Static Public Member Functions inherited from SensorBase
static void DeleteSingletons ()
 
static uint32_t GetDefaultAnalogModule ()
 
static uint32_t GetDefaultDigitalModule ()
 
static uint32_t GetDefaultSolenoidModule ()
 
static bool CheckAnalogModule (uint8_t moduleNumber)
 
static bool CheckDigitalModule (uint8_t moduleNumber)
 
static bool CheckPWMModule (uint8_t moduleNumber)
 
static bool CheckRelayModule (uint8_t moduleNumber)
 
static bool CheckSolenoidModule (uint8_t moduleNumber)
 
static bool CheckDigitalChannel (uint32_t channel)
 
static bool CheckRelayChannel (uint32_t channel)
 
static bool CheckPWMChannel (uint32_t channel)
 
static bool CheckAnalogChannel (uint32_t channel)
 
static bool CheckSolenoidChannel (uint32_t channel)
 
- Static Public Member Functions inherited from ErrorBase
static void SetGlobalError (Error::Code code, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber)
 
static void SetGlobalWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber)
 
static ErrorGetGlobalError ()
 

Public Attributes

ITable * m_table
 

Additional Inherited Members

- Public Types inherited from PWM
enum  PeriodMultiplier { kPeriodMultiplier_1X = 1, kPeriodMultiplier_2X = 2, kPeriodMultiplier_4X = 4 }
 
- Static Public Attributes inherited from SensorBase
static const uint32_t kSystemClockTicksPerMicrosecond = 40
 
static const uint32_t kDigitalChannels = 14
 
static const uint32_t kAnalogChannels = 8
 
static const uint32_t kAnalogModules = 2
 
static const uint32_t kDigitalModules = 2
 
static const uint32_t kSolenoidChannels = 8
 
static const uint32_t kSolenoidModules = 2
 
static const uint32_t kPwmChannels = 10
 
static const uint32_t kRelayChannels = 8
 
static const uint32_t 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 Member Functions inherited from SensorBase
void AddToSingletonList ()
 
- Protected Member Functions inherited from ErrorBase
 ErrorBase ()
 Initialize the instance status to 0 for now.
 
- Protected Attributes inherited from PWM
bool m_eliminateDeadband
 
int32_t m_maxPwm
 
int32_t m_deadbandMaxPwm
 
int32_t m_centerPwm
 
int32_t m_deadbandMinPwm
 
int32_t m_minPwm
 
ITable * m_table
 
- Protected Attributes inherited from ErrorBase
Error m_error
 
- Static Protected Attributes inherited from PWM
static constexpr float kDefaultPwmPeriod = 5.05
 
static constexpr float kDefaultPwmCenter = 1.5
 
static const int32_t kDefaultPwmStepsDown = 128
 
static const int32_t kPwmDisabled = 0
 
- Static Protected Attributes inherited from ErrorBase
static SEM_ID _globalErrorMutex = semMCreate(SEM_Q_PRIORITY | SEM_DELETE_SAFE | SEM_INVERSION_SAFE)
 
static Error _globalError
 

Detailed Description

Standard hobby style servo.

The range parameters default to the appropriate values for the Hitec HS-322HD servo provided in the FIRST Kit of Parts in 2008.

Constructor & Destructor Documentation

Servo::Servo ( uint32_t  channel)
explicit

Constructor that assumes the default digital module.

Parameters
channelThe PWM channel on the digital module to which the servo is attached.
Servo::Servo ( uint8_t  moduleNumber,
uint32_t  channel 
)

Constructor that specifies the digital module.

Parameters
moduleNumberThe digital module (1 or 2).
channelThe PWM channel on the digital module to which the servo is attached (1..10).

Member Function Documentation

float Servo::Get ( )

Get the servo position.

Servo values range from 0.0 to 1.0 corresponding to the range of full left to full right.

Returns
Position from 0.0 to 1.0.
float Servo::GetAngle ( void  )

Get the servo angle.

Assume that the servo angle is linear with respect to the PWM value (big assumption, need to test).

Returns
The angle in degrees to which the servo is set.
void Servo::Set ( float  value)

Set the servo position.

Servo values range from 0.0 to 1.0 corresponding to the range of full left to full right.

Parameters
valuePosition from 0.0 to 1.0.
void Servo::SetAngle ( float  degrees)

Set the servo angle.

Assume that the servo angle is linear with respect to the PWM value (big assumption, need to test).

Servo angles that are out of the supported range of the servo simply "saturate" in that direction In other words, if the servo has a range of (X degrees to Y degrees) than angles of less than X result in an angle of X being set and angles of more than Y degrees result in an angle of Y being set.

Parameters
degreesThe angle in degrees to set the servo.
void Servo::SetOffline ( )

Set the servo to offline.

Set the servo raw value to 0 (undriven)


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