CTRE_Phoenix 5.20.2
|
#include <WPI_TalonFX.h>
Inherits ctre::phoenix::motorcontrol::can::TalonFX, and ctre::phoenix::motorcontrol::can::WPI_BaseMotorController.
Public Member Functions | |
WPI_TalonFX (int deviceNumber, std::string const &canbus="") | |
WPI_TalonFX (WPI_TalonFX const &)=delete | |
WPI_TalonFX & | operator= (WPI_TalonFX const &)=delete |
virtual void | Set (double value) |
virtual void | Set (ControlMode mode, double value) |
virtual void | Set (ControlMode mode, double demand0, DemandType demand1Type, double demand1) |
virtual void | Set (TalonFXControlMode mode, double value) |
virtual void | Set (TalonFXControlMode mode, double demand0, DemandType demand1Type, double demand1) |
virtual void | SetVoltage (units::volt_t output) |
virtual void | SetInverted (TalonFXInvertType invertType) |
virtual void | SetInverted (InvertType invertType) |
virtual void | SetInverted (bool bInvert) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (FeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
Public Member Functions inherited from ctre::phoenix::motorcontrol::can::TalonFX | |
TalonFX (int deviceNumber, std::string const &canbus="") | |
TalonFX (TalonFX const &)=delete | |
TalonFX & | operator= (TalonFX const &)=delete |
void | Set (TalonFXControlMode mode, double value) |
void | Set (TalonFXControlMode mode, double demand0, DemandType demand1Type, double demand1) |
void | SetInverted (TalonFXInvertType invertType) |
ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (TalonFXFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
ctre::phoenix::ErrorCode | ConfigSupplyCurrentLimit (const ctre::phoenix::motorcontrol::SupplyCurrentLimitConfiguration &currLimitConfigs, int timeoutMs=50) |
ctre::phoenix::ErrorCode | ConfigStatorCurrentLimit (const ctre::phoenix::motorcontrol::StatorCurrentLimitConfiguration &currLimitConfigs, int timeoutMs=50) |
ctre::phoenix::ErrorCode | ConfigGetSupplyCurrentLimit (ctre::phoenix::motorcontrol::SupplyCurrentLimitConfiguration &currLimitConfigsToFill, int timeoutMs=50) |
ctre::phoenix::ErrorCode | ConfigGetStatorCurrentLimit (ctre::phoenix::motorcontrol::StatorCurrentLimitConfiguration &currLimitConfigsToFill, int timeoutMs=50) |
ctre::phoenix::motorcontrol::TalonFXSensorCollection & | GetSensorCollection () |
ctre::phoenix::motorcontrol::TalonFXSimCollection & | GetSimCollection () |
ctre::phoenix::ErrorCode | ConfigurePID (const TalonFXPIDSetConfiguration &pid, int pidIdx=0, int timeoutMs=50) |
void | GetPIDConfigs (TalonFXPIDSetConfiguration &pid, int pidIdx=0, int timeoutMs=50) |
ctre::phoenix::ErrorCode | ConfigAllSettings (const TalonFXConfiguration &allConfigs, int timeoutMs=50) |
void | GetAllConfigs (TalonFXConfiguration &allConfigs, int timeoutMs=50) |
ctre::phoenix::ErrorCode | ConfigMotorCommutation (ctre::phoenix::motorcontrol::MotorCommutation motorCommutation, int timeoutMs=0) |
ctre::phoenix::ErrorCode | ConfigGetMotorCommutation (ctre::phoenix::motorcontrol::MotorCommutation &motorCommutation, int timeoutMs=0) |
ErrorCode | ConfigIntegratedSensorAbsoluteRange (ctre::phoenix::sensors::AbsoluteSensorRange absoluteSensorRange, int timeoutMs=0) |
ErrorCode | ConfigIntegratedSensorOffset (double offsetDegrees, int timeoutMs=0) |
ErrorCode | ConfigIntegratedSensorInitializationStrategy (ctre::phoenix::sensors::SensorInitializationStrategy initializationStrategy, int timeoutMs=0) |
virtual void | Set (ControlMode mode, double value) |
virtual void | Set (ControlMode mode, double demand0, DemandType demand1Type, double demand1) |
virtual void | SetInverted (InvertType invertType) |
virtual void | SetInverted (bool bInvert) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (FeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
Public Member Functions inherited from ctre::phoenix::motorcontrol::can::BaseTalon | |
BaseTalon (int deviceNumber, const char *model, std::string const &canbus="") | |
BaseTalon (BaseTalon const &)=delete | |
BaseTalon & | operator= (BaseTalon const &)=delete |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (FeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | SetStatusFramePeriod (StatusFrameEnhanced frame, uint8_t periodMs, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | SetStatusFramePeriod (StatusFrame frame, uint8_t periodMs, int timeoutMs=0) |
virtual int | GetStatusFramePeriod (StatusFrameEnhanced frame, int timeoutMs=0) |
virtual int | GetStatusFramePeriod (StatusFrame frame, int timeoutMs=0) |
virtual double | GetOutputCurrent () |
double | GetStatorCurrent () |
double | GetSupplyCurrent () |
virtual ctre::phoenix::ErrorCode | ConfigVelocityMeasurementPeriod (ctre::phoenix::sensors::SensorVelocityMeasPeriod period, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVelocityMeasurementPeriod (VelocityMeasPeriod period, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVelocityMeasurementWindow (int windowSize, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigForwardLimitSwitchSource (LimitSwitchSource limitSwitchSource, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigForwardLimitSwitchSource (RemoteLimitSwitchSource limitSwitchSource, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigReverseLimitSwitchSource (LimitSwitchSource limitSwitchSource, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigReverseLimitSwitchSource (RemoteLimitSwitchSource limitSwitchSource, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSupplyCurrentLimit (const SupplyCurrentLimitConfiguration &currLimitConfigs, int timeoutMs=50) |
int | IsFwdLimitSwitchClosed () |
int | IsRevLimitSwitchClosed () |
Public Member Functions inherited from ctre::phoenix::motorcontrol::can::BaseMotorController | |
BaseMotorController (int deviceNumber, const char *model, std::string const &canbus="") | |
BaseMotorController (BaseMotorController const &)=delete | |
BaseMotorController & | operator= (BaseMotorController const &)=delete |
virtual int | GetDeviceID () |
virtual void | Set (ControlMode mode, double value) |
virtual void | Set (ControlMode mode, double demand0, DemandType demand1Type, double demand1) |
virtual void | NeutralOutput () |
virtual void | SetNeutralMode (NeutralMode neutralMode) |
virtual void | SetSensorPhase (bool PhaseSensor) |
virtual void | SetInverted (bool invert) |
virtual void | SetInverted (InvertType invertType) |
virtual bool | GetInverted () const |
virtual ctre::phoenix::ErrorCode | ConfigFactoryDefault (int timeoutMs=50) |
virtual ctre::phoenix::ErrorCode | ConfigOpenloopRamp (double secondsFromNeutralToFull, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigClosedloopRamp (double secondsFromNeutralToFull, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigPeakOutputForward (double percentOut, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigPeakOutputReverse (double percentOut, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigNominalOutputForward (double percentOut, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigNominalOutputReverse (double percentOut, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigNeutralDeadband (double percentDeadband, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVoltageCompSaturation (double voltage, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVoltageMeasurementFilter (int filterWindowSamples, int timeoutMs=0) |
virtual void | EnableVoltageCompensation (bool enable) |
virtual bool | IsVoltageCompensationEnabled () |
virtual double | GetBusVoltage () |
virtual double | GetMotorOutputPercent () |
virtual double | GetMotorOutputVoltage () |
virtual double | GetTemperature () |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackSensor (FeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSelectedFeedbackCoefficient (double coefficient, int pidIdx=0, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigRemoteFeedbackFilter (int deviceID, RemoteSensorSource remoteSensorSource, int remoteOrdinal, int timeoutMs=0) |
virtual ErrorCode | ConfigRemoteFeedbackFilter (ctre::phoenix::sensors::CANCoder &canCoderRef, int remoteOrdinal, int timeoutMs=0) |
virtual ErrorCode | ConfigRemoteFeedbackFilter (ctre::phoenix::motorcontrol::can::BaseTalon &talonRef, int remoteOrdinal, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSensorTerm (SensorTerm sensorTerm, FeedbackDevice feedbackDevice, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSensorTerm (SensorTerm sensorTerm, RemoteFeedbackDevice feedbackDevice, int timeoutMs=0) |
virtual double | GetSelectedSensorPosition (int pidIdx=0) |
virtual double | GetSelectedSensorVelocity (int pidIdx=0) |
virtual ctre::phoenix::ErrorCode | SetSelectedSensorPosition (double sensorPos, int pidIdx=0, int timeoutMs=50) |
virtual ctre::phoenix::ErrorCode | SetControlFramePeriod (ControlFrame frame, int periodMs) |
virtual ctre::phoenix::ErrorCode | SetStatusFramePeriod (StatusFrame frame, uint8_t periodMs, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | SetStatusFramePeriod (StatusFrameEnhanced frame, uint8_t periodMs, int timeoutMs=0) |
virtual int | GetStatusFramePeriod (StatusFrame frame, int timeoutMs=0) |
virtual int | GetStatusFramePeriod (StatusFrameEnhanced frame, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVelocityMeasurementPeriod (ctre::phoenix::sensors::SensorVelocityMeasPeriod period, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVelocityMeasurementPeriod (VelocityMeasPeriod period, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigVelocityMeasurementWindow (int windowSize, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigForwardLimitSwitchSource (RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigReverseLimitSwitchSource (RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0) |
void | OverrideLimitSwitchesEnable (bool enable) |
virtual ctre::phoenix::ErrorCode | ConfigForwardLimitSwitchSource (LimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigReverseLimitSwitchSource (LimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigForwardSoftLimitThreshold (double forwardSensorLimit, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigReverseSoftLimitThreshold (double reverseSensorLimit, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigForwardSoftLimitEnable (bool enable, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigReverseSoftLimitEnable (bool enable, int timeoutMs=0) |
virtual void | OverrideSoftLimitsEnable (bool enable) |
virtual ctre::phoenix::ErrorCode | Config_kP (int slotIdx, double value, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | Config_kI (int slotIdx, double value, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | Config_kD (int slotIdx, double value, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | Config_kF (int slotIdx, double value, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | Config_IntegralZone (int slotIdx, double izone, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigAllowableClosedloopError (int slotIdx, double allowableCloseLoopError, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigMaxIntegralAccumulator (int slotIdx, double iaccum, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigClosedLoopPeakOutput (int slotIdx, double percentOut, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigClosedLoopPeriod (int slotIdx, int loopTimeMs, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigAuxPIDPolarity (bool invert, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | SetIntegralAccumulator (double iaccum, int pidIdx=0, int timeoutMs=0) |
virtual double | GetClosedLoopError (int pidIdx=0) |
virtual double | GetIntegralAccumulator (int pidIdx=0) |
virtual double | GetErrorDerivative (int pidIdx=0) |
virtual ctre::phoenix::ErrorCode | SelectProfileSlot (int slotIdx, int pidIdx) |
virtual double | GetClosedLoopTarget (int pidIdx=0) |
virtual double | GetActiveTrajectoryPosition (int pidIdx=0) |
virtual double | GetActiveTrajectoryVelocity (int pidIdx=0) |
virtual double | GetActiveTrajectoryArbFeedFwd (int pidIdx=0) |
virtual ctre::phoenix::ErrorCode | ConfigMotionCruiseVelocity (double sensorUnitsPer100ms, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigMotionAcceleration (double sensorUnitsPer100msPerSec, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigMotionSCurveStrength (int curveStrength, int timeoutMs=0) |
virtual ErrorCode | ClearMotionProfileTrajectories () |
virtual int | GetMotionProfileTopLevelBufferCount () |
virtual ctre::phoenix::ErrorCode | PushMotionProfileTrajectory (const ctre::phoenix::motion::TrajectoryPoint &trajPt) |
virtual ctre::phoenix::ErrorCode | StartMotionProfile (ctre::phoenix::motion::BufferedTrajectoryPointStream &stream, uint32_t minBufferedPts, ControlMode motionProfControlMode) |
Simple one-shot firing of a complete MP. Starting in 2019, MPs can be fired by building a Buffered Trajectory Point Stream, and calling this routine. More... | |
virtual bool | IsMotionProfileFinished () |
Determine if running MP is complete. This requires using the StartMotionProfile routine to start the MP. That is because managing the trajectory points is now done in a background thread (if StartMotionProfile is called). More... | |
virtual bool | IsMotionProfileTopLevelBufferFull () |
virtual void | ProcessMotionProfileBuffer () |
virtual ctre::phoenix::ErrorCode | GetMotionProfileStatus (ctre::phoenix::motion::MotionProfileStatus &statusToFill) |
virtual ctre::phoenix::ErrorCode | ClearMotionProfileHasUnderrun (int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ChangeMotionControlFramePeriod (int periodMs) |
virtual ctre::phoenix::ErrorCode | ConfigMotionProfileTrajectoryPeriod (int baseTrajDurationMs, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigMotionProfileTrajectoryInterpolationEnable (bool enable, int timeoutMs=0) |
virtual ErrorCode | ConfigFeedbackNotContinuous (bool feedbackNotContinuous, int timeoutMs=0) |
virtual ErrorCode | ConfigRemoteSensorClosedLoopDisableNeutralOnLOS (bool remoteSensorClosedLoopDisableNeutralOnLOS, int timeoutMs=0) |
virtual ErrorCode | ConfigClearPositionOnLimitF (bool clearPositionOnLimitF, int timeoutMs=0) |
virtual ErrorCode | ConfigClearPositionOnLimitR (bool clearPositionOnLimitR, int timeoutMs=0) |
virtual ErrorCode | ConfigClearPositionOnQuadIdx (bool clearPositionOnQuadIdx, int timeoutMs=0) |
virtual ErrorCode | ConfigLimitSwitchDisableNeutralOnLOS (bool limitSwitchDisableNeutralOnLOS, int timeoutMs=0) |
virtual ErrorCode | ConfigSoftLimitDisableNeutralOnLOS (bool softLimitDisableNeutralOnLOS, int timeoutMs=0) |
virtual ErrorCode | ConfigPulseWidthPeriod_EdgesPerRot (int pulseWidthPeriod_EdgesPerRot, int timeoutMs=0) |
virtual ErrorCode | ConfigPulseWidthPeriod_FilterWindowSz (int pulseWidthPeriod_FilterWindowSz, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | GetLastError () |
virtual ctre::phoenix::ErrorCode | GetFaults (Faults &toFill) |
virtual ctre::phoenix::ErrorCode | GetStickyFaults (StickyFaults &toFill) |
virtual ctre::phoenix::ErrorCode | ClearStickyFaults (int timeoutMs=0) |
virtual int | GetFirmwareVersion () |
virtual bool | HasResetOccurred () |
virtual ctre::phoenix::ErrorCode | ConfigSetCustomParam (int newValue, int paramIndex, int timeoutMs=0) |
virtual int | ConfigGetCustomParam (int paramIndex, int timeoutMs=0) |
virtual ctre::phoenix::ErrorCode | ConfigSetParameter (ctre::phoenix::ParamEnum param, double value, uint8_t subValue, int ordinal, int timeoutMs=0) |
virtual double | ConfigGetParameter (ctre::phoenix::ParamEnum param, int ordinal, int timeoutMs=0) |
virtual ErrorCode | ConfigGetParameter (ParamEnum param, int32_t valueToSend, int32_t &valueReceived, uint8_t &subValue, int32_t ordinal, int32_t timeoutMs) |
virtual int | GetBaseID () |
virtual ControlMode | GetControlMode () |
void | Follow (IMotorController &masterToFollow, ctre::phoenix::motorcontrol::FollowerType followerType) |
virtual void | Follow (IMotorController &masterToFollow) |
virtual void | ValueUpdated () |
void | GetSlotConfigs (SlotConfiguration &slot, int slotIdx=0, int timeoutMs=50) |
void | GetFilterConfigs (FilterConfiguration &Filter, int ordinal=0, int timeoutMs=50) |
void * | GetHandle () |
virtual void | Set (ControlMode Mode, double demand)=0 |
virtual void | Set (ControlMode mode, double demand0, DemandType demand1Type, double demand1)=0 |
virtual void | NeutralOutput ()=0 |
virtual void | SetNeutralMode (NeutralMode neutralMode)=0 |
virtual void | SetSensorPhase (bool PhaseSensor)=0 |
virtual void | SetInverted (bool invert)=0 |
virtual void | SetInverted (InvertType invertType)=0 |
virtual bool | GetInverted () const =0 |
virtual ErrorCode | ConfigFactoryDefault (int timeout)=0 |
virtual ErrorCode | ConfigOpenloopRamp (double secondsFromNeutralToFull, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigClosedloopRamp (double secondsFromNeutralToFull, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigPeakOutputForward (double percentOut, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigPeakOutputReverse (double percentOut, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigNominalOutputForward (double percentOut, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigNominalOutputReverse (double percentOut, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigNeutralDeadband (double percentDeadband, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigVoltageCompSaturation (double voltage, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigVoltageMeasurementFilter (int filterWindowSamples, int timeoutMs=0)=0 |
virtual void | EnableVoltageCompensation (bool enable)=0 |
virtual bool | IsVoltageCompensationEnabled ()=0 |
virtual double | GetBusVoltage ()=0 |
virtual double | GetMotorOutputPercent ()=0 |
virtual double | GetMotorOutputVoltage ()=0 |
virtual double | GetTemperature ()=0 |
virtual ErrorCode | ConfigSelectedFeedbackSensor (RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigSelectedFeedbackCoefficient (double coefficient, int pidIdx=0, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigRemoteFeedbackFilter (int deviceID, RemoteSensorSource remoteSensorSource, int remoteOrdinal, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigRemoteFeedbackFilter (ctre::phoenix::sensors::CANCoder &canCoderRef, int remoteOrdinal, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigRemoteFeedbackFilter (ctre::phoenix::motorcontrol::can::BaseTalon &talonRef, int remoteOrdinal, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigSensorTerm (SensorTerm sensorTerm, FeedbackDevice feedbackDevice, int timeoutMs=0)=0 |
virtual double | GetSelectedSensorPosition (int pidIdx=0)=0 |
virtual double | GetSelectedSensorVelocity (int pidIdx=0)=0 |
virtual ErrorCode | SetSelectedSensorPosition (double sensorPos, int pidIdx=0, int timeoutMs=50)=0 |
virtual ErrorCode | SetControlFramePeriod (ControlFrame frame, int periodMs)=0 |
virtual ErrorCode | SetStatusFramePeriod (StatusFrame frame, uint8_t periodMs, int timeoutMs=0)=0 |
virtual int | GetStatusFramePeriod (StatusFrame frame, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigForwardLimitSwitchSource (RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigReverseLimitSwitchSource (RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0 |
virtual void | OverrideLimitSwitchesEnable (bool enable)=0 |
virtual ErrorCode | ConfigForwardSoftLimitThreshold (double forwardSensorLimit, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigReverseSoftLimitThreshold (double reverseSensorLimit, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigForwardSoftLimitEnable (bool enable, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigReverseSoftLimitEnable (bool enable, int timeoutMs=0)=0 |
virtual void | OverrideSoftLimitsEnable (bool enable)=0 |
virtual ErrorCode | Config_kP (int slotIdx, double value, int timeoutMs=0)=0 |
virtual ErrorCode | Config_kI (int slotIdx, double value, int timeoutMs=0)=0 |
virtual ErrorCode | Config_kD (int slotIdx, double value, int timeoutMs=0)=0 |
virtual ErrorCode | Config_kF (int slotIdx, double value, int timeoutMs=0)=0 |
virtual ErrorCode | Config_IntegralZone (int slotIdx, double izone, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigAllowableClosedloopError (int slotIdx, double allowableCloseLoopError, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigMaxIntegralAccumulator (int slotIdx, double iaccum, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigClosedLoopPeakOutput (int slotIdx, double percentOut, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigClosedLoopPeriod (int slotIdx, int loopTimeMs, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigAuxPIDPolarity (bool invert, int timeoutMs=0)=0 |
virtual ErrorCode | SetIntegralAccumulator (double iaccum, int pidIdx=0, int timeoutMs=0)=0 |
virtual double | GetClosedLoopError (int pidIdx=0)=0 |
virtual double | GetIntegralAccumulator (int pidIdx=0)=0 |
virtual double | GetErrorDerivative (int pidIdx=0)=0 |
virtual ErrorCode | SelectProfileSlot (int slotIdx, int pidIdx)=0 |
virtual double | GetClosedLoopTarget (int pidIdx=0)=0 |
virtual double | GetActiveTrajectoryPosition (int pidIdx=0)=0 |
virtual double | GetActiveTrajectoryVelocity (int pidIdx=0)=0 |
virtual double | GetActiveTrajectoryArbFeedFwd (int pidIdx=0)=0 |
virtual ErrorCode | ConfigMotionCruiseVelocity (double sensorUnitsPer100ms, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigMotionAcceleration (double sensorUnitsPer100msPerSec, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigMotionSCurveStrength (int curveStrength, int timeoutMs)=0 |
virtual ErrorCode | ClearMotionProfileTrajectories ()=0 |
virtual int | GetMotionProfileTopLevelBufferCount ()=0 |
virtual ErrorCode | PushMotionProfileTrajectory (const ctre::phoenix::motion::TrajectoryPoint &trajPt)=0 |
virtual bool | IsMotionProfileTopLevelBufferFull ()=0 |
virtual void | ProcessMotionProfileBuffer ()=0 |
virtual ErrorCode | GetMotionProfileStatus (ctre::phoenix::motion::MotionProfileStatus &statusToFill)=0 |
virtual ErrorCode | ClearMotionProfileHasUnderrun (int timeoutMs=0)=0 |
virtual ErrorCode | ChangeMotionControlFramePeriod (int periodMs)=0 |
virtual ErrorCode | ConfigMotionProfileTrajectoryPeriod (int baseTrajDurationMs, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigFeedbackNotContinuous (bool feedbackNotContinuous, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigRemoteSensorClosedLoopDisableNeutralOnLOS (bool remoteSensorClosedLoopDisableNeutralOnLOS, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigClearPositionOnLimitF (bool clearPositionOnLimitF, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigClearPositionOnLimitR (bool clearPositionOnLimitR, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigClearPositionOnQuadIdx (bool clearPositionOnQuadIdx, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigLimitSwitchDisableNeutralOnLOS (bool limitSwitchDisableNeutralOnLOS, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigSoftLimitDisableNeutralOnLOS (bool softLimitDisableNeutralOnLOS, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigPulseWidthPeriod_EdgesPerRot (int pulseWidthPeriod_EdgesPerRot, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigPulseWidthPeriod_FilterWindowSz (int pulseWidthPeriod_FilterWindowSz, int timeoutMs=0)=0 |
virtual ErrorCode | GetLastError ()=0 |
virtual ErrorCode | GetFaults (Faults &toFill)=0 |
virtual ErrorCode | GetStickyFaults (StickyFaults &toFill)=0 |
virtual ErrorCode | ClearStickyFaults (int timeoutMs=0)=0 |
virtual int | GetFirmwareVersion ()=0 |
virtual bool | HasResetOccurred ()=0 |
virtual ErrorCode | ConfigSetCustomParam (int newValue, int paramIndex, int timeoutMs=0)=0 |
virtual int | ConfigGetCustomParam (int paramIndex, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigSetParameter (ParamEnum param, double value, uint8_t subValue, int ordinal, int timeoutMs=0)=0 |
virtual double | ConfigGetParameter (ParamEnum paramEnum, int ordinal, int timeoutMs=0)=0 |
virtual int | GetBaseID ()=0 |
virtual int | GetDeviceID ()=0 |
virtual ControlMode | GetControlMode ()=0 |
virtual void | Follow (ctre::phoenix::motorcontrol::IMotorController &masterToFollow)=0 |
virtual void | ValueUpdated ()=0 |
virtual ErrorCode | ConfigSelectedFeedbackSensor (FeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigSelectedFeedbackSensor (RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigSupplyCurrentLimit (const SupplyCurrentLimitConfiguration &currLimitConfigs, int timeoutMs=50)=0 |
virtual ErrorCode | SetStatusFramePeriod (StatusFrame frame, uint8_t periodMs, int timeoutMs=0)=0 |
virtual ErrorCode | SetStatusFramePeriod (StatusFrameEnhanced frame, uint8_t periodMs, int timeoutMs=0)=0 |
virtual int | GetStatusFramePeriod (StatusFrame frame, int timeoutMs=0)=0 |
virtual int | GetStatusFramePeriod (StatusFrameEnhanced frame, int timeoutMs=0)=0 |
virtual double | GetOutputCurrent ()=0 |
virtual ErrorCode | ConfigVelocityMeasurementPeriod (VelocityMeasPeriod period, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigVelocityMeasurementWindow (int windowSize, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigForwardLimitSwitchSource (RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigReverseLimitSwitchSource (RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigForwardLimitSwitchSource (LimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0)=0 |
virtual ErrorCode | ConfigReverseLimitSwitchSource (LimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0)=0 |
Public Member Functions inherited from ctre::phoenix::motorcontrol::can::WPI_BaseMotorController | |
WPI_BaseMotorController (int deviceNumber, const char *model) | |
WPI_BaseMotorController (WPI_BaseMotorController const &)=delete | |
WPI_BaseMotorController & | operator= (WPI_BaseMotorController const &)=delete |
virtual void | Set (double speed) |
virtual double | Get () const |
virtual void | Set (ControlMode mode, double value) |
virtual void | Set (ControlMode mode, double demand0, DemandType demand1Type, double demand1) |
virtual void | SetVoltage (units::volt_t output) |
virtual void | SetInverted (bool isInverted) |
virtual void | SetInverted (InvertType invertType) |
virtual bool | GetInverted () const |
virtual void | Disable () |
virtual void | StopMotor () override |
std::string | GetDescription () const override |
CTRE Talon FX Motor Controller when used on CAN Bus.
ctre::phoenix::motorcontrol::can::WPI_TalonFX::WPI_TalonFX | ( | int | deviceNumber, |
std::string const & | canbus = "" |
||
) |
Constructor for a WPI_TalonFX
deviceNumber | Device ID of TalonFX |
canbus | Name of the CANbus; can be a CANivore device name or serial number. Pass in nothing or "rio" to use the roboRIO. |
|
virtual |
Select the remote feedback device for the motor controller. Most CTRE CAN motor controllers will support remote sensors over CAN.
feedbackDevice | Remote Feedback Device to select. |
pidIdx | 0 for Primary closed-loop. 1 for auxiliary closed-loop. |
timeoutMs | Timeout value in ms. If nonzero, function will wait for config success and report an error if it times out. If zero, no blocking or checking is performed. |
Reimplemented from ctre::phoenix::motorcontrol::can::TalonFX.
|
virtual |
Select the remote feedback device for the motor controller. Most CTRE CAN motor controllers will support remote sensors over CAN.
feedbackDevice | Remote Feedback Device to select. |
pidIdx | 0 for Primary closed-loop. 1 for auxiliary closed-loop. |
timeoutMs | Timeout value in ms. If nonzero, function will wait for config success and report an error if it times out. If zero, no blocking or checking is performed. |
Reimplemented from ctre::phoenix::motorcontrol::can::TalonFX.
|
virtual |
mode | Sets the appropriate output on the talon, depending on the mode. |
demand0 | The output value to apply. such as advanced feed forward and/or auxiliary close-looping in firmware. In PercentOutput, the output is between -1.0 and 1.0, with 0.0 as stopped. In Current mode, output value is in amperes. In Velocity mode, output value is in position change / 100ms. In Position mode, output value is in encoder ticks or an analog value, depending on the sensor. See In Follower mode, the output value is the integer device ID of the talon to duplicate. |
demand1Type | The demand type for demand1. Neutral: Ignore demand1 and apply no change to the demand0 output. AuxPID: Use demand1 to set the target for the auxiliary PID 1. Auxiliary PID is always executed as standard Position PID control. ArbitraryFeedForward: Use demand1 as an arbitrary additive value to the demand0 output. In PercentOutput the demand0 output is the motor output, and in closed-loop modes the demand0 output is the output of PID0. |
demand1 | Supplmental output value. AuxPID: Target position in Sensor Units ArbitraryFeedForward: Percent Output between -1.0 and 1.0 |
Arcade Drive Example: _talonLeft.set(ControlMode.PercentOutput, joyForward, DemandType.ArbitraryFeedForward, +joyTurn); _talonRght.set(ControlMode.PercentOutput, joyForward, DemandType.ArbitraryFeedForward, -joyTurn);
Drive Straight Example: Note: Selected Sensor Configuration is necessary for both PID0 and PID1. _talonLeft.follow(_talonRght, FollwerType.AuxOutput1); _talonRght.set(ControlMode.PercentOutput, joyForward, DemandType.AuxPID, desiredRobotHeading);
Drive Straight to a Distance Example: Note: Other configurations (sensor selection, PID gains, etc.) need to be set. _talonLeft.follow(_talonRght, FollwerType.AuxOutput1); _talonRght.set(ControlMode.MotionMagic, targetDistance, DemandType.AuxPID, desiredRobotHeading);
Reimplemented from ctre::phoenix::motorcontrol::can::TalonFX.
|
virtual |
Sets the appropriate output on the talon, depending on the mode.
mode | The output mode to apply. In PercentOutput, the output is between -1.0 and 1.0, with 0.0 as stopped. In Current mode, output value is in amperes. In Velocity mode, output value is in position change / 100ms. In Position mode, output value is in encoder ticks or an analog value, depending on the sensor. In Follower mode, the output value is the integer device ID of the talon to duplicate. |
value | The setpoint value, as described above. |
Standard Driving Example: _talonLeft.set(ControlMode.PercentOutput, leftJoy); _talonRght.set(ControlMode.PercentOutput, rghtJoy);
Reimplemented from ctre::phoenix::motorcontrol::can::TalonFX.
|
virtual |
Common interface for setting the speed of a simple speed controller.
speed | The speed to set. Value should be between -1.0 and 1.0. Value is also saved for Get(). |
Reimplemented from ctre::phoenix::motorcontrol::can::WPI_BaseMotorController.
|
virtual |
Inverts the hbridge output of the motor controller.
This does not impact sensor phase and should not be used to correct sensor polarity.
This will invert the hbridge output but NOT the LEDs. This ensures....
invert | Invert state to set. |
Reimplemented from ctre::phoenix::motorcontrol::can::TalonFX.
|
virtual |
Inverts the hbridge output of the motor controller in relation to the master if present
This does not impact sensor phase and should not be used to correct sensor polarity.
This will allow you to either:
invertType | Invert state to set. |
Reimplemented from ctre::phoenix::motorcontrol::can::TalonFX.
|
virtual |
Sets the voltage output of the SpeedController. Compensates for the current bus voltage to ensure that the desired voltage is output even if the battery voltage is below 12V - highly useful when the voltage outputs are "meaningful" (e.g. they come from a feedforward calculation).
NOTE: This function must be called regularly in order for voltage compensation to work properly - unlike the ordinary set function, it is not "set it and forget it."
output | The voltage to output. |
Reimplemented from ctre::phoenix::motorcontrol::can::WPI_BaseMotorController.