Adjust wait_for_cooling slope
Adjust wait_for_cooling slope and drop mintemp for cooling. See https://github.com/MarlinFirmware/Marlin/pull/4169#issuecomment-231544532
This commit is contained in:
		
							parent
							
								
									167f4aa0cc
								
							
						
					
					
						commit
						e92e58df1f
					
				| @ -4488,6 +4488,13 @@ inline void gcode_M105() { | |||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  |   #ifndef MIN_COOLING_SLOPE_DEG | ||||||
|  |     #define MIN_COOLING_SLOPE_DEG 1.50 | ||||||
|  |   #endif | ||||||
|  |   #ifndef MIN_COOLING_SLOPE_TIME | ||||||
|  |     #define MIN_COOLING_SLOPE_TIME 60 | ||||||
|  |   #endif | ||||||
|  | 
 | ||||||
| /**
 | /**
 | ||||||
|  * M109: Sxxx Wait for extruder(s) to reach temperature. Waits only when heating. |  * M109: Sxxx Wait for extruder(s) to reach temperature. Waits only when heating. | ||||||
|  *       Rxxx Wait for extruder(s) to reach temperature. Waits when heating and cooling. |  *       Rxxx Wait for extruder(s) to reach temperature. Waits when heating and cooling. | ||||||
| @ -4600,11 +4607,11 @@ inline void gcode_M109() { | |||||||
| 
 | 
 | ||||||
|     // Prevent a wait-forever situation if R is misused i.e. M109 R0
 |     // Prevent a wait-forever situation if R is misused i.e. M109 R0
 | ||||||
|     if (wants_to_cool) { |     if (wants_to_cool) { | ||||||
|       if (temp < (EXTRUDE_MINTEMP) / 2) break; // always break at (default) 85°
 |       // break after MIN_COOLING_SLOPE_TIME seconds
 | ||||||
|       // break after 20 seconds if cooling stalls
 |       // if the temperature did not drop at least MIN_COOLING_SLOPE_DEG
 | ||||||
|       if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { |       if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { | ||||||
|         if (old_temp - temp < 1.0) break; |         if (old_temp - temp < MIN_COOLING_SLOPE_DEG) break; | ||||||
|         next_cool_check_ms = now + 20000; |         next_cool_check_ms = now + 1000UL * MIN_COOLING_SLOPE_TIME; | ||||||
|         old_temp = temp; |         old_temp = temp; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| @ -4617,6 +4624,13 @@ inline void gcode_M109() { | |||||||
| 
 | 
 | ||||||
| #if HAS_TEMP_BED | #if HAS_TEMP_BED | ||||||
| 
 | 
 | ||||||
|  |   #ifndef MIN_COOLING_SLOPE_DEG_BED | ||||||
|  |     #define MIN_COOLING_SLOPE_DEG_BED 1.50 | ||||||
|  |   #endif | ||||||
|  |   #ifndef MIN_COOLING_SLOPE_TIME_BED | ||||||
|  |     #define MIN_COOLING_SLOPE_TIME_BED 60 | ||||||
|  |   #endif | ||||||
|  | 
 | ||||||
|   /**
 |   /**
 | ||||||
|    * M190: Sxxx Wait for bed current temp to reach target temp. Waits only when heating |    * M190: Sxxx Wait for bed current temp to reach target temp. Waits only when heating | ||||||
|    *       Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling |    *       Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling | ||||||
| @ -4709,11 +4723,11 @@ inline void gcode_M109() { | |||||||
| 
 | 
 | ||||||
|       // Prevent a wait-forever situation if R is misused i.e. M190 R0
 |       // Prevent a wait-forever situation if R is misused i.e. M190 R0
 | ||||||
|       if (wants_to_cool) { |       if (wants_to_cool) { | ||||||
|         if (temp < 30.0) break; // always break at 30°
 |         // break after MIN_COOLING_SLOPE_TIME_BED seconds
 | ||||||
|         // break after 20 seconds if cooling stalls
 |         // if the temperature did not drop at least MIN_COOLING_SLOPE_DEG_BED
 | ||||||
|         if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { |         if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { | ||||||
|           if (old_temp - temp < 1.0) break; |           if (old_temp - temp < MIN_COOLING_SLOPE_DEG_BED) break; | ||||||
|           next_cool_check_ms = now + 20000; |           next_cool_check_ms = now + 1000UL * MIN_COOLING_SLOPE_TIME_BED; | ||||||
|           old_temp = temp; |           old_temp = temp; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user