chiark / gitweb /
instant stop of sd prints from the panel.
authorBernhard <bkubicek@x201.(none)>
Sun, 11 Dec 2011 21:10:06 +0000 (22:10 +0100)
committerBernhard <bkubicek@x201.(none)>
Sun, 11 Dec 2011 21:10:06 +0000 (22:10 +0100)
Marlin/cardreader.pde
Marlin/stepper.cpp
Marlin/stepper.h

index 6ad04068e4559972230751023c0defaf63b10cba..735a1cdcd8e231b7682ccffa9444307a4af232fe 100644 (file)
@@ -432,6 +432,7 @@ void CardReader::updir()
 
 void CardReader::printingHasFinished()
 {
+ quickStop();
  sdprinting = false;
  if(SD_FINISHED_STEPPERRELEASE)
  {
index 33c7e154c1c2866db960aad9cb59741199fb9b3c..51a9fe0719b6231ec22e3d0d3c9efffabf504203 100644 (file)
@@ -752,3 +752,12 @@ void finishAndDisableSteppers()
   disable_z(); 
   disable_e(); 
 }
+
+void quickStop()
+{
+  DISABLE_STEPPER_DRIVER_INTERRUPT();
+  while(blocks_queued())
+    plan_discard_current_block();
+  ENABLE_STEPPER_DRIVER_INTERRUPT();
+}
+
index fd388ca68bd5b338a9928cb2682dfd482ae7e8fe..37ce3b546992e7cd8662c72173c42726ee0edb9f 100644 (file)
@@ -52,5 +52,5 @@ void finishAndDisableSteppers();
 
 extern block_t *current_block;  // A pointer to the block currently being traced
 
-
+void quickStop();
 #endif