Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
|
#include <pulley.h>
Public Member Functions | |
bool | Step () |
void | PlanMove (mm::P_pos_t delta, mm::P_speed_t feed_rate, mm::P_speed_t end_rate={ 0 }) |
void | __attribute__ ((always_inline)) PlanMove(unit |
int32_t | CurrentPosition_mm () |
void | InitAxis () |
void | Disable () |
Public Member Functions inherited from modules::motion::MovableBase | |
constexpr | MovableBase (config::Axis axis) |
uint8_t | Slot () const |
virtual ~MovableBase(); intentionally disabled, see description in logic::CommandBase More... | |
uint8_t | State () const |
hal::tmc2130::ErrorFlags | TMCErrorFlags () const |
void | InvalidateHoming () |
OperationResult | PlanHome () |
bool | HomingValid () const |
config::Axis | Axis () const |
void | SetCurrents (uint8_t iRun, uint8_t iHold) |
void | HoldOn () |
bool | IsOnHold () const |
void | Resume () |
Allows the movable to move/home again after begin suspended by HoldOn. | |
Protected Member Functions | |
virtual void | PrepareMoveToPlannedSlot () override |
virtual void | PlanHomingMoveForward () override |
virtual void | PlanHomingMoveBack () override |
virtual bool | FinishHomingAndPlanMoveToParkPos () override |
virtual void | FinishMove () override |
Protected Member Functions inherited from modules::motion::MovableBase | |
virtual bool | StallGuardAllowed (bool forward) const |
OperationResult | InitMovement () |
OperationResult | InitMovementNoReinitAxis () |
Initializes movement of a movable module without reinitializing the axis/TMC driver. | |
void | PerformMove () |
void | PerformHomeForward () |
void | PerformHomeBack () |
void | HomeFailed () |
void | CheckTMC () |
uint16_t | AxisDistance (int32_t curPos) const |
Additional Inherited Members | |
Public Types inherited from modules::motion::MovableBase | |
enum | { Ready = 0 , Moving = 1 , PlannedHome = 2 , HomeForward = 3 , HomeBack = 4 , TMCFailed = 5 , HomingFailed = 6 , OnHold = 0x80 } |
Internal states of the state machine. More... | |
enum class | OperationResult : uint8_t { Accepted , Refused , Failed } |
Operation (Engage/Disengage/MoveToSlot) return values. More... | |
Protected Attributes inherited from modules::motion::MovableBase | |
uint8_t | state |
internal state of the automaton | |
uint8_t | plannedSlot |
planned slot - where to move to | |
uint8_t | currentSlot |
current slot | |
bool | homingValid |
true if the axis is considered as homed | |
hal::tmc2130::ErrorFlags | tmcErrorFlags |
cached TMC2130 error flags - being read only if the axis is enabled and doing something (moving) | |
config::Axis | axis |
int32_t | axisStart |
The Pulley model is an analogy to Idler and Selector. It encapsulates the same error handling principles like the other two (motored) modules. On the other hand - the Pulley is much simpler, there is no homing, engage/disengage and slots, but it supports free rotation in either directions and some computation on top of it.
int32_t modules::pulley::Pulley::CurrentPosition_mm | ( | ) |
|
overrideprotectedvirtual |
Implements modules::motion::MovableBase.
bool modules::pulley::Pulley::Step | ( | ) |
Performs one step of the state machine according to currently planned operation