add support for TEMP_RESIDENCY_TIME for M109

This commit is contained in:
Lawrence Leung larryleungcal@yahoo.com 2011-07-25 00:51:01 -07:00
parent 4c385a2f5d
commit 067c662510
2 changed files with 20 additions and 0 deletions

View file

@ -140,6 +140,9 @@ char uuid[] = "00000000-0000-0000-0000-000000000000";
// If the temperature has not increased at the end of that period, the target temperature is set to zero. It can be reset with another M104/M109
//#define WATCHPERIOD 5000 //5 seconds
// Wait this long after achieving target temperature on M109 before continuing with print (seconds)
#define TEMP_RESIDENCY_TIME 20
//// The minimal temperature defines the temperature below which the heater will not be enabled
#define MINTEMP 5

View file

@ -778,6 +778,23 @@ inline void process_commands()
}
manage_heater();
}
// wait extra time before letting the print continue
#ifdef TEMP_RESIDENCY_TIME
{
long residencyStart = millis();
codenum = millis();
while(millis()-residencyStart<(TEMP_RESIDENCY_TIME*1000)) {
if( (millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.
{
Serial.print("T:");
Serial.println( analog2temp(current_raw) );
codenum = millis();
}
manage_heater();
}
}
#endif
break;
case 190: // M190 - Wait bed for heater to reach target.
#if TEMP_1_PIN > -1