24#ifndef TAPROOT_UNJAM_COMMAND_HPP_
25#define TAPROOT_UNJAM_COMMAND_HPP_
40class SetpointSubsystem;
84 float unjamDisplacement,
87 uint_fast16_t targetCycleCount);
95 void end(
bool interrupted)
override;
99 const char*
getName()
const override {
return "agitator unjam"; }
109 void beginUnjamForwards();
111 void beginUnjamBackwards();
122 const uint32_t maxWaitTime;
124 SetpointSubsystem* setpointSubsystem;
129 float unjamDisplacement;
135 float unjamThreshold;
140 const uint_fast16_t targetCycleCount;
145 uint_fast16_t backwardsCount;
147 UnjamState currUnjamState;
149 float setpointBeforeUnjam;
151 float valueBeforeUnjam;
153 bool backwardsCleared;
155 bool forwardsCleared;
Definition timeout.hpp:44
Definition command.hpp:44
Definition setpoint_subsystem.hpp:48
Definition unjam_command.hpp:66
bool isReady() override
Definition unjam_command.cpp:56
bool isFinished() const override
Definition unjam_command.cpp:135
void initialize() override
Definition unjam_command.cpp:58
void end(bool interrupted) override
Definition unjam_command.cpp:123
void execute() override
Definition unjam_command.cpp:75
const char * getName() const override
Definition unjam_command.hpp:99
Definition ballistics.cpp:29