|
@@ -418,22 +418,31 @@ void startOrResumeJob() {
|
418
|
418
|
}
|
419
|
419
|
|
420
|
420
|
inline void finishSDPrinting() {
|
|
421
|
+
|
421
|
422
|
bool did_state = true;
|
422
|
423
|
switch (card.sdprinting_done_state) {
|
423
|
424
|
|
424
|
|
- #if HAS_RESUME_CONTINUE // Display "Click to Continue..."
|
425
|
|
- case 1: // 30 min timeout with LCD, 1 min without
|
426
|
|
- did_state = queue.enqueue_one_P(PSTR("M0Q1S" TERN(HAS_LCD_MENU, "1800", "60")));
|
427
|
|
- break;
|
428
|
|
- #endif
|
|
425
|
+ case 1:
|
|
426
|
+ did_state = print_job_timer.duration() < 60 || queue.enqueue_one_P(PSTR("M31"));
|
|
427
|
+ break;
|
429
|
428
|
|
430
|
|
- case 2: print_job_timer.stop(); break;
|
|
429
|
+ case 2:
|
|
430
|
+ did_state = queue.enqueue_one_P(PSTR("M77"));
|
|
431
|
+ break;
|
431
|
432
|
|
432
|
433
|
case 3:
|
433
|
|
- did_state = print_job_timer.duration() < 60 || queue.enqueue_one_P(PSTR("M31"));
|
|
434
|
+ #if ENABLED(LCD_SET_PROGRESS_MANUALLY)
|
|
435
|
+ ui.set_progress_done();
|
|
436
|
+ #endif
|
|
437
|
+ break;
|
|
438
|
+
|
|
439
|
+ case 4: // Display "Click to Continue..."
|
|
440
|
+ #if HAS_RESUME_CONTINUE // 30 min timeout with LCD, 1 min without
|
|
441
|
+ did_state = queue.enqueue_one_P(PSTR("M0Q1S" TERN(HAS_LCD_MENU, "1800", "60")));
|
|
442
|
+ #endif
|
434
|
443
|
break;
|
435
|
444
|
|
436
|
|
- case 4:
|
|
445
|
+ case 5:
|
437
|
446
|
#if ENABLED(POWER_LOSS_RECOVERY)
|
438
|
447
|
recovery.purge();
|
439
|
448
|
#endif
|
|
@@ -442,10 +451,6 @@ void startOrResumeJob() {
|
442
|
451
|
planner.finish_and_disable();
|
443
|
452
|
#endif
|
444
|
453
|
|
445
|
|
- #if ENABLED(LCD_SET_PROGRESS_MANUALLY)
|
446
|
|
- ui.set_progress_done();
|
447
|
|
- #endif
|
448
|
|
-
|
449
|
454
|
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
|
450
|
455
|
ui.reselect_last_file();
|
451
|
456
|
#endif
|