Browse Source

Tweaks to finishSDPrinting (#17082)

vanilla_fb_2.0.x
Scott Lahteine 5 years ago
committed by GitHub
parent
commit
e7004550c4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 27
      Marlin/src/MarlinCore.cpp
  2. 7
      Marlin/src/gcode/lcd/M0_M1.cpp

27
Marlin/src/MarlinCore.cpp

@ -418,22 +418,31 @@ void startOrResumeJob() {
} }
inline void finishSDPrinting() { inline void finishSDPrinting() {
bool did_state = true; bool did_state = true;
switch (card.sdprinting_done_state) { switch (card.sdprinting_done_state) {
#if HAS_RESUME_CONTINUE // Display "Click to Continue..." case 1:
case 1: // 30 min timeout with LCD, 1 min without did_state = print_job_timer.duration() < 60 || queue.enqueue_one_P(PSTR("M31"));
did_state = queue.enqueue_one_P(PSTR("M0Q1S" TERN(HAS_LCD_MENU, "1800", "60")));
break; break;
#endif
case 2: print_job_timer.stop(); break; case 2:
did_state = queue.enqueue_one_P(PSTR("M77"));
break;
case 3: case 3:
did_state = print_job_timer.duration() < 60 || queue.enqueue_one_P(PSTR("M31")); #if ENABLED(LCD_SET_PROGRESS_MANUALLY)
ui.set_progress_done();
#endif
break; break;
case 4: case 4: // Display "Click to Continue..."
#if HAS_RESUME_CONTINUE // 30 min timeout with LCD, 1 min without
did_state = queue.enqueue_one_P(PSTR("M0Q1S" TERN(HAS_LCD_MENU, "1800", "60")));
#endif
break;
case 5:
#if ENABLED(POWER_LOSS_RECOVERY) #if ENABLED(POWER_LOSS_RECOVERY)
recovery.purge(); recovery.purge();
#endif #endif
@ -442,10 +451,6 @@ void startOrResumeJob() {
planner.finish_and_disable(); planner.finish_and_disable();
#endif #endif
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
ui.set_progress_done();
#endif
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE) #if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
ui.reselect_last_file(); ui.reselect_last_file();
#endif #endif

7
Marlin/src/gcode/lcd/M0_M1.cpp

@ -57,14 +57,17 @@ void GcodeSuite::M0_M1() {
planner.synchronize(); planner.synchronize();
#if HAS_LEDS_OFF_FLAG #if HAS_LEDS_OFF_FLAG
if (parser.seen('Q')) printerEventLEDs.onPrintCompleted(); // Change LED color for Print Completed const bool seenQ = parser.seen('Q');
if (seenQ) printerEventLEDs.onPrintCompleted(); // Change LED color for Print Completed
#else
constexpr bool seenQ = false;
#endif #endif
#if HAS_LCD_MENU #if HAS_LCD_MENU
if (parser.string_arg) if (parser.string_arg)
ui.set_status(parser.string_arg, true); ui.set_status(parser.string_arg, true);
else { else if (!seenQ) {
LCD_MESSAGEPGM(MSG_USERWAIT); LCD_MESSAGEPGM(MSG_USERWAIT);
#if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0 #if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0
ui.reset_progress_bar_timeout(); ui.reset_progress_bar_timeout();

Loading…
Cancel
Save