Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
Public Member Functions | List of all members
logic::NoCommand Class Reference

A dummy No-command operation just to make the init of the firmware consistent (and cleaner code during processing). More...

#include <no_command.h>

Inheritance diagram for logic::NoCommand:
Inheritance graph
[legend]
Collaboration diagram for logic::NoCommand:
Collaboration graph
[legend]

Public Member Functions

bool Reset (uint8_t) override
 Restart the automaton.
 
bool StepInner () override
 
void SetInitError (ErrorCode ec)
 
- Public Member Functions inherited from logic::CommandBase
bool Step ()
 
virtual ProgressCode State () const
 
ProgressCode TopLevelState () const
 
virtual ErrorCode Error () const
 
virtual ResultCode Result () const
 
void Panic (ErrorCode ec)
 

Additional Inherited Members

- Static Public Member Functions inherited from logic::CommandBase
static void InvalidateHoming ()
 Invalidates homing state on Idler and Selector - doesn't change anything about filament load status.
 
static void InvalidateHomingAndFilamentState ()
 
static void HoldIdlerSelector ()
 Put Idler and Selector on-hold - they shall not move (not even home) until ResumeIdlerSelector is called.
 
static void ResumeIdlerSelector ()
 Allow Idler and Selector to move/home again. Any move needs to be newly planned.
 
- Protected Member Functions inherited from logic::CommandBase
bool CheckToolIndex (uint8_t index)
 
bool WaitForModulesErrorRecovery ()
 
bool WaitForOneModuleErrorRecovery (ErrorCode iState, modules::motion::MovableBase &m, uint8_t axisMask)
 
void ErrDisengagingIdler ()
 Perform disengaging idler in ErrDisengagingIdler state.
 
void GoToErrDisengagingIdler (ErrorCode deferredEC)
 Transit the state machine into ErrDisengagingIdler.
 
void GoToErrEngagingIdler ()
 Transit the state machine into ErrEngagingIdler.
 
void FinishedOK ()
 Process end of command which finished OK.
 
- Protected Attributes inherited from logic::CommandBase
ProgressCode state
 current progress state of the state machine
 
ErrorCode error
 current error code
 
ErrorCode deferredErrorCode
 planned error code - occurs when doing GoToErrDisengagingIdler - after the idler disengaged, the error is set (not before)
 
ProgressCode stateBeforeModuleFailed
 saved state of the state machine before a common error happened
 
ErrorCode errorBeforeModuleFailed
 saved error of the state machine before a common error happened
 
uint8_t recoveringMovableErrorAxisMask
 

Detailed Description

A dummy No-command operation just to make the init of the firmware consistent (and cleaner code during processing).

Member Function Documentation

◆ SetInitError()

void logic::NoCommand::SetInitError ( ErrorCode  ec)
inline

Used to report initialization errors (which can be reported if the UART started up). Intentionally only available in the "noCommand" operation which is only active when the MMU starts and before it gets any other command from the printer.

◆ StepInner()

bool logic::NoCommand::StepInner ( )
inlineoverridevirtual
Returns
true if the state machine finished its job, false otherwise

Implements logic::CommandBase.


The documentation for this class was generated from the following file: