Merge pull request #8312 from thinkyhead/bf2_thermal_docs
[2.0.x] Update Thermal Protection Documentation
This commit is contained in:
		@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -448,12 +448,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -448,12 +448,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 60        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 10    // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 5               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 5 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 180                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -434,12 +434,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 60        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 10    // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 5 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 180               // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -419,12 +419,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -429,12 +429,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -419,12 +419,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -427,12 +427,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -438,12 +438,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -409,12 +409,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -409,12 +409,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -434,12 +434,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 2     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 40                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -443,12 +443,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -432,12 +432,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -436,12 +436,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -429,12 +429,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 50        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 6     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 40                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 4 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 100                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -424,12 +424,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -440,12 +440,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -429,12 +429,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -478,12 +478,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -458,12 +458,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -57,18 +57,20 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  // K8200 has weak heaters/power supply by default, so you have to relax!
 | 
			
		||||
@@ -76,13 +78,16 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 8     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  // K8200 has weak heaters/power supply by default, so you have to relax!
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 30                // Seconds
 | 
			
		||||
@@ -99,13 +104,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 10 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -438,12 +438,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -438,12 +438,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -428,12 +428,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -414,12 +414,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -53,31 +53,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -91,13 +96,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -432,12 +432,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -441,12 +441,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 50        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 3     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 50                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -431,12 +431,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -417,12 +417,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -433,12 +433,13 @@
 | 
			
		||||
//===========================================================================
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get "Thermal Runaway" or "Heating failed" errors the
 | 
			
		||||
 * details can be tuned in Configuration_adv.h
 | 
			
		||||
 
 | 
			
		||||
@@ -48,31 +48,36 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Thermal Protection protects your printer from damage and fire if a
 | 
			
		||||
 * thermistor falls out or temperature sensors fail in any way.
 | 
			
		||||
 * Thermal Protection provides additional protection to your printer from damage
 | 
			
		||||
 * and fire. Marlin always includes safe min and max temperature ranges which
 | 
			
		||||
 * protect against a broken or disconnected thermistor wire.
 | 
			
		||||
 *
 | 
			
		||||
 * The issue: If a thermistor falls out or a temperature sensor fails,
 | 
			
		||||
 * Marlin can no longer sense the actual temperature. Since a disconnected
 | 
			
		||||
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 | 
			
		||||
 * The issue: If a thermistor falls out, it will report the much lower
 | 
			
		||||
 * temperature of the air in the room, and the the firmware will keep
 | 
			
		||||
 * the heater on.
 | 
			
		||||
 *
 | 
			
		||||
 * The solution: Once the temperature reaches the target, start observing.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 | 
			
		||||
 * the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 * If the temperature stays too far below the target (hysteresis) for too
 | 
			
		||||
 * long (period), the firmware will halt the machine as a safety precaution.
 | 
			
		||||
 *
 | 
			
		||||
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 * If you get false positives for "Thermal Runaway", increase
 | 
			
		||||
 * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 | 
			
		||||
 */
 | 
			
		||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
 | 
			
		||||
  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
 | 
			
		||||
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   * Whenever an M104, M109, or M303 increases the target temperature, the
 | 
			
		||||
   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
 | 
			
		||||
   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
 | 
			
		||||
   * requires a hard reset. This test restarts with any M104/M109/M303, but only
 | 
			
		||||
   * if the current temperature is far enough below the target for a reliable
 | 
			
		||||
   * test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
 | 
			
		||||
   * WATCH_TEMP_INCREASE should not be below 2.
 | 
			
		||||
   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
 | 
			
		||||
   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
 | 
			
		||||
   * below 2.
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_TEMP_PERIOD 20                // Seconds
 | 
			
		||||
  #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
@@ -86,13 +91,7 @@
 | 
			
		||||
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
 | 
			
		||||
   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
 | 
			
		||||
   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
 | 
			
		||||
   * but only if the current temperature is far enough below the target for a reliable test.
 | 
			
		||||
   *
 | 
			
		||||
   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
 | 
			
		||||
   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
 | 
			
		||||
   * As described above, except for the bed (M140/M190/M303).
 | 
			
		||||
   */
 | 
			
		||||
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
 | 
			
		||||
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
 | 
			
		||||
 
 | 
			
		||||
@@ -249,13 +249,13 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS],
 | 
			
		||||
          THERMAL_PROTECTION_PERIOD
 | 
			
		||||
        #endif
 | 
			
		||||
      ;
 | 
			
		||||
      const int8_t hysteresis =
 | 
			
		||||
      const int8_t watch_temp_increase =
 | 
			
		||||
        #if ENABLED(THERMAL_PROTECTION_BED) && ENABLED(PIDTEMPBED) && ENABLED(THERMAL_PROTECTION_HOTENDS) && ENABLED(PIDTEMP)
 | 
			
		||||
          hotend < 0 ? TEMP_BED_HYSTERESIS : TEMP_HYSTERESIS
 | 
			
		||||
          hotend < 0 ? WATCH_BED_TEMP_INCREASE : WATCH_TEMP_INCREASE
 | 
			
		||||
        #elif ENABLED(THERMAL_PROTECTION_BED) && ENABLED(PIDTEMPBED)
 | 
			
		||||
          TEMP_BED_HYSTERESIS
 | 
			
		||||
          WATCH_BED_TEMP_INCREASE
 | 
			
		||||
        #else
 | 
			
		||||
          TEMP_HYSTERESIS
 | 
			
		||||
          WATCH_TEMP_INCREASE
 | 
			
		||||
        #endif
 | 
			
		||||
      ;
 | 
			
		||||
      millis_t temp_change_ms = next_temp_ms + watch_temp_period * 1000UL;
 | 
			
		||||
@@ -432,7 +432,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS],
 | 
			
		||||
        #if WATCH_THE_BED || WATCH_HOTENDS
 | 
			
		||||
          if (!heated && input > next_watch_temp) {
 | 
			
		||||
            if (input > watch_temp_target) heated = true;
 | 
			
		||||
            next_watch_temp = input + hysteresis;
 | 
			
		||||
            next_watch_temp = input + watch_temp_increase;
 | 
			
		||||
            temp_change_ms = ms + watch_temp_period * 1000UL;
 | 
			
		||||
          }
 | 
			
		||||
          else if ((!heated && ELAPSED(ms, temp_change_ms)) || (heated && input < temp - MAX_OVERSHOOT_PID_AUTOTUNE))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user