|
|
|
@ -34,19 +34,20 @@
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
#include "../../feature/runout.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Change Filament > Change/Unload/Load Filament
|
|
|
|
|
//
|
|
|
|
|
static AdvancedPauseMode _change_filament_temp_mode; // =ADVANCED_PAUSE_MODE_PAUSE_PRINT
|
|
|
|
|
static PauseMode _change_filament_temp_mode; // =PAUSE_MODE_PAUSE_PRINT
|
|
|
|
|
static int8_t _change_filament_temp_extruder; // =0
|
|
|
|
|
|
|
|
|
|
inline PGM_P _change_filament_temp_command() {
|
|
|
|
|
switch (_change_filament_temp_mode) {
|
|
|
|
|
case ADVANCED_PAUSE_MODE_LOAD_FILAMENT:
|
|
|
|
|
case PAUSE_MODE_LOAD_FILAMENT:
|
|
|
|
|
return PSTR("M701 T%d");
|
|
|
|
|
case ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT:
|
|
|
|
|
case PAUSE_MODE_UNLOAD_FILAMENT:
|
|
|
|
|
return _change_filament_temp_extruder >= 0 ? PSTR("M702 T%d") : PSTR("M702 ;%d");
|
|
|
|
|
case ADVANCED_PAUSE_MODE_PAUSE_PRINT:
|
|
|
|
|
case PAUSE_MODE_PAUSE_PRINT:
|
|
|
|
|
default:
|
|
|
|
|
return PSTR("M600 B0 T%d");
|
|
|
|
|
}
|
|
|
|
@ -63,18 +64,18 @@ inline void _lcd_change_filament_temp_1_func() { _change_filament_temp(ui.pre
|
|
|
|
|
inline void _lcd_change_filament_temp_2_func() { _change_filament_temp(ui.preheat_hotend_temp[1]); }
|
|
|
|
|
inline void _lcd_change_filament_temp_custom_cb() { _change_filament_temp(thermalManager.temp_hotend[_change_filament_temp_extruder].target); }
|
|
|
|
|
|
|
|
|
|
static PGM_P change_filament_header(const AdvancedPauseMode mode) {
|
|
|
|
|
static PGM_P change_filament_header(const PauseMode mode) {
|
|
|
|
|
switch (mode) {
|
|
|
|
|
case ADVANCED_PAUSE_MODE_LOAD_FILAMENT:
|
|
|
|
|
case PAUSE_MODE_LOAD_FILAMENT:
|
|
|
|
|
return PSTR(MSG_FILAMENTLOAD);
|
|
|
|
|
case ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT:
|
|
|
|
|
case PAUSE_MODE_UNLOAD_FILAMENT:
|
|
|
|
|
return PSTR(MSG_FILAMENTUNLOAD);
|
|
|
|
|
default: break;
|
|
|
|
|
}
|
|
|
|
|
return PSTR(MSG_FILAMENTCHANGE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _menu_temp_filament_op(const AdvancedPauseMode mode, const int8_t extruder) {
|
|
|
|
|
void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
|
|
|
|
|
_change_filament_temp_mode = mode;
|
|
|
|
|
_change_filament_temp_extruder = extruder;
|
|
|
|
|
START_MENU();
|
|
|
|
@ -105,28 +106,28 @@ void _menu_temp_filament_op(const AdvancedPauseMode mode, const int8_t extruder)
|
|
|
|
|
END_MENU();
|
|
|
|
|
}
|
|
|
|
|
#if E_STEPPERS
|
|
|
|
|
void menu_temp_e0_filament_change() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_PAUSE_PRINT, 0); }
|
|
|
|
|
void menu_temp_e0_filament_load() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_LOAD_FILAMENT, 0); }
|
|
|
|
|
void menu_temp_e0_filament_unload() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT, 0); }
|
|
|
|
|
void menu_temp_e0_filament_change() { _menu_temp_filament_op(PAUSE_MODE_PAUSE_PRINT, 0); }
|
|
|
|
|
void menu_temp_e0_filament_load() { _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); }
|
|
|
|
|
void menu_temp_e0_filament_unload() { _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); }
|
|
|
|
|
#if E_STEPPERS > 1
|
|
|
|
|
void menu_temp_e1_filament_change() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_PAUSE_PRINT, 1); }
|
|
|
|
|
void menu_temp_e1_filament_load() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_LOAD_FILAMENT, 1); }
|
|
|
|
|
void menu_temp_e1_filament_unload() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT, 1); }
|
|
|
|
|
void menu_temp_e1_filament_change() { _menu_temp_filament_op(PAUSE_MODE_PAUSE_PRINT, 1); }
|
|
|
|
|
void menu_temp_e1_filament_load() { _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 1); }
|
|
|
|
|
void menu_temp_e1_filament_unload() { _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 1); }
|
|
|
|
|
#if ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS)
|
|
|
|
|
void menu_unload_filament_all_temp() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT, -1); }
|
|
|
|
|
void menu_unload_filament_all_temp() { _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); }
|
|
|
|
|
#endif
|
|
|
|
|
#if E_STEPPERS > 2
|
|
|
|
|
void menu_temp_e2_filament_change() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_PAUSE_PRINT, 2); }
|
|
|
|
|
void menu_temp_e2_filament_load() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_LOAD_FILAMENT, 2); }
|
|
|
|
|
void menu_temp_e2_filament_unload() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT, 2); }
|
|
|
|
|
void menu_temp_e2_filament_change() { _menu_temp_filament_op(PAUSE_MODE_PAUSE_PRINT, 2); }
|
|
|
|
|
void menu_temp_e2_filament_load() { _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 2); }
|
|
|
|
|
void menu_temp_e2_filament_unload() { _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 2); }
|
|
|
|
|
#if E_STEPPERS > 3
|
|
|
|
|
void menu_temp_e3_filament_change() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_PAUSE_PRINT, 3); }
|
|
|
|
|
void menu_temp_e3_filament_load() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_LOAD_FILAMENT, 3); }
|
|
|
|
|
void menu_temp_e3_filament_unload() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT, 3); }
|
|
|
|
|
void menu_temp_e3_filament_change() { _menu_temp_filament_op(PAUSE_MODE_PAUSE_PRINT, 3); }
|
|
|
|
|
void menu_temp_e3_filament_load() { _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 3); }
|
|
|
|
|
void menu_temp_e3_filament_unload() { _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 3); }
|
|
|
|
|
#if E_STEPPERS > 4
|
|
|
|
|
void menu_temp_e4_filament_change() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_PAUSE_PRINT, 4); }
|
|
|
|
|
void menu_temp_e4_filament_load() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_LOAD_FILAMENT, 4); }
|
|
|
|
|
void menu_temp_e4_filament_unload() { _menu_temp_filament_op(ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT, 4); }
|
|
|
|
|
void menu_temp_e4_filament_change() { _menu_temp_filament_op(PAUSE_MODE_PAUSE_PRINT, 4); }
|
|
|
|
|
void menu_temp_e4_filament_load() { _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 4); }
|
|
|
|
|
void menu_temp_e4_filament_unload() { _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 4); }
|
|
|
|
|
#endif // E_STEPPERS > 4
|
|
|
|
|
#endif // E_STEPPERS > 3
|
|
|
|
|
#endif // E_STEPPERS > 2
|
|
|
|
@ -310,14 +311,13 @@ void _menu_temp_filament_op(const AdvancedPauseMode mode, const int8_t extruder)
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
static AdvancedPauseMode advanced_pause_mode = ADVANCED_PAUSE_MODE_PAUSE_PRINT;
|
|
|
|
|
static uint8_t hotend_status_extruder = 0;
|
|
|
|
|
|
|
|
|
|
static PGM_P advanced_pause_header() {
|
|
|
|
|
switch (advanced_pause_mode) {
|
|
|
|
|
case ADVANCED_PAUSE_MODE_LOAD_FILAMENT:
|
|
|
|
|
static PGM_P pause_header() {
|
|
|
|
|
switch (pause_mode) {
|
|
|
|
|
case PAUSE_MODE_LOAD_FILAMENT:
|
|
|
|
|
return PSTR(MSG_FILAMENT_CHANGE_HEADER_LOAD);
|
|
|
|
|
case ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT:
|
|
|
|
|
case PAUSE_MODE_UNLOAD_FILAMENT:
|
|
|
|
|
return PSTR(MSG_FILAMENT_CHANGE_HEADER_UNLOAD);
|
|
|
|
|
default: break;
|
|
|
|
|
}
|
|
|
|
@ -340,26 +340,26 @@ static PGM_P advanced_pause_header() {
|
|
|
|
|
++_thisItemNr; \
|
|
|
|
|
}while(0)
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_resume_print() {
|
|
|
|
|
advanced_pause_menu_response = ADVANCED_PAUSE_RESPONSE_RESUME_PRINT;
|
|
|
|
|
void lcd_pause_resume_print() {
|
|
|
|
|
pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_extrude_more() {
|
|
|
|
|
advanced_pause_menu_response = ADVANCED_PAUSE_RESPONSE_EXTRUDE_MORE;
|
|
|
|
|
void lcd_pause_extrude_more() {
|
|
|
|
|
pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void menu_advanced_pause_option() {
|
|
|
|
|
void menu_pause_option() {
|
|
|
|
|
START_MENU();
|
|
|
|
|
#if LCD_HEIGHT > 2
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_OPTION_HEADER, true, false);
|
|
|
|
|
#endif
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_PURGE, lcd_advanced_pause_extrude_more);
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_PURGE, lcd_pause_extrude_more);
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
if (runout.filament_ran_out)
|
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
|
|
|
|
|
else
|
|
|
|
|
#endif
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_RESUME, lcd_advanced_pause_resume_print);
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_RESUME, lcd_pause_resume_print);
|
|
|
|
|
END_MENU();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -367,9 +367,9 @@ void menu_advanced_pause_option() {
|
|
|
|
|
// ADVANCED_PAUSE_FEATURE message screens
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
void _lcd_advanced_pause_message(PGM_P const msg1, PGM_P const msg2=NULL, PGM_P const msg3=NULL) {
|
|
|
|
|
void _lcd_pause_message(PGM_P const msg1, PGM_P const msg2=NULL, PGM_P const msg3=NULL) {
|
|
|
|
|
START_SCREEN();
|
|
|
|
|
STATIC_ITEM_P(advanced_pause_header(), true, true);
|
|
|
|
|
STATIC_ITEM_P(pause_header(), true, true);
|
|
|
|
|
STATIC_ITEM_P(msg1);
|
|
|
|
|
if (msg2) STATIC_ITEM_P(msg2);
|
|
|
|
|
if (msg3) STATIC_ITEM_P(msg3);
|
|
|
|
@ -378,8 +378,19 @@ void _lcd_advanced_pause_message(PGM_P const msg1, PGM_P const msg2=NULL, PGM_P
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_init_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_INIT_1)
|
|
|
|
|
void lcd_pause_pausing_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_PAUSE_PRINT_INIT_1)
|
|
|
|
|
#ifdef MSG_PAUSE_PRINT_INIT_2
|
|
|
|
|
, PSTR(MSG_PAUSE_PRINT_INIT_2)
|
|
|
|
|
#ifdef MSG_PAUSE_PRINT_INIT_3
|
|
|
|
|
, PSTR(MSG_PAUSE_PRINT_INIT_3)
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_pause_changing_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_INIT_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INIT_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_INIT_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INIT_3
|
|
|
|
@ -389,8 +400,8 @@ void lcd_advanced_pause_init_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_unload_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_UNLOAD_1)
|
|
|
|
|
void lcd_pause_unload_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_UNLOAD_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_UNLOAD_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_UNLOAD_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_UNLOAD_3
|
|
|
|
@ -400,8 +411,8 @@ void lcd_advanced_pause_unload_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_heating_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_HEATING_1)
|
|
|
|
|
void lcd_pause_heating_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_HEATING_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_HEATING_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_HEATING_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_HEATING_3
|
|
|
|
@ -411,8 +422,8 @@ void lcd_advanced_pause_heating_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_heat_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_HEAT_1)
|
|
|
|
|
void lcd_pause_heat_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_HEAT_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_HEAT_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_HEAT_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_HEAT_3
|
|
|
|
@ -422,8 +433,8 @@ void lcd_advanced_pause_heat_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_insert_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_INSERT_1)
|
|
|
|
|
void lcd_pause_insert_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_INSERT_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INSERT_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_INSERT_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INSERT_3
|
|
|
|
@ -433,8 +444,8 @@ void lcd_advanced_pause_insert_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_load_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_LOAD_1)
|
|
|
|
|
void lcd_pause_load_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_LOAD_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_LOAD_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_LOAD_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_LOAD_3
|
|
|
|
@ -444,8 +455,8 @@ void lcd_advanced_pause_load_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_waiting_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_ADVANCED_PAUSE_WAITING_1)
|
|
|
|
|
void lcd_pause_waiting_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_ADVANCED_PAUSE_WAITING_1)
|
|
|
|
|
#ifdef MSG_ADVANCED_PAUSE_WAITING_2
|
|
|
|
|
, PSTR(MSG_ADVANCED_PAUSE_WAITING_2)
|
|
|
|
|
#ifdef MSG_ADVANCED_PAUSE_WAITING_3
|
|
|
|
@ -455,8 +466,8 @@ void lcd_advanced_pause_waiting_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_resume_message() {
|
|
|
|
|
_lcd_advanced_pause_message(PSTR(MSG_FILAMENT_CHANGE_RESUME_1)
|
|
|
|
|
void lcd_pause_resume_message() {
|
|
|
|
|
_lcd_pause_message(PSTR(MSG_FILAMENT_CHANGE_RESUME_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_RESUME_2
|
|
|
|
|
, PSTR(MSG_FILAMENT_CHANGE_RESUME_2)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_RESUME_3
|
|
|
|
@ -466,8 +477,8 @@ void lcd_advanced_pause_resume_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_purge_message() {
|
|
|
|
|
_lcd_advanced_pause_message(
|
|
|
|
|
void lcd_pause_purge_message() {
|
|
|
|
|
_lcd_pause_message(
|
|
|
|
|
#if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
|
|
|
|
|
PSTR(MSG_FILAMENT_CHANGE_CONT_PURGE_1)
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_CONT_PURGE_2
|
|
|
|
@ -488,31 +499,32 @@ void lcd_advanced_pause_purge_message() {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FORCE_INLINE screenFunc_t ap_message_screen(const AdvancedPauseMessage message) {
|
|
|
|
|
FORCE_INLINE screenFunc_t ap_message_screen(const PauseMessage message) {
|
|
|
|
|
switch (message) {
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_INIT: return lcd_advanced_pause_init_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_UNLOAD: return lcd_advanced_pause_unload_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_WAITING: return lcd_advanced_pause_waiting_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_INSERT: return lcd_advanced_pause_insert_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_LOAD: return lcd_advanced_pause_load_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_PURGE: return lcd_advanced_pause_purge_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_RESUME: return lcd_advanced_pause_resume_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_HEAT: return lcd_advanced_pause_heat_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_HEATING: return lcd_advanced_pause_heating_message;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_OPTION: advanced_pause_menu_response = ADVANCED_PAUSE_RESPONSE_WAIT_FOR;
|
|
|
|
|
return menu_advanced_pause_option;
|
|
|
|
|
case ADVANCED_PAUSE_MESSAGE_STATUS:
|
|
|
|
|
case PAUSE_MESSAGE_PAUSING: return lcd_pause_pausing_message;
|
|
|
|
|
case PAUSE_MESSAGE_CHANGING: return lcd_pause_changing_message;
|
|
|
|
|
case PAUSE_MESSAGE_UNLOAD: return lcd_pause_unload_message;
|
|
|
|
|
case PAUSE_MESSAGE_WAITING: return lcd_pause_waiting_message;
|
|
|
|
|
case PAUSE_MESSAGE_INSERT: return lcd_pause_insert_message;
|
|
|
|
|
case PAUSE_MESSAGE_LOAD: return lcd_pause_load_message;
|
|
|
|
|
case PAUSE_MESSAGE_PURGE: return lcd_pause_purge_message;
|
|
|
|
|
case PAUSE_MESSAGE_RESUME: return lcd_pause_resume_message;
|
|
|
|
|
case PAUSE_MESSAGE_HEAT: return lcd_pause_heat_message;
|
|
|
|
|
case PAUSE_MESSAGE_HEATING: return lcd_pause_heating_message;
|
|
|
|
|
case PAUSE_MESSAGE_OPTION: pause_menu_response = PAUSE_RESPONSE_WAIT_FOR;
|
|
|
|
|
return menu_pause_option;
|
|
|
|
|
case PAUSE_MESSAGE_STATUS:
|
|
|
|
|
default: break;
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_pause_show_message(
|
|
|
|
|
const AdvancedPauseMessage message,
|
|
|
|
|
const AdvancedPauseMode mode/*=ADVANCED_PAUSE_MODE_SAME*/,
|
|
|
|
|
void lcd_pause_show_message(
|
|
|
|
|
const PauseMessage message,
|
|
|
|
|
const PauseMode mode/*=PAUSE_MODE_SAME*/,
|
|
|
|
|
const uint8_t extruder/*=active_extruder*/
|
|
|
|
|
) {
|
|
|
|
|
if (mode != ADVANCED_PAUSE_MODE_SAME) advanced_pause_mode = mode;
|
|
|
|
|
if (mode != PAUSE_MODE_SAME) pause_mode = mode;
|
|
|
|
|
hotend_status_extruder = extruder;
|
|
|
|
|
const screenFunc_t next_screen = ap_message_screen(message);
|
|
|
|
|
if (next_screen) {
|
|
|
|
|