Class MoveUnjamIntegralComprisedCommand

Inheritance Relationships

Base Type

Class Documentation

class MoveUnjamIntegralComprisedCommand : public tap::control::ComprisedCommand

A comprised command that combines the integral unjam and rotate commands. Will schedule the move command when not jammed. When jammed, will switch to the unjam command.

Public Functions

MoveUnjamIntegralComprisedCommand(tap::Drivers &drivers, IntegrableSetpointSubsystem &subsystem, MoveIntegralCommand &moveIntegralCommand, UnjamCommandInterface &unjamCommand)

Note

The move integral and unjam integral commands must have the same subsystem requirement. This subsystem requirement must be the subsystem passed in.

Parameters:
  • drivers[in] A reference to the Drivers struct.

  • subsystem[in] The IntegrableSetpointSubsystem that will be rotated or unjammed.

  • moveIntegralCommand[in] A command that rotates the agitator forward.

  • unjamCommand[in] A command that unjams the agitator.

virtual bool isReady() override
virtual void initialize() override
virtual void execute() override
virtual void end(bool interrupted) override
virtual bool isFinished() const override
inline virtual const char *getName() const override