diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index c5d411cf85..e60f66e094 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1170,12 +1170,6 @@ inline void get_serial_commands() { if (card_eof) { SERIAL_PROTOCOLLNPGM(MSG_FILE_PRINTED); print_job_timer.stop(); - char time[30]; - millis_t t = print_job_timer.duration(); - sprintf_P(time, PSTR("%i " MSG_END_HOUR " %i " MSG_END_MINUTE), int(t / 60 / 60), int(t / 60) % 60); - SERIAL_ECHO_START; - SERIAL_ECHOLN(time); - lcd_setstatus(time, true); card.printingHasFinished(); card.checkautostart(true); } diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp index c7e160481e..dd6ff9f53d 100644 --- a/Marlin/cardreader.cpp +++ b/Marlin/cardreader.cpp @@ -602,19 +602,19 @@ void CardReader::updir() { void CardReader::printingHasFinished() { stepper.synchronize(); + file.close(); if (file_subcall_ctr > 0) { // Heading up to a parent file that called current as a procedure. - file.close(); file_subcall_ctr--; openFile(proc_filenames[file_subcall_ctr], true, true); setIndex(filespos[file_subcall_ctr]); startFileprint(); } else { - file.close(); sdprinting = false; if (SD_FINISHED_STEPPERRELEASE) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); - thermalManager.autotempShutdown(); + print_job_timer.stop(); + enqueue_and_echo_commands_P(PSTR("M31")); } }