WPILibC++
unspecified
|
Interface for "smart" CAN-based speed controllers. More...
#include <CANSpeedController.h>
Public Types | |
enum | ControlMode { kPercentVbus = 0, kCurrent = 1, kSpeed = 2, kPosition = 3, kVoltage = 4, kFollower = 5, kMotionProfile = 6 } |
enum | Faults { kCurrentFault = 1, kTemperatureFault = 2, kBusVoltageFault = 4, kGateDriverFault = 8, kFwdLimitSwitch = 0x10, kRevLimitSwitch = 0x20, kFwdSoftLimit = 0x40, kRevSoftLimit = 0x80 } |
enum | Limits { kForwardLimit = 1, kReverseLimit = 2 } |
enum | NeutralMode { kNeutralMode_Jumper = 0, kNeutralMode_Brake = 1, kNeutralMode_Coast = 2 } |
enum | LimitMode { kLimitMode_SwitchInputsOnly = 0, kLimitMode_SoftPositionLimits = 1, kLimitMode_SrxDisableSwitchInputs = 2 } |
Public Member Functions | |
virtual bool | IsModePID (ControlMode mode) const =0 |
virtual double | Get () const =0 |
Common interface for getting the current set speed of a speed controller. More... | |
virtual void | Set (double value)=0 |
Common interface for setting the speed of a speed controller. More... | |
virtual void | StopMotor ()=0 |
Common interface to stop the motor until Set is called again. | |
virtual void | Disable ()=0 |
Common interface for disabling a motor. | |
virtual void | SetP (double p)=0 |
virtual void | SetI (double i)=0 |
virtual void | SetD (double d)=0 |
virtual void | SetPID (double p, double i, double d)=0 |
virtual double | GetP () const =0 |
virtual double | GetI () const =0 |
virtual double | GetD () const =0 |
virtual double | GetBusVoltage () const =0 |
virtual double | GetOutputVoltage () const =0 |
virtual double | GetOutputCurrent () const =0 |
virtual double | GetTemperature () const =0 |
virtual double | GetPosition () const =0 |
virtual double | GetSpeed () const =0 |
virtual bool | GetForwardLimitOK () const =0 |
virtual bool | GetReverseLimitOK () const =0 |
virtual uint16_t | GetFaults () const =0 |
virtual void | SetVoltageRampRate (double rampRate)=0 |
virtual int | GetFirmwareVersion () const =0 |
virtual void | ConfigNeutralMode (NeutralMode mode)=0 |
virtual void | ConfigEncoderCodesPerRev (uint16_t codesPerRev)=0 |
virtual void | ConfigPotentiometerTurns (uint16_t turns)=0 |
virtual void | ConfigSoftPositionLimits (double forwardLimitPosition, double reverseLimitPosition)=0 |
virtual void | DisableSoftPositionLimits ()=0 |
virtual void | ConfigLimitMode (LimitMode mode)=0 |
virtual void | ConfigForwardLimit (double forwardLimitPosition)=0 |
virtual void | ConfigReverseLimit (double reverseLimitPosition)=0 |
virtual void | ConfigMaxOutputVoltage (double voltage)=0 |
virtual void | ConfigFaultTime (double faultTime)=0 |
![]() | |
virtual void | SetInverted (bool isInverted)=0 |
Common interface for inverting direction of a speed controller. More... | |
virtual bool | GetInverted () const =0 |
Common interface for returning the inversion state of a speed controller. More... | |
![]() | |
virtual void | PIDWrite (double output)=0 |
Interface for "smart" CAN-based speed controllers.
|
pure virtual |
Common interface for getting the current set speed of a speed controller.
Implements frc::SpeedController.
|
pure virtual |
Common interface for setting the speed of a speed controller.
speed | The speed to set. Value should be between -1.0 and 1.0. |
Implements frc::SpeedController.