Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
Public Types | Public Member Functions | List of all members
logic::FeedToBondtech Struct Reference

Feed filament to Bondtech gears of the printer. More...

#include <feed_to_bondtech.h>

Public Types

enum  {
  EngagingIdler , PushingFilamentFast , PushingFilamentToFSensor , PushingFilamentIntoNozzle ,
  PartiallyDisengagingIdler , DisengagingIdler , OK , Failed ,
  FSensorTooEarly
}
 internal states of the state machine
 

Public Member Functions

void Reset (uint8_t maxRetries)
 Restart the automaton.
 
bool Step ()
 
uint8_t State () const
 
void GoToPushToNozzle ()
 

Detailed Description

Feed filament to Bondtech gears of the printer.

Continuously feed filament until the printer detects the filament in its filament sensor. Then it feeds a bit more very gently to push the filament into the nozzle Disengages the Idler after finishing the feed. Disables the Pulley axis after disengaging the idler.

If filament has been successfully fed into the fsensor, records/updates PTFE length. To prevent constant EEPROM updates only significant changes are recorded.

Member Function Documentation

◆ GoToPushToNozzle()

void logic::FeedToBondtech::GoToPushToNozzle ( )

Transition to PushingFilamentIntoNozzle. Allows jumping into the state machine from outside just to push filament slowly into the nozzle (this principle uses tool change)

◆ State()

uint8_t logic::FeedToBondtech::State ( ) const
inline

This method may be used to check the result of the automaton

Returns
OK if everything went OK and printer's filament sensor triggered
Failed if the maximum feed length has been reached without the the printer's fsensor trigger being reported

◆ Step()

bool logic::FeedToBondtech::Step ( )
Returns
true if the state machine finished its job, false otherwise

The documentation for this struct was generated from the following files: