AdvancedPauseExtUIMessaging
This commit is contained in:
@@ -2550,6 +2550,8 @@
|
||||
#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety.
|
||||
#define FILAMENT_CHANGE_ALERT_BEEPS 2 // Number of alert beeps to play when a response is needed.
|
||||
#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change.
|
||||
#define FILAMENT_CHANGE_RESUME_ON_INSERT // Automatically continue / load filament when runout sensor is made again
|
||||
#define FILAMENT_CHANGE_FAST_RESUME // Reduce number of waits by not prompting again post timeout before continuing
|
||||
|
||||
#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
|
||||
//#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
|
||||
|
||||
@@ -200,6 +200,9 @@ bool load_filament(const_float_t slow_load_length/*=0*/, const_float_t fast_load
|
||||
|
||||
while (wait_for_user) {
|
||||
impatient_beep(max_beep_count);
|
||||
#if BOTH(FILAMENT_CHANGE_RESUME_ON_INSERT, FILAMENT_RUNOUT_SENSOR)
|
||||
if (READ(FIL_RUNOUT1_PIN) != FIL_RUNOUT1_STATE) wait_for_user = false;
|
||||
#endif
|
||||
idle_no_sleep();
|
||||
}
|
||||
}
|
||||
@@ -537,7 +540,9 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep
|
||||
HOTEND_LOOP() thermalManager.heater_idle[e].start(nozzle_timeout);
|
||||
TERN_(HOST_PROMPT_SUPPORT, host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Reheat Done"), CONTINUE_STR));
|
||||
TERN_(EXTENSIBLE_UI, ExtUI::onUserConfirmRequired_P(PSTR("Reheat finished.")));
|
||||
wait_for_user = true;
|
||||
#if DISABLED(FILAMENT_CHANGE_FAST_RESUME)
|
||||
wait_for_user = true;
|
||||
#endif
|
||||
nozzle_timed_out = false;
|
||||
|
||||
first_impatient_beep(max_beep_count);
|
||||
|
||||
@@ -47,7 +47,7 @@ namespace ExtUI {
|
||||
#define FileNum MaxFileNumber
|
||||
#define FileNameLen TEXTBYTELEN
|
||||
|
||||
#define SizeofDatabuf 26
|
||||
#define SizeofDatabuf 46
|
||||
|
||||
/*************Register and Variable addr*****************/
|
||||
#define RegAddr_W 0x80
|
||||
|
||||
@@ -1037,6 +1037,8 @@ namespace ExtUI {
|
||||
|
||||
#if M600_PURGE_MORE_RESUMABLE
|
||||
void setPauseMenuResponse(PauseMenuResponse response) { pause_menu_response = response; }
|
||||
PauseMessage pauseModeStatus = PAUSE_MESSAGE_STATUS;
|
||||
PauseMode getPauseMode() { return pause_mode;}
|
||||
#endif
|
||||
|
||||
void printFile(const char *filename) {
|
||||
|
||||
@@ -234,6 +234,8 @@ namespace ExtUI {
|
||||
|
||||
#if M600_PURGE_MORE_RESUMABLE
|
||||
void setPauseMenuResponse(PauseMenuResponse);
|
||||
extern PauseMessage pauseModeStatus;
|
||||
PauseMode getPauseMode();
|
||||
#endif
|
||||
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
|
||||
@@ -1679,9 +1679,11 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP;
|
||||
const PauseMode mode/*=PAUSE_MODE_SAME*/,
|
||||
const uint8_t extruder/*=active_extruder*/
|
||||
) {
|
||||
if (mode == PAUSE_MODE_SAME)
|
||||
return;
|
||||
//if (mode == PAUSE_MODE_SAME)
|
||||
//return;
|
||||
SERIAL_ECHOPAIR("PauseMsg=", message);
|
||||
pause_mode = mode;
|
||||
ExtUI::pauseModeStatus = message;
|
||||
switch (message) {
|
||||
case PAUSE_MESSAGE_PARKING: ExtUI::onUserConfirmRequired_P(GET_TEXT(MSG_PAUSE_PRINT_PARKING));
|
||||
case PAUSE_MESSAGE_CHANGING: ExtUI::onUserConfirmRequired_P(GET_TEXT(MSG_FILAMENT_CHANGE_INIT));
|
||||
|
||||
Reference in New Issue
Block a user