WPILibC++
2019.1.1-beta-1
|
Standard hobby style servo. More...
#include <Servo.h>
Public Member Functions | |
Servo (int channel) | |
Servo (Servo &&)=default | |
Servo & | operator= (Servo &&)=default |
void | Set (double value) |
Set the servo position. More... | |
void | SetOffline () |
Set the servo to offline. More... | |
double | Get () const |
Get the servo position. More... | |
void | SetAngle (double angle) |
Set the servo angle. More... | |
double | GetAngle () const |
Get the servo angle. More... | |
double | GetMaxAngle () const |
Get the maximum angle of the servo. More... | |
double | GetMinAngle () const |
Get the minimum angle of the servo. More... | |
void | InitSendable (SendableBuilder &builder) override |
Initializes this Sendable object. More... | |
![]() | |
SafePWM (int channel) | |
Constructor for a SafePWM object taking a channel number. More... | |
SafePWM (SafePWM &&)=default | |
SafePWM & | operator= (SafePWM &&)=default |
void | SetExpiration (double timeout) |
Set the expiration time for the PWM object. More... | |
double | GetExpiration () const |
Return the expiration time for the PWM object. More... | |
bool | IsAlive () const |
Check if the PWM object is currently alive or stopped due to a timeout. More... | |
void | StopMotor () |
Stop the motor associated with this PWM object. More... | |
void | SetSafetyEnabled (bool enabled) |
Enable/disable motor safety for this device. More... | |
bool | IsSafetyEnabled () const |
Check if motor safety is enabled for this object. More... | |
void | GetDescription (wpi::raw_ostream &desc) const |
virtual void | SetSpeed (double speed) |
Feed the MotorSafety timer when setting the speed. More... | |
![]() | |
PWM (int channel) | |
Allocate a PWM given a channel number. More... | |
~PWM () override | |
Free the PWM channel. More... | |
PWM (PWM &&rhs) | |
PWM & | operator= (PWM &&rhs) |
virtual void | SetRaw (uint16_t value) |
Set the PWM value directly to the hardware. More... | |
virtual uint16_t | GetRaw () const |
Get the PWM value directly from the hardware. More... | |
virtual void | SetPosition (double pos) |
Set the PWM value based on a position. More... | |
virtual double | GetPosition () const |
Get the PWM value in terms of a position. More... | |
virtual double | GetSpeed () const |
Get the PWM value in terms of speed. More... | |
virtual void | SetDisabled () |
Temporarily disables the PWM output. More... | |
void | SetPeriodMultiplier (PeriodMultiplier mult) |
Slow down the PWM signal for old devices. More... | |
void | SetZeroLatch () |
void | EnableDeadbandElimination (bool eliminateDeadband) |
Optionally eliminate the deadband from a speed controller. More... | |
void | SetBounds (double max, double deadbandMax, double center, double deadbandMin, double min) |
Set the bounds on the PWM pulse widths. More... | |
void | SetRawBounds (int max, int deadbandMax, int center, int deadbandMin, int min) |
Set the bounds on the PWM values. More... | |
void | GetRawBounds (int32_t *max, int32_t *deadbandMax, int32_t *center, int32_t *deadbandMin, int32_t *min) |
Get the bounds on the PWM values. More... | |
int | GetChannel () const |
![]() | |
ErrorBase (ErrorBase &&)=default | |
ErrorBase & | operator= (ErrorBase &&)=default |
virtual Error & | GetError () |
Retrieve the current error. More... | |
virtual const Error & | GetError () const |
Retrieve the current error. More... | |
virtual void | ClearError () const |
Clear the current error information associated with this sensor. | |
virtual void | SetErrnoError (const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int 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 wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
Set the current error information associated from the nivision Imaq API. More... | |
virtual void | SetError (Error::Code code, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetErrorRange (Error::Code code, int32_t minRange, int32_t maxRange, int32_t requestedValue, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetWPIError (const wpi::Twine &errorMessage, Error::Code code, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | CloneError (const ErrorBase &rhs) const |
virtual bool | StatusIsFatal () const |
Check if the current error code represents a fatal error. More... | |
![]() | |
SendableBase (bool addLiveWindow=true) | |
Creates an instance of the sensor base. More... | |
SendableBase (SendableBase &&rhs) | |
SendableBase & | operator= (SendableBase &&rhs) |
std::string | GetName () const final |
Gets the name of this Sendable object. More... | |
void | SetName (const wpi::Twine &name) final |
Sets the name of this Sendable object. More... | |
std::string | GetSubsystem () const final |
Gets the subsystem name of this Sendable object. More... | |
void | SetSubsystem (const wpi::Twine &subsystem) final |
Sets the subsystem name of this Sendable object. More... | |
![]() | |
Sendable (Sendable &&)=default | |
Sendable & | operator= (Sendable &&)=default |
void | SetName (const wpi::Twine &subsystem, const wpi::Twine &name) |
Sets both the subsystem name and device name of this Sendable object. More... | |
![]() | |
MotorSafety (MotorSafety &&)=default | |
MotorSafety & | operator= (MotorSafety &&)=default |
Additional Inherited Members | |
![]() | |
enum | PeriodMultiplier { kPeriodMultiplier_1X = 1, kPeriodMultiplier_2X = 2, kPeriodMultiplier_4X = 4 } |
Represents the amount to multiply the minimum servo-pulse pwm period by. More... | |
![]() | |
static void | SetGlobalError (Error::Code code, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) |
static void | SetGlobalWPIError (const wpi::Twine &errorMessage, const wpi::Twine &contextMessage, wpi::StringRef filename, wpi::StringRef function, int lineNumber) |
static const Error & | GetGlobalError () |
Retrieve the current global error. | |
![]() | |
void | InitSendable (SendableBuilder &builder) override |
Initializes this Sendable object. More... | |
![]() | |
void | AddChild (std::shared_ptr< Sendable > child) |
Add a child component. More... | |
void | AddChild (void *child) |
Add a child component. More... | |
void | SetName (const wpi::Twine &moduleType, int channel) |
Sets the name of the sensor with a channel number. More... | |
void | SetName (const wpi::Twine &moduleType, int moduleNumber, int channel) |
Sets the name of the sensor with a module and channel number. More... | |
![]() | |
Error | m_error |
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 |
channel | The PWM channel to which the servo is attached. 0-9 are on-board, 10-19 are on the MXP port |
double frc::Servo::Get | ( | ) | const |
Get the servo position.
Servo values range from 0.0 to 1.0 corresponding to the range of full left to full right.
double frc::Servo::GetAngle | ( | ) | const |
Get the servo angle.
Assume that the servo angle is linear with respect to the PWM value (big assumption, need to test).
double frc::Servo::GetMaxAngle | ( | ) | const |
Get the maximum angle of the servo.
double frc::Servo::GetMinAngle | ( | ) | const |
Get the minimum angle of the servo.
|
overridevirtual |
void frc::Servo::Set | ( | double | 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 frc::Servo::SetAngle | ( | double | angle | ) |
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 frc::Servo::SetOffline | ( | ) |
Set the servo to offline.
Set the servo raw value to 0 (undriven)