4 #include "../config/axis.h"
5 #include "../hal/tmc2130.h"
51 inline hal::tmc2130::ErrorFlags TMCErrorFlags()
const {
return tmcErrorFlags; }
69 inline bool HomingValid()
const {
return homingValid; }
109 virtual void PrepareMoveToPlannedSlot() = 0;
110 virtual void PlanHomingMoveForward() = 0;
111 virtual void PlanHomingMoveBack() = 0;
114 virtual void FinishMove() = 0;
131 void PerformHomeForward();
132 void PerformHomeBack();
138 uint16_t AxisDistance(int32_t curPos)
const;
Base class for movable modules - modules::idler::Idler and modules::selector::Selector contains the c...
Definition: movable_base.h:11
uint8_t State() const
Definition: movable_base.h:49
virtual bool FinishHomingAndPlanMoveToParkPos()=0
void HoldOn()
Definition: movable_base.cpp:34
void InvalidateHoming()
Definition: movable_base.h:63
void SetCurrents(uint8_t iRun, uint8_t iHold)
bool IsOnHold() const
Definition: movable_base.h:82
OperationResult InitMovement()
Definition: movable_base.cpp:42
uint8_t currentSlot
current slot
Definition: movable_base.h:97
@ OnHold
needs to be a separate bit due to homing recovery infrastructure
Definition: movable_base.h:22
OperationResult InitMovementNoReinitAxis()
Initializes movement of a movable module without reinitializing the axis/TMC driver.
virtual bool StallGuardAllowed(bool forward) const
Definition: movable_base.h:120
OperationResult PlanHome()
Definition: movable_base.cpp:9
void Resume()
Allows the movable to move/home again after begin suspended by HoldOn.
Definition: movable_base.h:85
hal::tmc2130::ErrorFlags tmcErrorFlags
cached TMC2130 error flags - being read only if the axis is enabled and doing something (moving)
Definition: movable_base.h:103
uint8_t Slot() const
virtual ~MovableBase(); intentionally disabled, see description in logic::CommandBase
Definition: movable_base.h:46
bool homingValid
true if the axis is considered as homed
Definition: movable_base.h:100
uint8_t plannedSlot
planned slot - where to move to
Definition: movable_base.h:94
uint8_t state
internal state of the automaton
Definition: movable_base.h:91
OperationResult
Operation (Engage/Disengage/MoveToSlot) return values.
Definition: movable_base.h:26
@ Accepted
the operation has been successfully started
@ Failed
the operation could not been started due to HW issues
@ Refused
another operation is currently underway, cannot start a new one
Axis
List of available axes.
Definition: axis.h:35
The modules namespace contains models of MMU's components.
Definition: command_base.h:8