24namespace motorcontrol {
68 FeedbackDevice feedbackDevice,
int pidIdx = 0,
int timeoutMs = 0) = 0;
121 int timeoutMs = 0) = 0;
142 uint8_t periodMs,
int timeoutMs = 0) = 0;
194 int timeoutMs = 0)= 0;
210 int timeoutMs = 0)= 0;
234 int deviceID,
int timeoutMs = 0) = 0;
256 int deviceID,
int timeoutMs = 0) = 0;
Interface for enhanced motor controllers.
Definition: IMotorControllerEnhanced.h:29
virtual ErrorCode SetStatusFramePeriod(StatusFrameEnhanced frame, uint8_t periodMs, int timeoutMs=0)=0
Sets the period of the given status frame.
virtual ErrorCode ConfigVelocityMeasurementWindow(int windowSize, int timeoutMs=0)=0
Sets the number of velocity samples used in the rolling average velocity measurement.
virtual ErrorCode ConfigSelectedFeedbackSensor(RemoteFeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0)=0
Select the feedback device for the motor controller.
virtual ErrorCode ConfigReverseLimitSwitchSource(LimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0)=0
Configures the reverse limit switch for a remote source.
virtual ~IMotorControllerEnhanced()
Definition: IMotorControllerEnhanced.h:31
virtual int GetStatusFramePeriod(StatusFrame frame, int timeoutMs=0)=0
Gets the period of the given status frame.
virtual ErrorCode ConfigForwardLimitSwitchSource(RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0
Configures the forward limit switch for a remote source.
virtual ErrorCode ConfigReverseLimitSwitchSource(RemoteLimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int deviceID, int timeoutMs=0)=0
Configures the reverse limit switch for a remote source.
virtual ErrorCode SetStatusFramePeriod(StatusFrame frame, uint8_t periodMs, int timeoutMs=0)=0
Sets the period of the given status frame.
virtual int GetStatusFramePeriod(StatusFrameEnhanced frame, int timeoutMs=0)=0
Gets the period of the given status frame.
virtual ErrorCode ConfigForwardLimitSwitchSource(LimitSwitchSource type, LimitSwitchNormal normalOpenOrClose, int timeoutMs=0)=0
Configures the forward limit switch for a remote source.
virtual double GetOutputCurrent()=0
Gets the output current of the motor controller.
virtual ErrorCode ConfigVelocityMeasurementPeriod(VelocityMeasPeriod period, int timeoutMs=0)=0
Sets the period over which velocity measurements are taken.
virtual ErrorCode ConfigSelectedFeedbackSensor(FeedbackDevice feedbackDevice, int pidIdx=0, int timeoutMs=0)=0
Select the feedback device for the motor controller.
virtual ErrorCode ConfigSupplyCurrentLimit(const SupplyCurrentLimitConfiguration &currLimitConfigs, int timeoutMs=50)=0
Configures the supply-side current limit.
Interface for motor controllers.
Definition: IMotorController.h:35
StatusFrameEnhanced
The different status frames available to enhanced motor controllers.
Definition: StatusFrame.h:11
LimitSwitchNormal
Choose whether the limit switch is normally open or normally closed.
Definition: LimitSwitchType.h:62
RemoteFeedbackDevice
Choose the remote feedback device for a motor controller.
Definition: FeedbackDevice.h:179
RemoteLimitSwitchSource
Remote Limit switch source enum.
Definition: LimitSwitchType.h:35
FeedbackDevice
Choose the feedback device for a motor controller.
Definition: FeedbackDevice.h:14
VelocityMeasPeriod
Velocity Measurement Periods.
Definition: VelocityMeasPeriod.h:13
StatusFrame
The different status frames available to motor controllers.
Definition: StatusFrame.h:99
LimitSwitchSource
Limit switch source enum.
Definition: LimitSwitchType.h:11
ErrorCode
Definition: ErrorCode.h:13
namespace ctre
Definition: paramEnum.h:5
Describes the desired stator current limiting behavior.
Definition: SupplyCurrentLimitConfiguration.h:13