|
|
|
@ -54,6 +54,7 @@ char lcd_status_message[3 * (LCD_WIDTH) + 1] = WELCOME_MSG; // worst case is kan
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DOGLCD)
|
|
|
|
|
#include "ultralcd_impl_DOGM.h"
|
|
|
|
|
#include <U8glib.h>
|
|
|
|
|
#else
|
|
|
|
|
#include "ultralcd_impl_HD44780.h"
|
|
|
|
|
#endif
|
|
|
|
@ -151,6 +152,7 @@ uint16_t max_display_update_time = 0;
|
|
|
|
|
void lcd_filament_change_unload_message();
|
|
|
|
|
void lcd_filament_change_insert_message();
|
|
|
|
|
void lcd_filament_change_load_message();
|
|
|
|
|
void lcd_filament_change_heat_nozzle();
|
|
|
|
|
void lcd_filament_change_extrude_message();
|
|
|
|
|
void lcd_filament_change_resume_message();
|
|
|
|
|
#endif
|
|
|
|
@ -948,7 +950,8 @@ void kill_screen(const char* lcd_msg) {
|
|
|
|
|
// Change filament
|
|
|
|
|
//
|
|
|
|
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
|
|
|
|
if (!thermalManager.tooColdToExtrude(active_extruder))
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
@ -1384,11 +1387,13 @@ KeepDrawing:
|
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Change filament
|
|
|
|
|
//
|
|
|
|
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
|
|
|
|
if (!thermalManager.tooColdToExtrude(active_extruder))
|
|
|
|
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@ -2441,11 +2446,21 @@ KeepDrawing:
|
|
|
|
|
}
|
|
|
|
|
#endif // LCD_INFO_MENU
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* Filament Change Feature Screens
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
|
|
|
|
|
|
|
|
void lcd_filament_change_toocold_menu() {
|
|
|
|
|
START_MENU();
|
|
|
|
|
STATIC_ITEM(MSG_HEATING_FAILED_LCD, true, true);
|
|
|
|
|
MENU_BACK(MSG_FILAMENTCHANGE);
|
|
|
|
|
STATIC_ITEM (MSG_FILAMENT_CHANGE_MINTEMP STRINGIFY(EXTRUDE_MINTEMP) ".", false, false);
|
|
|
|
|
MENU_BACK(MSG_BACK);
|
|
|
|
|
STATIC_ITEM (" ");
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_MENU();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2478,6 +2493,8 @@ KeepDrawing:
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INIT_3
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_INIT_3);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2491,6 +2508,35 @@ KeepDrawing:
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_UNLOAD_3
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_UNLOAD_3);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM (" ");
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_filament_change_wait_for_nozzles_to_heat() {
|
|
|
|
|
START_SCREEN();
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEADER, true, true);
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEATING_1);
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_HEATING_2
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEATING_2);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM(" ");
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lcd_filament_change_heat_nozzle() {
|
|
|
|
|
START_SCREEN();
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEADER, true, true);
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEAT_1);
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INSERT_2
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEAT_2);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM(" ");
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2504,6 +2550,8 @@ KeepDrawing:
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_INSERT_3
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_INSERT_3);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2517,6 +2565,9 @@ KeepDrawing:
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_LOAD_3
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_LOAD_3);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM(" ");
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2530,6 +2581,9 @@ KeepDrawing:
|
|
|
|
|
#ifdef MSG_FILAMENT_CHANGE_EXTRUDE_3
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_EXTRUDE_3);
|
|
|
|
|
#endif
|
|
|
|
|
STATIC_ITEM(" ");
|
|
|
|
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
|
|
|
|
lcd_implementation_hotend_status();
|
|
|
|
|
END_SCREEN();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2550,20 +2604,33 @@ KeepDrawing:
|
|
|
|
|
switch (message) {
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_INIT:
|
|
|
|
|
defer_return_to_status = true;
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_init_message);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_UNLOAD:
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_unload_message);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_INSERT:
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_insert_message);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_LOAD:
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_load_message);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_EXTRUDE:
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_extrude_message);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_CLICK_TO_HEAT_NOZZLE:
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_heat_nozzle);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_WAIT_FOR_NOZZLES_TO_HEAT:
|
|
|
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_wait_for_nozzles_to_heat);
|
|
|
|
|
break;
|
|
|
|
|
case FILAMENT_CHANGE_MESSAGE_OPTION:
|
|
|
|
|
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_WAIT_FOR;
|
|
|
|
|
lcd_goto_screen(lcd_filament_change_option_menu);
|
|
|
|
|