cooldown blocking selectable by #define.

This commit is contained in:
Bernhard 2011-11-26 09:03:12 +01:00
parent 191f36b493
commit 74d0032e25
2 changed files with 10 additions and 2 deletions

View File

@ -84,6 +84,11 @@
//#define BED_MAXTEMP 150 //#define BED_MAXTEMP 150
// Wait for Cooldown
// This defines if the M109 call should not block if it is cooling down.
// example: From a current temp of 220, you set M109 S200.
// if CooldownNoWait is defined M109 will not wait for the cooldown to finish
#define CooldownNoWait true
// PID settings: // PID settings:
// Uncomment the following line to enable PID support. // Uncomment the following line to enable PID support.

View File

@ -517,7 +517,10 @@ inline void process_commands()
codenum = 0; codenum = 0;
if(code_seen('P')) codenum = code_value(); // milliseconds to wait if(code_seen('P')) codenum = code_value(); // milliseconds to wait
if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
st_synchronize();
codenum += millis(); // keep track of when we started waiting codenum += millis(); // keep track of when we started waiting
while(millis() < codenum ){ while(millis() < codenum ){
manage_heater(); manage_heater();
} }
@ -579,7 +582,7 @@ inline void process_commands()
switch( (int)code_value() ) switch( (int)code_value() )
{ {
case 17: case 17:
LCD_MESSAGEPGM("No move."); LCD_MESSAGEPGM("No move.");
enable_x(); enable_x();
enable_y(); enable_y();
@ -740,7 +743,7 @@ inline void process_commands()
while((target_direction ? (isHeatingHotend0()) : (isCoolingHotend0())) || while((target_direction ? (isHeatingHotend0()) : (isCoolingHotend0())) ||
(residencyStart > -1 && (millis() - residencyStart) < TEMP_RESIDENCY_TIME*1000) ) { (residencyStart > -1 && (millis() - residencyStart) < TEMP_RESIDENCY_TIME*1000) ) {
#else #else
while ( target_direction ? (isHeatingHotend0()) : (isCoolingHotend0()) ) { while ( target_direction ? (isHeatingHotend0()) : (isCoolingHotend0()&&(CooldownNoWait==false)) ) {
#endif //TEMP_RESIDENCY_TIME #endif //TEMP_RESIDENCY_TIME
if( (millis() - codenum) > 1000 ) if( (millis() - codenum) > 1000 )
{ //Print Temp Reading every 1 second while heating up/cooling down { //Print Temp Reading every 1 second while heating up/cooling down