|
@@ -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();
|
|
@@ -779,6 +780,11 @@ void kill_screen(const char* lcd_msg) {
|
779
|
780
|
|
780
|
781
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
781
|
782
|
void lcd_enqueue_filament_change() {
|
|
783
|
+ if (thermalManager.tooColdToExtrude(active_extruder)) {
|
|
784
|
+ lcd_save_previous_screen();
|
|
785
|
+ lcd_goto_screen(lcd_filament_change_toocold_menu);
|
|
786
|
+ return;
|
|
787
|
+ }
|
782
|
788
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INIT);
|
783
|
789
|
enqueue_and_echo_commands_P(PSTR("M600"));
|
784
|
790
|
}
|
|
@@ -1336,6 +1342,12 @@ KeepDrawing:
|
1336
|
1342
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
1337
|
1343
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
1338
|
1344
|
#endif
|
|
1345
|
+ //
|
|
1346
|
+ // Change filament
|
|
1347
|
+ //
|
|
1348
|
+ #if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
1349
|
+ MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
|
1350
|
+ #endif
|
1339
|
1351
|
#endif
|
1340
|
1352
|
|
1341
|
1353
|
//
|
|
@@ -2378,6 +2390,12 @@ KeepDrawing:
|
2378
|
2390
|
#endif // LCD_INFO_MENU
|
2379
|
2391
|
|
2380
|
2392
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
2393
|
+ void lcd_filament_change_toocold_menu() {
|
|
2394
|
+ START_MENU();
|
|
2395
|
+ STATIC_ITEM(MSG_HEATING_FAILED_LCD, true, true);
|
|
2396
|
+ MENU_BACK(MSG_FILAMENTCHANGE);
|
|
2397
|
+ END_MENU();
|
|
2398
|
+ }
|
2381
|
2399
|
|
2382
|
2400
|
void lcd_filament_change_resume_print() {
|
2383
|
2401
|
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_RESUME_PRINT;
|