WPILibC++  unspecified
frc::RobotDriveBase Class Referenceabstract

Common base class for drive platforms. More...

#include <RobotDriveBase.h>

Inheritance diagram for frc::RobotDriveBase:
Collaboration diagram for frc::RobotDriveBase:

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 (const RobotDriveBase &)=delete
 
RobotDriveBaseoperator= (const RobotDriveBase &)=delete
 
void SetDeadband (double deadband)
 
void SetMaxOutput (double maxOutput)
 Configure the scaling factor for using RobotDrive with motor controllers in a mode other than PercentVbus. 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 (llvm::raw_ostream &desc) const override=0
 
- Public Member Functions inherited from frc::ErrorBase
 ErrorBase (const ErrorBase &)=delete
 
ErrorBaseoperator= (const ErrorBase &)=delete
 
virtual ErrorGetError ()
 Retrieve the current error. More...
 
virtual const ErrorGetError () const
 
virtual void SetErrnoError (llvm::StringRef contextMessage, llvm::StringRef filename, llvm::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, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const
 Set the current error information associated from the nivision Imaq API. More...
 
virtual void SetError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::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, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const
 Set the current error information associated with this sensor. More...
 
virtual void SetWPIError (llvm::StringRef errorMessage, Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const
 Set the current error information associated with this sensor. More...
 
virtual void CloneError (const 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...
 

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 (llvm::MutableArrayRef< double > wheelSpeeds)
 Normalize all wheel speeds if the magnitude of any wheel is greater than 1.0.
 

Protected Attributes

double m_deadband = 0.02
 
double m_maxOutput = 1.0
 
MotorSafetyHelper m_safetyHelper {this}
 
- Protected Attributes inherited from frc::ErrorBase
Error m_error
 

Additional Inherited Members

- Static Public Member Functions inherited from frc::ErrorBase
static void SetGlobalError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber)
 
static void SetGlobalWPIError (llvm::StringRef errorMessage, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber)
 
static ErrorGetGlobalError ()
 Retrieve the current global error.
 
- Static Protected Attributes inherited from frc::ErrorBase
static std::mutex _globalErrorMutex
 
static Error _globalError
 

Detailed Description

Common base class for drive platforms.

Member Function Documentation

double RobotDriveBase::ApplyDeadband ( double  value,
double  deadband 
)
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.

Parameters
valuevalue to clip
deadbandrange around zero
void RobotDriveBase::SetMaxOutput ( double  maxOutput)

Configure the scaling factor for using RobotDrive with motor controllers in a mode other than PercentVbus.

Parameters
maxOutputMultiplied with the output percentage computed by the drive functions.

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