chiark / gitweb /
ultralcd can now also stop the wait loop for the hot-end m109 heating when stopping...
authorBernhard <bkubicek@x201.(none)>
Sun, 11 Dec 2011 21:18:50 +0000 (22:18 +0100)
committerBernhard <bkubicek@x201.(none)>
Sun, 11 Dec 2011 21:18:50 +0000 (22:18 +0100)
Marlin/Marlin.h
Marlin/Marlin.pde
Marlin/cardreader.pde

index 73ffd421af827474226f5bb1d4e3469f1093c824..8f98244089d86589e58f6c01a8f954669f5c99d4 100644 (file)
@@ -131,5 +131,6 @@ extern float homing_feedrate[];
 extern bool axis_relative_modes[];
 extern float current_position[NUM_AXIS] ;
 extern float add_homeing[3];
+extern bool stop_heating_wait;
 
 #endif
index 0a8a80c4cec8dbeab3f9cbf7a36c496feecea173..4d031ea7883229012ece475a77dd2edbc1b0e2e3 100644 (file)
@@ -138,7 +138,7 @@ int saved_feedmultiply;
 volatile bool feedmultiplychanged=false;
 float current_position[NUM_AXIS] = {  0.0, 0.0, 0.0, 0.0};
 float add_homeing[3]={0,0,0};
-
+bool stop_heating_wait=false;
 //===========================================================================
 //=============================private variables=============================
 //===========================================================================
@@ -825,6 +825,7 @@ FORCE_INLINE void process_commands()
         }
         manage_heater();
         LCD_STATUS;
+        if(stop_heating_wait) break;
         #ifdef TEMP_RESIDENCY_TIME
             /* start/restart the TEMP_RESIDENCY_TIME timer whenever we reach target temp for the first time
               or when current temp falls outside the hysteresis after target temp was reached */
index 735a1cdcd8e231b7682ccffa9444307a4af232fe..2cf44e6cd3b2aff36e47f5959ef010107cab3f03 100644 (file)
@@ -434,6 +434,7 @@ void CardReader::printingHasFinished()
 {
  quickStop();
  sdprinting = false;
+ stop_heating_wait=true;
  if(SD_FINISHED_STEPPERRELEASE)
  {
    //finishAndDisableSteppers();