Implement missing Pause feature for Anycubic TFT
This commit is contained in:
@@ -88,6 +88,10 @@ fil_change_settings_t fc_settings[EXTRUDERS];
|
|||||||
#include "../sd/cardreader.h"
|
#include "../sd/cardreader.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef ANYCUBIC_TOUCHSCREEN
|
||||||
|
#include "../lcd/anycubic_touchscreen.h" //KNUTWURST
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(EMERGENCY_PARSER)
|
#if ENABLED(EMERGENCY_PARSER)
|
||||||
#define _PMSG(L) L##_M108
|
#define _PMSG(L) L##_M108
|
||||||
#else
|
#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);
|
ui.pause_show_message(PAUSE_MESSAGE_HEAT);
|
||||||
SERIAL_ECHO_MSG(_PMSG(STR_FILAMENT_CHANGE_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_(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)));
|
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);
|
IF_DISABLED(PAUSE_REHEAT_FAST_RESUME, wait_for_user = true);
|
||||||
|
|
||||||
nozzle_timed_out = false;
|
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);
|
first_impatient_beep(max_beep_count);
|
||||||
}
|
}
|
||||||
idle_no_sleep();
|
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
|
// Re-enable the heaters if they timed out
|
||||||
bool nozzle_timed_out = false;
|
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() {
|
HOTEND_LOOP() {
|
||||||
nozzle_timed_out |= thermalManager.heater_idle[e].timed_out;
|
nozzle_timed_out |= thermalManager.heater_idle[e].timed_out;
|
||||||
thermalManager.reset_hotend_idle_timer(e);
|
thermalManager.reset_hotend_idle_timer(e);
|
||||||
|
Reference in New Issue
Block a user