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)