3#include "ctre/phoenix/motorcontrol/ControlMode.h"
4#include "ctre/phoenix/motorcontrol/ControlFrame.h"
5#include "ctre/phoenix/motorcontrol/DemandType.h"
6#include "ctre/phoenix/motorcontrol/InvertType.h"
7#include "ctre/phoenix/motorcontrol/NeutralMode.h"
8#include "ctre/phoenix/motorcontrol/FeedbackDevice.h"
9#include "ctre/phoenix/motorcontrol/RemoteSensorSource.h"
10#include "ctre/phoenix/motorcontrol/SensorTerm.h"
11#include "ctre/phoenix/motorcontrol/StatusFrame.h"
12#include "ctre/phoenix/motorcontrol/LimitSwitchType.h"
13#include "ctre/phoenix/motorcontrol/Faults.h"
14#include "ctre/phoenix/motorcontrol/StickyFaults.h"
15#include "ctre/phoenix/paramEnum.h"
16#include "ctre/phoenix/motion/TrajectoryPoint.h"
17#include "ctre/phoenix/motion/MotionProfileStatus.h"
18#include "ctre/phoenix/sensors/CANCoder.h"
19#include "ctre/phoenix/ErrorCode.h"
24namespace motorcontrol {
181 int timeoutMs = 0) = 0;
195 int timeoutMs = 0) = 0;
208 int timeoutMs = 0) = 0;
221 int timeoutMs = 0) = 0;
234 int timeoutMs = 0) = 0;
247 int timeoutMs = 0) = 0;
261 int timeoutMs = 0) = 0;
279 int timeoutMs = 0) = 0;
293 int timeoutMs = 0) = 0;
373 double coefficient,
int pidIdx = 0,
int timeoutMs = 0) = 0;
394 int timeoutMs = 0)= 0;
480 int timeoutMs = 50) = 0;
514 int timeoutMs = 0) = 0;
553 int deviceID,
int timeoutMs = 0) = 0;
575 int deviceID,
int timeoutMs = 0) = 0;
600 int timeoutMs = 0) = 0;
613 int timeoutMs = 0) = 0;
626 int timeoutMs = 0) = 0;
639 int timeoutMs = 0) = 0;
743 int timeoutMs = 0) = 0;
758 double allowableCloseLoopError,
int timeoutMs = 0) = 0;
774 int timeoutMs = 0) = 0;
848 int timeoutMs = 0) = 0;
948 int timeoutMs = 0) = 0;
963 int timeoutMs = 0) = 0;
1326 int timeoutMs = 0) = 0;
1362 uint8_t subValue,
int ordinal,
int timeoutMs = 0) = 0;
1377 int timeoutMs = 0) = 0;
Definition: IFollower.h:13
Definition: IMotorController.h:34
virtual void NeutralOutput()=0
virtual ErrorCode SetStatusFramePeriod(StatusFrame frame, uint8_t periodMs, int timeoutMs=0)=0
virtual ControlMode GetControlMode()=0
virtual ErrorCode SetControlFramePeriod(ControlFrame frame, int periodMs)=0
virtual ErrorCode ConfigMotionProfileTrajectoryPeriod(int baseTrajDurationMs, int timeoutMs=0)=0
virtual double GetSelectedSensorVelocity(int pidIdx=0)=0
virtual void Set(ControlMode mode, double demand0, DemandType demand1Type, double demand1)=0
virtual ErrorCode ConfigClosedloopRamp(double secondsFromNeutralToFull, int timeoutMs=0)=0
virtual ErrorCode ConfigRemoteFeedbackFilter(ctre::phoenix::motorcontrol::can::BaseTalon &talonRef, int remoteOrdinal, int timeoutMs=0)=0
virtual ErrorCode Config_kD(int slotIdx, double value, int timeoutMs=0)=0
virtual ErrorCode ConfigMaxIntegralAccumulator(int slotIdx, double iaccum, int timeoutMs=0)=0
virtual ErrorCode GetLastError()=0
virtual ErrorCode GetStickyFaults(StickyFaults &toFill)=0
virtual ErrorCode ConfigRemoteFeedbackFilter(int deviceID, RemoteSensorSource remoteSensorSource, int remoteOrdinal, int timeoutMs=0)=0
virtual ErrorCode ConfigSelectedFeedbackSensor(RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0)=0
virtual void SetNeutralMode(NeutralMode neutralMode)=0
virtual void OverrideLimitSwitchesEnable(bool enable)=0
virtual ErrorCode ConfigFeedbackNotContinuous(bool feedbackNotContinuous, int timeoutMs=0)=0
virtual double GetSelectedSensorPosition(int pidIdx=0)=0
virtual bool IsVoltageCompensationEnabled()=0
virtual ErrorCode SetIntegralAccumulator(double iaccum, int pidIdx=0, int timeoutMs=0)=0
virtual ErrorCode ConfigLimitSwitchDisableNeutralOnLOS(bool limitSwitchDisableNeutralOnLOS, int timeoutMs=0)=0
virtual ErrorCode ConfigAuxPIDPolarity(bool invert, int timeoutMs=0)=0
virtual ErrorCode ChangeMotionControlFramePeriod(int periodMs)=0
virtual double GetActiveTrajectoryVelocity(int pidIdx=0)=0
virtual ErrorCode ConfigRemoteFeedbackFilter(ctre::phoenix::sensors::CANCoder &canCoderRef, int remoteOrdinal, int timeoutMs=0)=0
virtual ErrorCode ConfigPulseWidthPeriod_EdgesPerRot(int pulseWidthPeriod_EdgesPerRot, int timeoutMs=0)=0
virtual double ConfigGetParameter(ParamEnum paramEnum, int ordinal, int timeoutMs=0)=0
virtual ErrorCode ConfigVoltageMeasurementFilter(int filterWindowSamples, int timeoutMs=0)=0
virtual ErrorCode ConfigSoftLimitDisableNeutralOnLOS(bool softLimitDisableNeutralOnLOS, int timeoutMs=0)=0
virtual double GetErrorDerivative(int pidIdx=0)=0
virtual ErrorCode ConfigForwardLimitSwitchSource(RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0
virtual int GetDeviceID()=0
virtual double GetClosedLoopTarget(int pidIdx=0)=0
virtual ErrorCode ConfigReverseLimitSwitchSource(RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0
virtual ErrorCode ConfigNominalOutputForward(double percentOut, int timeoutMs=0)=0
virtual double GetClosedLoopError(int pidIdx=0)=0
virtual ErrorCode ConfigFactoryDefault(int timeout)=0
virtual double GetMotorOutputPercent()=0
virtual ErrorCode ConfigNeutralDeadband(double percentDeadband, int timeoutMs=0)=0
virtual double GetBusVoltage()=0
virtual ErrorCode Config_IntegralZone(int slotIdx, double izone, int timeoutMs=0)=0
virtual ErrorCode ConfigReverseSoftLimitEnable(bool enable, int timeoutMs=0)=0
virtual ErrorCode Config_kF(int slotIdx, double value, int timeoutMs=0)=0
virtual bool GetInverted() const =0
virtual int ConfigGetCustomParam(int paramIndex, int timeoutMs=0)=0
virtual ErrorCode ClearStickyFaults(int timeoutMs=0)=0
virtual ErrorCode ConfigNominalOutputReverse(double percentOut, int timeoutMs=0)=0
virtual ErrorCode GetFaults(Faults &toFill)=0
virtual double GetIntegralAccumulator(int pidIdx=0)=0
virtual ErrorCode ConfigAllowableClosedloopError(int slotIdx, double allowableCloseLoopError, int timeoutMs=0)=0
virtual ErrorCode SelectProfileSlot(int slotIdx, int pidIdx)=0
virtual double GetTemperature()=0
virtual ErrorCode ConfigSetCustomParam(int newValue, int paramIndex, int timeoutMs=0)=0
virtual ErrorCode ConfigPeakOutputReverse(double percentOut, int timeoutMs=0)=0
virtual ErrorCode SetSelectedSensorPosition(double sensorPos, int pidIdx=0, int timeoutMs=50)=0
virtual void Set(ControlMode Mode, double demand)=0
virtual ErrorCode ConfigSetParameter(ParamEnum param, double value, uint8_t subValue, int ordinal, int timeoutMs=0)=0
virtual int GetMotionProfileTopLevelBufferCount()=0
virtual ErrorCode GetMotionProfileStatus(ctre::phoenix::motion::MotionProfileStatus &statusToFill)=0
virtual void SetInverted(bool invert)=0
virtual ErrorCode ConfigSensorTerm(SensorTerm sensorTerm, FeedbackDevice feedbackDevice, int timeoutMs=0)=0
virtual ErrorCode ConfigPulseWidthPeriod_FilterWindowSz(int pulseWidthPeriod_FilterWindowSz, int timeoutMs=0)=0
virtual double GetMotorOutputVoltage()=0
virtual ErrorCode ConfigClosedLoopPeakOutput(int slotIdx, double percentOut, int timeoutMs=0)=0
virtual ErrorCode ConfigForwardSoftLimitThreshold(double forwardSensorLimit, int timeoutMs=0)=0
virtual ErrorCode ConfigReverseSoftLimitThreshold(double reverseSensorLimit, int timeoutMs=0)=0
virtual ErrorCode ClearMotionProfileHasUnderrun(int timeoutMs=0)=0
virtual ErrorCode ConfigClosedLoopPeriod(int slotIdx, int loopTimeMs, int timeoutMs=0)=0
virtual ErrorCode ConfigMotionSCurveStrength(int curveStrength, int timeoutMs)=0
virtual ErrorCode Config_kP(int slotIdx, double value, int timeoutMs=0)=0
virtual void OverrideSoftLimitsEnable(bool enable)=0
virtual ErrorCode Config_kI(int slotIdx, double value, int timeoutMs=0)=0
virtual bool HasResetOccurred()=0
virtual ErrorCode ConfigClearPositionOnQuadIdx(bool clearPositionOnQuadIdx, int timeoutMs=0)=0
virtual ErrorCode ConfigSelectedFeedbackCoefficient(double coefficient, int pidIdx=0, int timeoutMs=0)=0
virtual ErrorCode ConfigVoltageCompSaturation(double voltage, int timeoutMs=0)=0
virtual void EnableVoltageCompensation(bool enable)=0
virtual ErrorCode ConfigForwardSoftLimitEnable(bool enable, int timeoutMs=0)=0
virtual ErrorCode ConfigOpenloopRamp(double secondsFromNeutralToFull, int timeoutMs=0)=0
virtual double GetActiveTrajectoryPosition(int pidIdx=0)=0
virtual ErrorCode ConfigClearPositionOnLimitR(bool clearPositionOnLimitR, int timeoutMs=0)=0
virtual int GetBaseID()=0
virtual void ProcessMotionProfileBuffer()=0
virtual ErrorCode ConfigMotionCruiseVelocity(double sensorUnitsPer100ms, int timeoutMs=0)=0
virtual void SetInverted(InvertType invertType)=0
virtual bool IsMotionProfileTopLevelBufferFull()=0
virtual ErrorCode ConfigPeakOutputForward(double percentOut, int timeoutMs=0)=0
virtual ErrorCode ConfigClearPositionOnLimitF(bool clearPositionOnLimitF, int timeoutMs=0)=0
virtual ErrorCode ConfigMotionAcceleration(double sensorUnitsPer100msPerSec, int timeoutMs=0)=0
virtual ErrorCode ConfigRemoteSensorClosedLoopDisableNeutralOnLOS(bool remoteSensorClosedLoopDisableNeutralOnLOS, int timeoutMs=0)=0
virtual double GetActiveTrajectoryArbFeedFwd(int pidIdx=0)=0
virtual int GetStatusFramePeriod(StatusFrame frame, int timeoutMs=0)=0
virtual void SetSensorPhase(bool PhaseSensor)=0
virtual ErrorCode PushMotionProfileTrajectory(const ctre::phoenix::motion::TrajectoryPoint &trajPt)=0
virtual int GetFirmwareVersion()=0
virtual ErrorCode ClearMotionProfileTrajectories()=0
Definition: BaseTalon.h:266
Definition: CANCoder.h:169
ControlMode
Definition: ControlMode.h:10
DemandType
Definition: DemandType.h:9
InvertType
Definition: InvertType.h:13
SensorTerm
Definition: SensorTerm.h:10
LimitSwitchNormal
Definition: LimitSwitchType.h:61
RemoteSensorSource
Definition: RemoteSensorSource.h:12
RemoteFeedbackDevice
Definition: FeedbackDevice.h:169
RemoteLimitSwitchSource
Definition: LimitSwitchType.h:34
FeedbackDevice
Definition: FeedbackDevice.h:13
NeutralMode
Definition: NeutralMode.h:10
ControlFrame
Definition: ControlFrame.h:10
StatusFrame
Definition: StatusFrame.h:94
ParamEnum
Definition: paramEnum.h:12
ErrorCode
Definition: ErrorCode.h:12
Definition: ErrorCode.h:5
Definition: MotionProfileStatus.h:14
Definition: TrajectoryPoint.h:10
Definition: StickyFaults.h:10