37 , recoveringMovableErrorAxisMask(0) {}
48 virtual bool Reset(uint8_t param) = 0;
141 uint8_t recoveringMovableErrorAxisMask;
Base class defining common API for high-level operations/commands/state machines.
Definition: command_base.h:29
virtual ProgressCode State() const
Definition: command_base.h:69
ErrorCode errorBeforeModuleFailed
saved error of the state machine before a common error happened
Definition: command_base.h:140
ErrorCode deferredErrorCode
planned error code - occurs when doing GoToErrDisengagingIdler - after the idler disengaged,...
Definition: command_base.h:138
ProgressCode state
current progress state of the state machine
Definition: command_base.h:136
ProgressCode stateBeforeModuleFailed
saved state of the state machine before a common error happened
Definition: command_base.h:139
void Panic(ErrorCode ec)
Definition: command_base.cpp:145
ProgressCode TopLevelState() const
Definition: command_base.h:73
void FinishedOK()
Process end of command which finished OK.
ErrorCode error
current error code
Definition: command_base.h:137
bool WaitForOneModuleErrorRecovery(ErrorCode iState, modules::motion::MovableBase &m, uint8_t axisMask)
Definition: command_base.cpp:73
bool Step()
Definition: command_base.cpp:137
virtual bool Reset(uint8_t param)=0
static void InvalidateHoming()
Invalidates homing state on Idler and Selector - doesn't change anything about filament load status.
Definition: command_base.cpp:154
static void ResumeIdlerSelector()
Allow Idler and Selector to move/home again. Any move needs to be newly planned.
Definition: command_base.cpp:185
void GoToErrDisengagingIdler(ErrorCode deferredEC)
Transit the state machine into ErrDisengagingIdler.
Definition: command_base.cpp:212
static void HoldIdlerSelector()
Put Idler and Selector on-hold - they shall not move (not even home) until ResumeIdlerSelector is cal...
Definition: command_base.cpp:180
virtual bool StepInner()=0
virtual ResultCode Result() const
Definition: command_base.h:85
void ErrDisengagingIdler()
Perform disengaging idler in ErrDisengagingIdler state.
Definition: command_base.cpp:200
void GoToErrEngagingIdler()
Transit the state machine into ErrEngagingIdler.
bool WaitForModulesErrorRecovery()
Definition: command_base.cpp:130
virtual ErrorCode Error() const
Definition: command_base.h:79
static void InvalidateHomingAndFilamentState()
Definition: command_base.cpp:160
bool CheckToolIndex(uint8_t index)
Definition: command_base.cpp:190
Base class for movable modules - modules::idler::Idler and modules::selector::Selector contains the c...
Definition: movable_base.h:11
ErrorCode
Definition: error_codes.h:17
@ OK
the operation finished OK
The logic namespace handles the application logic on top of the modules.
Definition: application.h:8
ErrorCode AddErrorAxisBit(ErrorCode ec, uint8_t axis)
The modules namespace contains models of MMU's components.
Definition: command_base.h:8
ProgressCode
Definition: progress_codes.h:11
ResultCode
Definition: result_codes.h:10