Browse Source

Merge pull request #3477 from alephobjects/BedTempHysteresis

Implementation of M190 bed temp hysteresis
Scott Lahteine 9 years ago
parent
commit
a8e4d7c135

+ 6
- 1
Marlin/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 10  // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 46
- 9
Marlin/Marlin_main.cpp View File

@@ -4399,14 +4399,14 @@ inline void gcode_M109() {
4399 4399
   // Try to calculate a ballpark safe margin by halving EXTRUDE_MINTEMP
4400 4400
   if (wants_to_cool && degTargetHotend(target_extruder) < (EXTRUDE_MINTEMP)/2) return;
4401 4401
 
4402
-  #ifdef TEMP_RESIDENCY_TIME
4402
+  #if TEMP_RESIDENCY_TIME > 0
4403 4403
     millis_t residency_start_ms = 0;
4404 4404
     // Loop until the temperature has stabilized
4405 4405
     #define TEMP_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_RESIDENCY_TIME) * 1000UL))
4406 4406
   #else
4407 4407
     // Loop until the temperature is very close target
4408 4408
     #define TEMP_CONDITIONS (wants_to_cool ? isCoolingHotend(target_extruder) : isHeatingHotend(target_extruder))
4409
-  #endif //TEMP_RESIDENCY_TIME
4409
+  #endif //TEMP_RESIDENCY_TIME > 0
4410 4410
 
4411 4411
   cancel_heatup = false;
4412 4412
   millis_t now, next_temp_ms = 0;
@@ -4417,7 +4417,7 @@ inline void gcode_M109() {
4417 4417
       #if HAS_TEMP_HOTEND || HAS_TEMP_BED
4418 4418
         print_heaterstates();
4419 4419
       #endif
4420
-      #ifdef TEMP_RESIDENCY_TIME
4420
+      #if TEMP_RESIDENCY_TIME > 0
4421 4421
         SERIAL_PROTOCOLPGM(" W:");
4422 4422
         if (residency_start_ms) {
4423 4423
           long rem = (((TEMP_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL;
@@ -4434,7 +4434,7 @@ inline void gcode_M109() {
4434 4434
     idle();
4435 4435
     refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out
4436 4436
 
4437
-    #ifdef TEMP_RESIDENCY_TIME
4437
+    #if TEMP_RESIDENCY_TIME > 0
4438 4438
 
4439 4439
       float temp_diff = fabs(degTargetHotend(target_extruder) - degHotend(target_extruder));
4440 4440
 
@@ -4447,7 +4447,7 @@ inline void gcode_M109() {
4447 4447
         residency_start_ms = millis();
4448 4448
       }
4449 4449
 
4450
-    #endif //TEMP_RESIDENCY_TIME
4450
+    #endif //TEMP_RESIDENCY_TIME > 0
4451 4451
 
4452 4452
   } while (!cancel_heatup && TEMP_CONDITIONS);
4453 4453
 
@@ -4472,20 +4472,57 @@ inline void gcode_M109() {
4472 4472
     // Exit if S<lower>, continue if S<higher>, R<lower>, or R<higher>
4473 4473
     if (no_wait_for_cooling && wants_to_cool) return;
4474 4474
 
4475
+    #if TEMP_BED_RESIDENCY_TIME > 0
4476
+      millis_t residency_start_ms = 0;
4477
+      // Loop until the temperature has stabilized
4478
+      #define TEMP_BED_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_BED_RESIDENCY_TIME) * 1000UL))
4479
+    #else
4480
+      // Loop until the temperature is very close target
4481
+      #define TEMP_BED_CONDITIONS (wants_to_cool ? isCoolingBed() : isHeatingBed())
4482
+    #endif //TEMP_BED_RESIDENCY_TIME > 0
4483
+
4475 4484
     cancel_heatup = false;
4476
-    millis_t next_temp_ms = 0;
4485
+    millis_t now, next_temp_ms = 0;
4477 4486
 
4478 4487
     // Wait for temperature to come close enough
4479 4488
     do {
4480
-      millis_t now = millis();
4489
+      now = millis();
4481 4490
       if (ELAPSED(now, next_temp_ms)) { //Print Temp Reading every 1 second while heating up.
4482 4491
         next_temp_ms = now + 1000UL;
4483 4492
         print_heaterstates();
4484
-        SERIAL_EOL;
4493
+        #if TEMP_BED_RESIDENCY_TIME > 0
4494
+          SERIAL_PROTOCOLPGM(" W:");
4495
+          if (residency_start_ms) {
4496
+            long rem = (((TEMP_BED_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL;
4497
+            SERIAL_PROTOCOLLN(rem);
4498
+          }
4499
+          else {
4500
+            SERIAL_PROTOCOLLNPGM("?");
4501
+          }
4502
+        #else
4503
+          SERIAL_EOL;
4504
+        #endif
4485 4505
       }
4506
+
4486 4507
       idle();
4487 4508
       refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out
4488
-    } while (!cancel_heatup && (wants_to_cool ? isCoolingBed() : isHeatingBed()));
4509
+
4510
+      #if TEMP_BED_RESIDENCY_TIME > 0
4511
+
4512
+        float temp_diff = fabs(degBed() - degTargetBed());
4513
+
4514
+        if (!residency_start_ms) {
4515
+          // Start the TEMP_BED_RESIDENCY_TIME timer when we reach target temp for the first time.
4516
+          if (temp_diff < TEMP_BED_WINDOW) residency_start_ms = millis();
4517
+        }
4518
+        else if (temp_diff > TEMP_BED_HYSTERESIS) {
4519
+          // Restart the timer whenever the temperature falls outside the hysteresis.
4520
+          residency_start_ms = millis();
4521
+        }
4522
+
4523
+      #endif //TEMP_BED_RESIDENCY_TIME > 0
4524
+
4525
+    } while (!cancel_heatup && TEMP_BED_CONDITIONS);
4489 4526
     LCD_MESSAGEPGM(MSG_BED_DONE);
4490 4527
   }
4491 4528
 

+ 6
- 1
Marlin/example_configurations/Felix/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 15  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/Felix/Configuration_DUAL.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 15  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/Hephestos/Configuration.h View File

@@ -195,11 +195,16 @@
195 195
 //#define TEMP_SENSOR_1_AS_REDUNDANT
196 196
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
197 197
 
198
-// Actual temperature must be close to target for this long before M109 returns success
198
+// Extruder temperature must be close to target for this long before M109 returns success
199 199
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
200 200
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
201 201
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
202 202
 
203
+// Bed temperature must be close to target for this long before M190 returns success
204
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
205
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
206
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
207
+
203 208
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
204 209
 // to check that the wiring to the thermistor is not broken.
205 210
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/Hephestos_2/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/K8200/Configuration.h View File

@@ -199,11 +199,16 @@
199 199
 //#define TEMP_SENSOR_1_AS_REDUNDANT
200 200
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
201 201
 
202
-// Actual temperature must be close to target for this long before M109 returns success
202
+// Extruder temperature must be close to target for this long before M109 returns success
203 203
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
204 204
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
205 205
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
206 206
 
207
+// Bed temperature must be close to target for this long before M190 returns success
208
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
209
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
210
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
211
+
207 212
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
208 213
 // to check that the wiring to the thermistor is not broken.
209 214
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/RigidBot/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 //#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/SCARA/Configuration.h View File

@@ -217,11 +217,16 @@
217 217
 //#define TEMP_SENSOR_1_AS_REDUNDANT
218 218
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
219 219
 
220
-// Actual temperature must be close to target for this long before M109 returns success
220
+// Extruder temperature must be close to target for this long before M109 returns success
221 221
 #define TEMP_RESIDENCY_TIME 3  // (seconds)
222 222
 #define TEMP_HYSTERESIS 2       // (degC) range of +/- temperatures considered "close" to the target one
223 223
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
224 224
 
225
+// Bed temperature must be close to target for this long before M190 returns success
226
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
227
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
228
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
229
+
225 230
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
226 231
 // to check that the wiring to the thermistor is not broken.
227 232
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/TAZ4/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/WITBOX/Configuration.h View File

@@ -195,11 +195,16 @@
195 195
 //#define TEMP_SENSOR_1_AS_REDUNDANT
196 196
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
197 197
 
198
-// Actual temperature must be close to target for this long before M109 returns success
198
+// Extruder temperature must be close to target for this long before M109 returns success
199 199
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
200 200
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
201 201
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
202 202
 
203
+// Bed temperature must be close to target for this long before M190 returns success
204
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
205
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
206
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
207
+
203 208
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
204 209
 // to check that the wiring to the thermistor is not broken.
205 210
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/adafruit/ST7565/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/delta/biv2.5/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/delta/generic/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 5
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

@@ -198,11 +198,16 @@
198 198
 //#define TEMP_SENSOR_1_AS_REDUNDANT
199 199
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
200 200
 
201
-// Actual temperature must be close to target for this long before M109 returns success
201
+// Extruder temperature must be close to target for this long before M109 returns success
202 202
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
203 203
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
204 204
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
205 205
 
206
+// Bed temperature must be close to target for this long before M190 returns success
207
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
208
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
209
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
210
+
206 211
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
207 212
 // to check that the wiring to the thermistor is not broken.
208 213
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

@@ -215,11 +215,16 @@
215 215
 //#define TEMP_SENSOR_1_AS_REDUNDANT
216 216
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
217 217
 
218
-// Actual temperature must be close to target for this long before M109 returns success
218
+// Extruder temperature must be close to target for this long before M109 returns success
219 219
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
220 220
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
221 221
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
222 222
 
223
+// Bed temperature must be close to target for this long before M190 returns success
224
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
225
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
226
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
227
+
223 228
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
224 229
 // to check that the wiring to the thermistor is not broken.
225 230
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/makibox/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

+ 6
- 1
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

@@ -192,11 +192,16 @@
192 192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193 193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
194 194
 
195
-// Actual temperature must be close to target for this long before M109 returns success
195
+// Extruder temperature must be close to target for this long before M109 returns success
196 196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197 197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198 198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
199 199
 
200
+// Bed temperature must be close to target for this long before M190 returns success
201
+#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
202
+#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
+#define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
204
+
200 205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201 206
 // to check that the wiring to the thermistor is not broken.
202 207
 // Otherwise this would lead to the heater being powered on all the time.

Loading…
Cancel
Save