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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
207
 // Otherwise this would lead to the heater being powered on all the time.

+ 46
- 9
Marlin/Marlin_main.cpp View File

4399
   // Try to calculate a ballpark safe margin by halving EXTRUDE_MINTEMP
4399
   // Try to calculate a ballpark safe margin by halving EXTRUDE_MINTEMP
4400
   if (wants_to_cool && degTargetHotend(target_extruder) < (EXTRUDE_MINTEMP)/2) return;
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
     millis_t residency_start_ms = 0;
4403
     millis_t residency_start_ms = 0;
4404
     // Loop until the temperature has stabilized
4404
     // Loop until the temperature has stabilized
4405
     #define TEMP_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_RESIDENCY_TIME) * 1000UL))
4405
     #define TEMP_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_RESIDENCY_TIME) * 1000UL))
4406
   #else
4406
   #else
4407
     // Loop until the temperature is very close target
4407
     // Loop until the temperature is very close target
4408
     #define TEMP_CONDITIONS (wants_to_cool ? isCoolingHotend(target_extruder) : isHeatingHotend(target_extruder))
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
   cancel_heatup = false;
4411
   cancel_heatup = false;
4412
   millis_t now, next_temp_ms = 0;
4412
   millis_t now, next_temp_ms = 0;
4417
       #if HAS_TEMP_HOTEND || HAS_TEMP_BED
4417
       #if HAS_TEMP_HOTEND || HAS_TEMP_BED
4418
         print_heaterstates();
4418
         print_heaterstates();
4419
       #endif
4419
       #endif
4420
-      #ifdef TEMP_RESIDENCY_TIME
4420
+      #if TEMP_RESIDENCY_TIME > 0
4421
         SERIAL_PROTOCOLPGM(" W:");
4421
         SERIAL_PROTOCOLPGM(" W:");
4422
         if (residency_start_ms) {
4422
         if (residency_start_ms) {
4423
           long rem = (((TEMP_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL;
4423
           long rem = (((TEMP_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL;
4434
     idle();
4434
     idle();
4435
     refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out
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
       float temp_diff = fabs(degTargetHotend(target_extruder) - degHotend(target_extruder));
4439
       float temp_diff = fabs(degTargetHotend(target_extruder) - degHotend(target_extruder));
4440
 
4440
 
4447
         residency_start_ms = millis();
4447
         residency_start_ms = millis();
4448
       }
4448
       }
4449
 
4449
 
4450
-    #endif //TEMP_RESIDENCY_TIME
4450
+    #endif //TEMP_RESIDENCY_TIME > 0
4451
 
4451
 
4452
   } while (!cancel_heatup && TEMP_CONDITIONS);
4452
   } while (!cancel_heatup && TEMP_CONDITIONS);
4453
 
4453
 
4472
     // Exit if S<lower>, continue if S<higher>, R<lower>, or R<higher>
4472
     // Exit if S<lower>, continue if S<higher>, R<lower>, or R<higher>
4473
     if (no_wait_for_cooling && wants_to_cool) return;
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
     cancel_heatup = false;
4484
     cancel_heatup = false;
4476
-    millis_t next_temp_ms = 0;
4485
+    millis_t now, next_temp_ms = 0;
4477
 
4486
 
4478
     // Wait for temperature to come close enough
4487
     // Wait for temperature to come close enough
4479
     do {
4488
     do {
4480
-      millis_t now = millis();
4489
+      now = millis();
4481
       if (ELAPSED(now, next_temp_ms)) { //Print Temp Reading every 1 second while heating up.
4490
       if (ELAPSED(now, next_temp_ms)) { //Print Temp Reading every 1 second while heating up.
4482
         next_temp_ms = now + 1000UL;
4491
         next_temp_ms = now + 1000UL;
4483
         print_heaterstates();
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
       idle();
4507
       idle();
4487
       refresh_cmd_timeout(); // to prevent stepper_inactive_time from running out
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
     LCD_MESSAGEPGM(MSG_BED_DONE);
4526
     LCD_MESSAGEPGM(MSG_BED_DONE);
4490
   }
4527
   }
4491
 
4528
 

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

192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 15  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 15  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 15  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 15  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
195
 //#define TEMP_SENSOR_1_AS_REDUNDANT
196
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
199
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
200
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
200
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
201
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
208
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
204
 // to check that the wiring to the thermistor is not broken.
209
 // to check that the wiring to the thermistor is not broken.
205
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
199
 //#define TEMP_SENSOR_1_AS_REDUNDANT
200
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
203
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
204
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
204
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
205
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
212
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
208
 // to check that the wiring to the thermistor is not broken.
213
 // to check that the wiring to the thermistor is not broken.
209
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 //#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
217
 //#define TEMP_SENSOR_1_AS_REDUNDANT
218
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 3  // (seconds)
221
 #define TEMP_RESIDENCY_TIME 3  // (seconds)
222
 #define TEMP_HYSTERESIS 2       // (degC) range of +/- temperatures considered "close" to the target one
222
 #define TEMP_HYSTERESIS 2       // (degC) range of +/- temperatures considered "close" to the target one
223
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
230
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
226
 // to check that the wiring to the thermistor is not broken.
231
 // to check that the wiring to the thermistor is not broken.
227
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
195
 //#define TEMP_SENSOR_1_AS_REDUNDANT
196
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
199
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
200
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
200
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
201
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
208
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
204
 // to check that the wiring to the thermistor is not broken.
209
 // to check that the wiring to the thermistor is not broken.
205
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 5
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
198
 //#define TEMP_SENSOR_1_AS_REDUNDANT
199
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
202
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
203
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
203
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
204
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
211
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
207
 // to check that the wiring to the thermistor is not broken.
212
 // to check that the wiring to the thermistor is not broken.
208
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
215
 //#define TEMP_SENSOR_1_AS_REDUNDANT
216
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
219
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
220
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
220
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
221
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
228
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
224
 // to check that the wiring to the thermistor is not broken.
229
 // to check that the wiring to the thermistor is not broken.
225
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
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
 //#define TEMP_SENSOR_1_AS_REDUNDANT
192
 //#define TEMP_SENSOR_1_AS_REDUNDANT
193
 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
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
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
196
 #define TEMP_RESIDENCY_TIME 10  // (seconds)
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
197
 #define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
198
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
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
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
205
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
201
 // to check that the wiring to the thermistor is not broken.
206
 // to check that the wiring to the thermistor is not broken.
202
 // Otherwise this would lead to the heater being powered on all the time.
207
 // Otherwise this would lead to the heater being powered on all the time.

Loading…
Cancel
Save