34 std::int32_t imaxVelocity,
114 std::shared_ptr<AbstractMotor>
motor;
Closed-loop controller that uses the V5 motor's onboard control to move.
double getTarget() override
Gets the last set target, or the default target if none was set.
void flipDisable(bool iisDisabled) override
Sets whether the controller is off or on.
std::shared_ptr< AbstractMotor > motor
void setTarget(double itarget) override
Sets the target for the controller.
double getError() const override
Returns the last error of the controller.
AbstractMotor::GearsetRatioPair pair
bool isSettled() override
Returns whether the controller has settled at the target.
AsyncVelIntegratedController(const std::shared_ptr< AbstractMotor > &imotor, const AbstractMotor::GearsetRatioPair &ipair, std::int32_t imaxVelocity, const TimeUtil &itimeUtil, const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
Closed-loop controller that uses the V5 motor's onboard control to move.
virtual void resumeMovement()
double getProcessValue() const override
void waitUntilSettled() override
Blocks the current task until the controller has settled.
std::unique_ptr< SettledUtil > settledUtil
void flipDisable() override
Changes whether the controller is off or on.
bool isDisabled() const override
Returns whether the controller is currently disabled.
void controllerSet(double ivalue) override
Writes the value of the controller output.
bool controllerIsDisabled
void reset() override
Resets the controller's internal state so it is similar to when it was first initialized,...
std::shared_ptr< Logger > logger
static std::shared_ptr< Logger > getDefaultLogger()
Utility class for holding an AbstractTimer, AbstractRate, and SettledUtil together in one class since...
A simple structure representing the full ratio between motor and wheel.