WPILibC++
2018.4.1-1232-gce8c71b
|
Common base class for drive platforms. More...
#include <RobotDriveBase.h>
Public Types | |
enum | MotorType { kFrontLeft = 0, kFrontRight = 1, kRearLeft = 2, kRearRight = 3, kLeft = 0, kRight = 1, kBack = 2 } |
The location of a motor on the robot for the purpose of driving. | |
Public Member Functions | |
RobotDriveBase (RobotDriveBase &&)=default | |
RobotDriveBase & | operator= (RobotDriveBase &&)=default |
void | SetDeadband (double deadband) |
Sets the deadband applied to the drive inputs (e.g., joystick values). More... | |
void | SetMaxOutput (double maxOutput) |
Configure the scaling factor for using RobotDrive with motor controllers in a mode other than PercentVbus or to limit the maximum output. More... | |
void | FeedWatchdog () |
Feed the motor safety object. More... | |
void | SetExpiration (double timeout) override |
double | GetExpiration () const override |
bool | IsAlive () const override |
void | StopMotor () override=0 |
bool | IsSafetyEnabled () const override |
void | SetSafetyEnabled (bool enabled) override |
void | GetDescription (wpi::raw_ostream &desc) const override=0 |
![]() | |
MotorSafety (MotorSafety &&)=default | |
MotorSafety & | operator= (MotorSafety &&)=default |
![]() | |
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... | |
virtual void | InitSendable (SendableBuilder &builder)=0 |
Initializes this Sendable object. More... | |
Protected Member Functions | |
double | Limit (double number) |
Limit motor values to the -1.0 to +1.0 range. | |
double | ApplyDeadband (double number, double deadband) |
Returns 0.0 if the given value is within the specified range around zero. More... | |
void | Normalize (wpi::MutableArrayRef< double > wheelSpeeds) |
Normalize all wheel speeds if the magnitude of any wheel is greater than 1.0. | |
![]() | |
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... | |
Protected Attributes | |
double | m_deadband = 0.02 |
double | m_maxOutput = 1.0 |
MotorSafetyHelper | m_safetyHelper {this} |
Common base class for drive platforms.
|
protected |
Returns 0.0 if the given value is within the specified range around zero.
The remaining range between the deadband and 1.0 is scaled from 0.0 to 1.0.
value | value to clip |
deadband | range around zero |
void frc::RobotDriveBase::FeedWatchdog | ( | ) |
Feed the motor safety object.
Resets the timer that will stop the motors if it completes.
void frc::RobotDriveBase::SetDeadband | ( | double | deadband | ) |
Sets the deadband applied to the drive inputs (e.g., joystick values).
The default value is 0.02. Inputs smaller than the deadband are set to 0.0 while inputs larger than the deadband are scaled from 0.0 to 1.0. See ApplyDeadband().
deadband | The deadband to set. |
void frc::RobotDriveBase::SetMaxOutput | ( | double | maxOutput | ) |
Configure the scaling factor for using RobotDrive with motor controllers in a mode other than PercentVbus or to limit the maximum output.
maxOutput | Multiplied with the output percentage computed by the drive functions. |