Towards MMU2 without LCD
This commit is contained in:
parent
ca34edc5b0
commit
47ad2caab2
3 changed files with 178 additions and 181 deletions
|
|
@ -105,8 +105,6 @@ int16_t MMU2::version = -1, MMU2::buildnr = -1;
|
|||
millis_t MMU2::prev_request, MMU2::prev_P0_request;
|
||||
char MMU2::rx_buffer[MMU_RX_SIZE], MMU2::tx_buffer[MMU_TX_SIZE];
|
||||
|
||||
#if BOTH(HAS_LCD_MENU, MMU2_MENUS)
|
||||
|
||||
struct E_Step {
|
||||
float extrude; //!< extrude distance in mm
|
||||
feedRate_t feedRate; //!< feed rate in mm/s
|
||||
|
|
@ -121,8 +119,6 @@ char MMU2::rx_buffer[MMU_RX_SIZE], MMU2::tx_buffer[MMU_TX_SIZE];
|
|||
#endif
|
||||
;
|
||||
|
||||
#endif
|
||||
|
||||
MMU2::MMU2() {
|
||||
rx_buffer[0] = '\0';
|
||||
}
|
||||
|
|
@ -906,9 +902,8 @@ void MMU2::filament_runout() {
|
|||
DEBUG_ECHOLNPGM(" succeeded.");
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_LCD_MENU, MMU2_MENUS)
|
||||
#endif
|
||||
|
||||
// Load filament into MMU2
|
||||
void MMU2::load_filament(const uint8_t index) {
|
||||
|
|
@ -971,7 +966,7 @@ void MMU2::filament_runout() {
|
|||
|
||||
ENABLE_AXIS_E0();
|
||||
current_position.e -= MMU2_FILAMENTCHANGE_EJECT_FEED;
|
||||
line_to_current_position(2500 / 60);
|
||||
line_to_current_position(MMM_TO_MMS(2500));
|
||||
planner.synchronize();
|
||||
command(MMU_CMD_E0 + index);
|
||||
manage_response(false, false);
|
||||
|
|
@ -1062,6 +1057,4 @@ void MMU2::filament_runout() {
|
|||
DISABLE_AXIS_E0();
|
||||
}
|
||||
|
||||
#endif // HAS_LCD_MENU && MMU2_MENUS
|
||||
|
||||
#endif // HAS_PRUSA_MMU2
|
||||
|
|
|
|||
|
|
@ -49,13 +49,11 @@ public:
|
|||
static uint8_t get_current_tool();
|
||||
static void set_filament_type(const uint8_t index, const uint8_t type);
|
||||
|
||||
#if BOTH(HAS_LCD_MENU, MMU2_MENUS)
|
||||
static bool unload();
|
||||
static void load_filament(uint8_t);
|
||||
static void load_all();
|
||||
static bool load_filament_to_nozzle(const uint8_t index);
|
||||
static bool eject_filament(const uint8_t index, const bool recover);
|
||||
#endif
|
||||
|
||||
private:
|
||||
static bool rx_str_P(const char* str);
|
||||
|
|
@ -72,11 +70,9 @@ private:
|
|||
static bool get_response();
|
||||
static void manage_response(const bool move_axes, const bool turn_off_nozzle);
|
||||
|
||||
#if BOTH(HAS_LCD_MENU, MMU2_MENUS)
|
||||
static void load_to_nozzle();
|
||||
static void filament_ramming();
|
||||
static void execute_extruder_sequence(const E_Step * sequence, int steps);
|
||||
#endif
|
||||
|
||||
static void filament_runout();
|
||||
|
||||
|
|
|
|||
|
|
@ -874,6 +874,31 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
|||
#error "INDIVIDUAL_AXIS_HOMING_MENU is incompatible with DELTA kinematics."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Multi-Material-Unit requirements
|
||||
*/
|
||||
#if HAS_PRUSA_MMU2
|
||||
#if EXTRUDERS != 5
|
||||
#undef SINGLENOZZLE
|
||||
#error "PRUSA_MMU2(S) requires exactly 5 EXTRUDERS. Please update your Configuration."
|
||||
#elif DISABLED(NOZZLE_PARK_FEATURE)
|
||||
#error "PRUSA_MMU2(S) requires NOZZLE_PARK_FEATURE. Enable it to continue."
|
||||
#elif ENABLED(HAS_PRUSA_MMU2S) && DISABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
#error "PRUSA_MMU2S requires FILAMENT_RUNOUT_SENSOR. Enable it to continue."
|
||||
#elif ENABLED(MMU_EXTRUDER_SENSOR) && DISABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
#error "MMU_EXTRUDER_SENSOR requires FILAMENT_RUNOUT_SENSOR. Enable it to continue."
|
||||
#elif HAS_PRUSA_MMU2S && !HAS_LCD_MENU
|
||||
#error "PRUSA_MMU2S requires an LCD supporting MarlinUI to be enabled."
|
||||
#elif ENABLED(MMU_EXTRUDER_SENSOR) && !HAS_LCD_MENU
|
||||
#error "MMU_EXTRUDER_SENSOR requires an LCD supporting MarlinUI to be enabled."
|
||||
#elif DISABLED(ADVANCED_PAUSE_FEATURE)
|
||||
static_assert(nullptr == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2(S) / SMUFF_EMU_MMU2(S).");
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_SMUFF && EXTRUDERS > 15
|
||||
#error "Too many extruders for SMUFF_EMU_MMU2(S). (15 maximum)."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Options only for EXTRUDERS > 1
|
||||
*/
|
||||
|
|
@ -2958,23 +2983,6 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Multi-Material-Unit requirements
|
||||
*/
|
||||
#if HAS_SMUFF && EXTRUDERS > 15
|
||||
#error "Too many extruders for SMUFF_EMU_MMU2(S). (15 maximum)."
|
||||
#elif HAS_PRUSA_MMU2
|
||||
#if EXTRUDERS != 5
|
||||
#error "PRUSA_MMU2 / PRUSA_MMU2S requires EXTRUDERS = 5."
|
||||
#elif DISABLED(NOZZLE_PARK_FEATURE)
|
||||
#error "PRUSA_MMU2 / PRUSA_MMU2S requires NOZZLE_PARK_FEATURE. Enable it to continue."
|
||||
#elif EITHER(HAS_PRUSA_MMU2S, MMU_EXTRUDER_SENSOR) && DISABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
#error "PRUSA_MMU2S or MMU_EXTRUDER_SENSOR requires FILAMENT_RUNOUT_SENSOR. Enable it to continue."
|
||||
#elif DISABLED(ADVANCED_PAUSE_FEATURE)
|
||||
static_assert(nullptr == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2(S) / SMUFF_EMU_MMU2(S).");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Advanced PRINTCOUNTER settings
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue