#include <Servo.h>
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 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_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 Error & | GetGlobalError () |
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 |
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.
|
explicit |
Constructor that assumes the default digital module.
channel | The 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.
moduleNumber | The digital module (1 or 2). |
channel | The PWM channel on the digital module to which the servo is attached (1..10). |
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.
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).
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.
value | Position 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.
degrees | The angle in degrees to set the servo. |
void Servo::SetOffline | ( | ) |
Set the servo to offline.
Set the servo raw value to 0 (undriven)