Standard methods to wait for heating #11949
Merged
+265
−232
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As noted in #11876…
Problem: Normal hot-end heating with
M109
waits for the temperature to stabilize, but reheating —as used with the pause for filament change function— only waits for the temperature to intersect the target temperature hysteresis. As a result, when resuming a print the temperature may overshoot and fall below target even as the print continues.Solution: Break out the code from
M109
/M190
that waits for hotend / bed heating and move these heating loops to theTemperature
class. Then, use thewait_for_hotend
method instead ofwait_for_heating
when resuming after a filament change.wait_for_bed
method isn't used outside ofM190
but it may come in handy later.