Browse Source

Enable Purge More / Resume with EP + Host Prompt (#21671)

Co-authored-by: Msq001 <alansayyeah@gmail.com>
BigTreeTech 4 years ago
parent
commit
a58276c4c1
No account linked to committer's email address

+ 2
- 2
Marlin/src/feature/host_actions.cpp View File

149
         switch (response) {
149
         switch (response) {
150
 
150
 
151
           case 0: // "Purge More" button
151
           case 0: // "Purge More" button
152
-            #if BOTH(HAS_LCD_MENU, ADVANCED_PAUSE_FEATURE)
152
+            #if BOTH(M600_PURGE_MORE_RESUMABLE, ADVANCED_PAUSE_FEATURE)
153
               pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE;  // Simulate menu selection (menu exits, doesn't extrude more)
153
               pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE;  // Simulate menu selection (menu exits, doesn't extrude more)
154
             #endif
154
             #endif
155
             break;
155
             break;
156
 
156
 
157
           case 1: // "Continue" / "Disable Runout" button
157
           case 1: // "Continue" / "Disable Runout" button
158
-            #if BOTH(HAS_LCD_MENU, ADVANCED_PAUSE_FEATURE)
158
+            #if BOTH(M600_PURGE_MORE_RESUMABLE, ADVANCED_PAUSE_FEATURE)
159
               pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT;  // Simulate menu selection
159
               pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT;  // Simulate menu selection
160
             #endif
160
             #endif
161
             #if HAS_FILAMENT_SENSOR
161
             #if HAS_FILAMENT_SENSOR

+ 8
- 4
Marlin/src/feature/pause.cpp View File

75
 
75
 
76
 static xyze_pos_t resume_position;
76
 static xyze_pos_t resume_position;
77
 
77
 
78
-#if HAS_LCD_MENU
78
+#if M600_PURGE_MORE_RESUMABLE
79
   PauseMenuResponse pause_menu_response;
79
   PauseMenuResponse pause_menu_response;
80
   PauseMode pause_mode = PAUSE_MODE_PAUSE_PRINT;
80
   PauseMode pause_mode = PAUSE_MODE_PAUSE_PRINT;
81
 #endif
81
 #endif
257
 
257
 
258
       TERN_(HOST_PROMPT_SUPPORT, filament_load_host_prompt()); // Initiate another host prompt.
258
       TERN_(HOST_PROMPT_SUPPORT, filament_load_host_prompt()); // Initiate another host prompt.
259
 
259
 
260
-      #if HAS_LCD_MENU
260
+      #if M600_PURGE_MORE_RESUMABLE
261
         if (show_lcd) {
261
         if (show_lcd) {
262
           // Show "Purge More" / "Resume" menu and wait for reply
262
           // Show "Purge More" / "Resume" menu and wait for reply
263
           KEEPALIVE_STATE(PAUSED_FOR_USER);
263
           KEEPALIVE_STATE(PAUSED_FOR_USER);
264
           wait_for_user = false;
264
           wait_for_user = false;
265
-          ui.pause_show_message(PAUSE_MESSAGE_OPTION);
265
+          #if HAS_LCD_MENU
266
+            ui.pause_show_message(PAUSE_MESSAGE_OPTION); // Also sets PAUSE_RESPONSE_WAIT_FOR
267
+          #else
268
+            pause_menu_response = PAUSE_RESPONSE_WAIT_FOR;
269
+          #endif
266
           while (pause_menu_response == PAUSE_RESPONSE_WAIT_FOR) idle_no_sleep();
270
           while (pause_menu_response == PAUSE_RESPONSE_WAIT_FOR) idle_no_sleep();
267
         }
271
         }
268
       #endif
272
       #endif
269
 
273
 
270
       // Keep looping if "Purge More" was selected
274
       // Keep looping if "Purge More" was selected
271
-    } while (TERN0(HAS_LCD_MENU, show_lcd && pause_menu_response == PAUSE_RESPONSE_EXTRUDE_MORE));
275
+    } while (TERN0(M600_PURGE_MORE_RESUMABLE, show_lcd && pause_menu_response == PAUSE_RESPONSE_EXTRUDE_MORE));
272
 
276
 
273
   #endif
277
   #endif
274
   TERN_(HOST_PROMPT_SUPPORT, host_action_prompt_end());
278
   TERN_(HOST_PROMPT_SUPPORT, host_action_prompt_end());

+ 1
- 1
Marlin/src/feature/pause.h View File

59
   PAUSE_MESSAGE_HEATING
59
   PAUSE_MESSAGE_HEATING
60
 };
60
 };
61
 
61
 
62
-#if HAS_LCD_MENU
62
+#if M600_PURGE_MORE_RESUMABLE
63
   enum PauseMenuResponse : char {
63
   enum PauseMenuResponse : char {
64
     PAUSE_RESPONSE_WAIT_FOR,
64
     PAUSE_RESPONSE_WAIT_FOR,
65
     PAUSE_RESPONSE_EXTRUDE_MORE,
65
     PAUSE_RESPONSE_EXTRUDE_MORE,

+ 10
- 2
Marlin/src/inc/Conditionals_post.h View File

2716
   #define HEATER_IDLE_HANDLER 1
2716
   #define HEATER_IDLE_HANDLER 1
2717
 #endif
2717
 #endif
2718
 
2718
 
2719
-#if ENABLED(ADVANCED_PAUSE_FEATURE) && !defined(FILAMENT_CHANGE_SLOW_LOAD_LENGTH)
2720
-  #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0
2719
+/**
2720
+ * Advanced Pause - Filament Change
2721
+ */
2722
+#if ENABLED(ADVANCED_PAUSE_FEATURE)
2723
+  #if HAS_LCD_MENU || BOTH(EMERGENCY_PARSER, HOST_PROMPT_SUPPORT)
2724
+    #define M600_PURGE_MORE_RESUMABLE 1
2725
+  #endif
2726
+  #ifndef FILAMENT_CHANGE_SLOW_LOAD_LENGTH
2727
+    #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0
2728
+  #endif
2721
 #endif
2729
 #endif
2722
 
2730
 
2723
 #if HAS_MULTI_EXTRUDER && !defined(TOOLCHANGE_FS_EXTRA_PRIME)
2731
 #if HAS_MULTI_EXTRUDER && !defined(TOOLCHANGE_FS_EXTRA_PRIME)

Loading…
Cancel
Save