diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index d5432611..f86543ca 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -88,6 +88,10 @@ fil_change_settings_t fc_settings[EXTRUDERS]; #include "../sd/cardreader.h" #endif +#ifdef ANYCUBIC_TOUCHSCREEN + #include "../lcd/anycubic_touchscreen.h" //KNUTWURST +#endif + #if ENABLED(EMERGENCY_PARSER) #define _PMSG(L) L##_M108 #else @@ -528,6 +532,16 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep ui.pause_show_message(PAUSE_MESSAGE_HEAT); SERIAL_ECHO_MSG(_PMSG(STR_FILAMENT_CHANGE_HEAT)); + #ifdef ANYCUBIC_TOUCHSCREEN // KNUTWURST + if (AnycubicTouchscreen.ai3m_pause_state < 3) { + AnycubicTouchscreen.ai3m_pause_state += 2; + #ifdef ANYCUBIC_TFT_DEBUG + SERIAL_ECHOPAIR(" DEBUG: NTO - AI3M Pause State set to: ", AnycubicTouchscreen.ai3m_pause_state); + SERIAL_EOL(); + #endif + } + #endif + TERN_(HOST_PROMPT_SUPPORT, host_prompt_do(PROMPT_USER_CONTINUE, GET_TEXT(MSG_HEATER_TIMEOUT), GET_TEXT(MSG_REHEAT))); TERN_(EXTENSIBLE_UI, ExtUI::onUserConfirmRequired_P(GET_TEXT(MSG_HEATER_TIMEOUT))); @@ -561,6 +575,17 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep IF_DISABLED(PAUSE_REHEAT_FAST_RESUME, wait_for_user = true); nozzle_timed_out = false; + + #ifdef ANYCUBIC_TOUCHSCREEN + if (AnycubicTouchscreen.ai3m_pause_state > 3) { + AnycubicTouchscreen.ai3m_pause_state -= 2; + #ifdef ANYCUBIC_TFT_DEBUG + SERIAL_ECHOPAIR(" DEBUG: NTO - AI3M Pause State set to: ", AnycubicTouchscreen.ai3m_pause_state); + SERIAL_EOL(); + #endif + } + #endif + first_impatient_beep(max_beep_count); } idle_no_sleep(); @@ -607,6 +632,15 @@ void resume_print(const_float_t slow_load_length/*=0*/, const_float_t fast_load_ // Re-enable the heaters if they timed out bool nozzle_timed_out = false; + #ifdef ANYCUBIC_TOUCHSCREEN // KNUTWURST + if (AnycubicTouchscreen.ai3m_pause_state > 3) { + AnycubicTouchscreen.ai3m_pause_state -= 2; + #ifdef ANYCUBIC_TFT_DEBUG + SERIAL_ECHOPAIR(" DEBUG: NTO - AI3M Pause State set to: ", AnycubicTouchscreen.ai3m_pause_state); + SERIAL_EOL(); + #endif + } + #endif HOTEND_LOOP() { nozzle_timed_out |= thermalManager.heater_idle[e].timed_out; thermalManager.reset_hotend_idle_timer(e);