Browse Source

🚸 Filament Change add confirm step (#22277)

vanilla_fb_2.0.x
Cytown 3 years ago
committed by Scott Lahteine
parent
commit
2753b4eeaa
  1. 17
      Marlin/src/lcd/menu/menu_filament.cpp
  2. 10
      Marlin/src/lcd/menu/menu_main.cpp

17
Marlin/src/lcd/menu/menu_filament.cpp

@ -106,10 +106,11 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
* "Change Filament" submenu * "Change Filament" submenu
*/ */
#if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES) #if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
bool printingIsPaused(); bool printingIsPaused();
#endif
void menu_change_filament() { void menu_change_filament() {
#if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
// Say "filament change" when no print is active // Say "filament change" when no print is active
editable.int8 = printingIsPaused() ? PAUSE_MODE_PAUSE_PRINT : PAUSE_MODE_CHANGE_FILAMENT; editable.int8 = printingIsPaused() ? PAUSE_MODE_PAUSE_PRINT : PAUSE_MODE_CHANGE_FILAMENT;
@ -204,8 +205,16 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
#endif #endif
END_MENU(); END_MENU();
}
#endif #else
if (thermalManager.targetHotEnoughToExtrude(active_extruder))
queue.inject_P(PSTR("M600B0"));
else
_menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0);
#endif
}
static uint8_t hotend_status_extruder = 0; static uint8_t hotend_status_extruder = 0;

10
Marlin/src/lcd/menu/menu_main.cpp

@ -77,7 +77,6 @@ void menu_configuration();
#endif #endif
#if ENABLED(ADVANCED_PAUSE_FEATURE) #if ENABLED(ADVANCED_PAUSE_FEATURE)
void _menu_temp_filament_op(const PauseMode, const int8_t);
void menu_change_filament(); void menu_change_filament();
#endif #endif
@ -365,10 +364,11 @@ void menu_main() {
#if ENABLED(ADVANCED_PAUSE_FEATURE) #if ENABLED(ADVANCED_PAUSE_FEATURE)
#if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES) #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
if (thermalManager.targetHotEnoughToExtrude(active_extruder)) CONFIRM_ITEM(MSG_FILAMENTCHANGE,
GCODES_ITEM(MSG_FILAMENTCHANGE, PSTR("M600 B0")); MSG_YES, MSG_NO,
else menu_change_filament, ui.goto_previous_screen,
SUBMENU(MSG_FILAMENTCHANGE, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); }); GET_TEXT(MSG_FILAMENTCHANGE), (const char *)nullptr, PSTR("?")
);
#else #else
SUBMENU(MSG_FILAMENTCHANGE, menu_change_filament); SUBMENU(MSG_FILAMENTCHANGE, menu_change_filament);
#endif #endif

Loading…
Cancel
Save