Class MoveIntegralCommand¶
Defined in File move_integral_command.hpp
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public tap::control::Command(Class Command)
Class Documentation¶
-
class MoveIntegralCommand : public tap::control::Command¶
A command that aims to keep the an IntegrableSetpointSubsystem’s setpoint at some target value until the integral of the setpoint over time equals a specified value.
Ends if the subsystem is offline or jammed.
Public Functions
-
MoveIntegralCommand(IntegrableSetpointSubsystem &integrableSetpointSubsystem, const Config &config)¶
See also
- Parameters:
integrableSetpointSubsystem – [in] The subsystem associated with the move integral command.
config – [in] The move integral command’s config struct,
-
inline virtual const char *getName() const override¶
-
inline virtual bool isReady() override¶
-
virtual void initialize() override¶
-
inline virtual void execute() override¶
-
virtual void end(bool interrupted) override¶
-
virtual bool isFinished() const override¶
Protected Functions
-
inline bool targetIntegralReached() const¶
- Returns:
True if the intgral setpoint has reached the target integral
Protected Attributes
-
IntegrableSetpointSubsystem &integrableSetpointSubsystem¶
-
float finalTargetIntegralSetpoint = 0¶
-
struct Config¶
Config struct that the user passes into the MoveIntegralCommand’s constructor.
- Attention
targetIntegralChange and desiredSetpoint must have the same sign.
Public Members
-
float targetIntegralChange¶
The desired change with units
units * seconds(units of setpoint integrated with respect to time).
-
float desiredSetpoint¶
The desired setpoint in units.
-
float integralSetpointTolerance¶
The difference between the current and desired integral when the command will be considered to be complete, in the integral of units.
- Attention
This value must be >= 0
-
MoveIntegralCommand(IntegrableSetpointSubsystem &integrableSetpointSubsystem, const Config &config)¶