summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Sprinter/Configuration.h3
-rw-r--r--Sprinter/Sprinter.pde17
2 files changed, 20 insertions, 0 deletions
diff --git a/Sprinter/Configuration.h b/Sprinter/Configuration.h
index bbc2cfe..c1c4918 100644
--- a/Sprinter/Configuration.h
+++ b/Sprinter/Configuration.h
@@ -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
diff --git a/Sprinter/Sprinter.pde b/Sprinter/Sprinter.pde
index dde302c..801f103 100644
--- a/Sprinter/Sprinter.pde
+++ b/Sprinter/Sprinter.pde
@@ -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