|
Fang-Robotics-MCB
Fang Robotics Team Codebase
|
#include <move_absolute_command.hpp>


Public Member Functions | |
| MoveAbsoluteCommand (tap::control::setpoint::SetpointSubsystem *setpointSubsystem, float setpoint, float speed, float setpointTolerance, bool shouldAutomaticallyClearJam, bool setSetpointToTargetOnEnd) | |
| const char * | getName () const override |
| bool | isReady () override |
| void | initialize () override |
| void | execute () override |
| void | end (bool interrupted) override |
| bool | isFinished () const override |
Public Member Functions inherited from tap::control::Command | |
| Command () | |
| virtual | ~Command () |
| mockable subsystem_scheduler_bitmap_t | getRequirementsBitwise () const |
| int | getGlobalIdentifier () const |
| mockable void | addSubsystemRequirement (Subsystem *requirement) |
Protected Attributes | |
| tap::control::setpoint::SetpointSubsystem * | setpointSubsystem |
Protected Attributes inherited from tap::control::Command | |
| command_scheduler_bitmap_t | commandRequirementsBitwise = 0 |
A command that uses an SetpointSubsystem to move to the same position/value everytime, attemping to rotate at the given velocity. (Coordinates may shift if motor disconnects). This command ends immediately if the agitator is jammed, and upon ending will stop the connected agitator by setting its target position to its current position.
Subsystem values are relative, and the "0"-value is changed when the agitator is calibrated.
|
explicit |
| [in] | setpointSubsystem | the subsystem this command manipulates. |
| [in] | setpoint | the target value the controlled variable should reach |
| [in] | speed | The speed the subsystem should attempt to move its value at in units/second (where "units" are the same as those the setpoint uses) |
| [in] | setpointTolerance | the command will consider the target value as reached when it's distance to the target is within this value |
| [in] | shouldAutomaticallyClearJam | the command will clear the subsystem's jam state without any unjamming performed |
| [in] | setSetpointToTargetOnEnd | the command will set the subsystem's setpoint to the target value when ending if true, otherwise it will set the setpoint to the subsystem's current value. |
|
overridevirtual |
The action to take when the command ends. Called when either the command finishes normally, or when it interrupted/canceled.
| [in] | interrupted | whether the command was interrupted/canceled. |
Implements tap::control::Command.
|
overridevirtual |
The main body of a command. Called repeatedly while the command is scheduled by a CommandScheduler.
Implements tap::control::Command.
|
inlineoverridevirtual |
Implements tap::control::Command.
|
overridevirtual |
The initial subroutine of a command. Called once when the command is initially scheduled by a CommandScheduler.
Note that command instances are re-used: a single command could be initialized, run, finished, then later initialized again. Ensure that initialize() resets any state stored in the command!
Implements tap::control::Command.
|
overridevirtual |
Whether the command has finished. Once a Command finishes, the scheduler will call the end() function and un-schedule it. If a Command is naturally finished (i.e. isFinished() == true), then the CommandScheduler will pass in false to end(). If, for example, another Command is added that in turn stops the Command from executing, then the CommandScheduler will pass in true to end().
Implements tap::control::Command.
|
overridevirtual |
A check called right before a command is scheduled to determine whether or not a command should be scheduled. If return is true then the command is scheduled, if false then the command is not scheduled.
Not forced to be overridden, returns true by default.
Reimplemented from tap::control::Command.
|
protected |