ultralcd can now also stop the wait loop for the hot-end m109 heating when stopping sd prints.

This commit is contained in:
Bernhard 2011-12-11 22:18:50 +01:00
parent 82c99625fa
commit 06411d5c9e
3 changed files with 4 additions and 1 deletions

View File

@ -131,5 +131,6 @@ extern float homing_feedrate[];
extern bool axis_relative_modes[]; extern bool axis_relative_modes[];
extern float current_position[NUM_AXIS] ; extern float current_position[NUM_AXIS] ;
extern float add_homeing[3]; extern float add_homeing[3];
extern bool stop_heating_wait;
#endif #endif

View File

@ -138,7 +138,7 @@ int saved_feedmultiply;
volatile bool feedmultiplychanged=false; volatile bool feedmultiplychanged=false;
float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0}; float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0};
float add_homeing[3]={0,0,0}; float add_homeing[3]={0,0,0};
bool stop_heating_wait=false;
//=========================================================================== //===========================================================================
//=============================private variables============================= //=============================private variables=============================
//=========================================================================== //===========================================================================
@ -825,6 +825,7 @@ FORCE_INLINE void process_commands()
} }
manage_heater(); manage_heater();
LCD_STATUS; LCD_STATUS;
if(stop_heating_wait) break;
#ifdef TEMP_RESIDENCY_TIME #ifdef TEMP_RESIDENCY_TIME
/* start/restart the TEMP_RESIDENCY_TIME timer whenever we reach target temp for the first 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 */ or when current temp falls outside the hysteresis after target temp was reached */

View File

@ -434,6 +434,7 @@ void CardReader::printingHasFinished()
{ {
quickStop(); quickStop();
sdprinting = false; sdprinting = false;
stop_heating_wait=true;
if(SD_FINISHED_STEPPERRELEASE) if(SD_FINISHED_STEPPERRELEASE)
{ {
//finishAndDisableSteppers(); //finishAndDisableSteppers();