|
@@ -145,6 +145,7 @@ uint16_t max_display_update_time = 0;
|
145
|
145
|
#endif // LCD_INFO_MENU
|
146
|
146
|
|
147
|
147
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
148
|
+ void lcd_filament_change_toocold_menu();
|
148
|
149
|
void lcd_filament_change_option_menu();
|
149
|
150
|
void lcd_filament_change_init_message();
|
150
|
151
|
void lcd_filament_change_unload_message();
|
|
@@ -828,6 +829,11 @@ void kill_screen(const char* lcd_msg) {
|
828
|
829
|
|
829
|
830
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
830
|
831
|
void lcd_enqueue_filament_change() {
|
|
832
|
+ if (thermalManager.tooColdToExtrude(active_extruder)) {
|
|
833
|
+ lcd_save_previous_screen();
|
|
834
|
+ lcd_goto_screen(lcd_filament_change_toocold_menu);
|
|
835
|
+ return;
|
|
836
|
+ }
|
831
|
837
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INIT);
|
832
|
838
|
enqueue_and_echo_commands_P(PSTR("M600"));
|
833
|
839
|
}
|
|
@@ -1385,6 +1391,12 @@ KeepDrawing:
|
1385
|
1391
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
1386
|
1392
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
1387
|
1393
|
#endif
|
|
1394
|
+ //
|
|
1395
|
+ // Change filament
|
|
1396
|
+ //
|
|
1397
|
+ #if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
1398
|
+ MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
|
1399
|
+ #endif
|
1388
|
1400
|
#endif
|
1389
|
1401
|
|
1390
|
1402
|
//
|
|
@@ -2432,6 +2444,12 @@ KeepDrawing:
|
2432
|
2444
|
#endif // LCD_INFO_MENU
|
2433
|
2445
|
|
2434
|
2446
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
2447
|
+ void lcd_filament_change_toocold_menu() {
|
|
2448
|
+ START_MENU();
|
|
2449
|
+ STATIC_ITEM(MSG_HEATING_FAILED_LCD, true, true);
|
|
2450
|
+ MENU_BACK(MSG_FILAMENTCHANGE);
|
|
2451
|
+ END_MENU();
|
|
2452
|
+ }
|
2435
|
2453
|
|
2436
|
2454
|
void lcd_filament_change_resume_print() {
|
2437
|
2455
|
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_RESUME_PRINT;
|