From e47316c9d349a9d35e635c607f90689fac07f5bc Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 24 Dec 2017 20:33:58 -0600 Subject: [PATCH] Tweak cleaning buffer / SD finished command --- Marlin/cardreader.cpp | 5 +++-- Marlin/stepper.cpp | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp index c1b42e891..4d564389e 100644 --- a/Marlin/cardreader.cpp +++ b/Marlin/cardreader.cpp @@ -891,8 +891,9 @@ void CardReader::printingHasFinished() { } else { sdprinting = false; - if (SD_FINISHED_STEPPERRELEASE) - enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); + #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) + stepper.cleaning_buffer_counter = 1; // The command will fire from the Stepper ISR + #endif print_job_timer.stop(); if (print_job_timer.duration() > 60) enqueue_and_echo_commands_P(PSTR("M31")); diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index ed9333716..664022b64 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -436,8 +436,8 @@ void Stepper::isr() { else { planner.discard_current_block(); --cleaning_buffer_counter; // Count down for abort print - #ifdef SD_FINISHED_RELEASECOMMAND - if (!cleaning_buffer_counter && (SD_FINISHED_STEPPERRELEASE)) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); + #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) + if (!cleaning_buffer_counter) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); #endif } current_block = NULL; // Prep to get a new block after cleaning