Kaynağa Gözat

Tweak cleaning buffer / SD finished command

Scott Lahteine 7 yıl önce
ebeveyn
işleme
50366b00d5

+ 2
- 2
Marlin/src/module/stepper.cpp Dosyayı Görüntüle

397
     else {
397
     else {
398
       planner.discard_current_block();
398
       planner.discard_current_block();
399
       --cleaning_buffer_counter;                // Count down for abort print
399
       --cleaning_buffer_counter;                // Count down for abort print
400
-      #ifdef SD_FINISHED_RELEASECOMMAND
401
-        if (!cleaning_buffer_counter && (SD_FINISHED_STEPPERRELEASE)) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
400
+      #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND)
401
+        if (!cleaning_buffer_counter) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
402
       #endif
402
       #endif
403
     }
403
     }
404
     current_block = NULL;                       // Prep to get a new block after cleaning
404
     current_block = NULL;                       // Prep to get a new block after cleaning

+ 3
- 2
Marlin/src/sd/cardreader.cpp Dosyayı Görüntüle

896
   }
896
   }
897
   else {
897
   else {
898
     sdprinting = false;
898
     sdprinting = false;
899
-    if (SD_FINISHED_STEPPERRELEASE)
900
-      enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
899
+    #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND)
900
+      stepper.cleaning_buffer_counter = 1; // The command will fire from the Stepper ISR
901
+    #endif
901
     print_job_timer.stop();
902
     print_job_timer.stop();
902
     if (print_job_timer.duration() > 60)
903
     if (print_job_timer.duration() > 60)
903
       enqueue_and_echo_commands_P(PSTR("M31"));
904
       enqueue_and_echo_commands_P(PSTR("M31"));

Loading…
İptal
Kaydet