From 5fc277469ac90d3de191c6105746105cda2a4b4d Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 17 Dec 2022 16:48:39 +0100 Subject: [PATCH] TM: Allow to resume without a running print If there is no running print, and the printer is Stopped, add a new "Acknowledge error" menu entry to unlock the printer. This simply calls lcd_print_stop(), which is identical in behavior to a thermal error with a running print. --- Firmware/messages.cpp | 1 + Firmware/messages.h | 1 + Firmware/ultralcd.cpp | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/Firmware/messages.cpp b/Firmware/messages.cpp index 5fc946ee6..3ca3ce076 100644 --- a/Firmware/messages.cpp +++ b/Firmware/messages.cpp @@ -165,6 +165,7 @@ extern const char MSG_PAUSED_THERMAL_ERROR[] PROGMEM_I1 = ISTR("PAUSED THERMAL E #ifdef TEMP_MODEL extern const char MSG_THERMAL_ANOMALY[] PROGMEM_I1 = ISTR("THERMAL ANOMALY");////MSG_THERMAL_ANOMALY c=20 extern const char MSG_TM_NOT_CAL[] PROGMEM_I1 = ISTR("Temp model not calibrated yet.");////MSG_TM_NOT_CAL c=20 r=4 +extern const char MSG_ACK_ERROR[] PROGMEM_I1 = ISTR("Acknowledge error");////MSG_ACK_ERROR c=17 #endif extern const char MSG_NOZZLE_CNG_MENU [] PROGMEM_I1 = ISTR("Nozzle change");////MSG_NOZZLE_CNG_MENU c=18 extern const char MSG_NOZZLE_CNG_READ_HELP [] PROGMEM_I1 = ISTR("For a Nozzle change please read\nprusa.io/nozzle-mk3s");////MSG_NOZZLE_CNG_READ_HELP c=20 r=4 diff --git a/Firmware/messages.h b/Firmware/messages.h index 8197ac6f7..83555248b 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -169,6 +169,7 @@ extern const char MSG_PAUSED_THERMAL_ERROR[]; #ifdef TEMP_MODEL extern const char MSG_THERMAL_ANOMALY[]; extern const char MSG_TM_NOT_CAL[]; +extern const char MSG_ACK_ERROR[]; #endif extern const char MSG_NOZZLE_CNG_MENU []; extern const char MSG_NOZZLE_CNG_READ_HELP []; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c81a99523..88a2d9c6d 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5637,6 +5637,11 @@ static void lcd_main_menu() if((IS_SD_PRINTING || usb_timer.running() || isPrintPaused) && (custom_message_type != CustomMsg::MeshBedLeveling)) { MENU_ITEM_SUBMENU_P(_T(MSG_STOP_PRINT), lcd_sdcard_stop); } +#ifdef TEMP_MODEL + else if(Stopped) { + MENU_ITEM_SUBMENU_P(_T(MSG_ACK_ERROR), lcd_print_stop); + } +#endif #ifdef SDSUPPORT //!@todo SDSUPPORT undefined creates several issues in source code if (card.cardOK || lcd_commands_type == LcdCommands::Layer1Cal) { if (!card.isFileOpen()) {