- Introduction
*Printer Used: Biqu Hurakan
Toolhead Used: Biqu H2 V2S Direct Drive 0.4mm HS Nozzle
I am using Elli's Pause/Resume macro's and one thing stood out to me which is quite a pain in the rear end and that is the time it takes resume. https://ellis3dp.com/Print-Tuning-Guide/articles/useful_macros/pause_resume_filament.html.
I am having a little frustration with the resume portion.
The concept works as intended not here to debate that, the pause will pause the printer and park the toolhead front centre of the bed for easy filament changes at a certain z hop height. (I adjusted the height because Z10 is too low for my taste when I may wish to clean the nozzle before resuming. The Resume function is where it grinds my gears, I don't mind that it turns the heaters off for safety (is also a an easy fix to just comment this out)
-
The problem which needs resolution.
When the printer overshoots it will wait for it to cool down to the very exact digit before it will continue and this is a problem without a nozzle wipe because in the mean time it just oozes like crazy.
So I would like if possible that this macro uses the same functionality as my start print where it uses the the temprature wait to wait but instantly resume once target has been reached instead of hold for exact target.
Somewhere in this section lies the what needs adjusting -
Section of Macro which needs alteration.
[gcode_macro RESUME]
rename_existing: BASE_RESUME
variable_zhop: 0
variable_etemp: 0
gcode:
# Parameters
{% set e = params.E|default(2.5)|int %} ; hotend prime amount (in mm)
{% if printer['pause_resume'].is_paused|int == 1 %}
SET_FILAMENT_SENSOR SENSOR=SFS ENABLE=1 ; enable filament sensor
#INITIAL_RGB ; reset LCD color
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} ; set timeout back to configured value
{% if etemp > 0 %}
M109 S{etemp|int} ; wait for hotend to heat back up
{% endif %}
- Possible Solution?
Now I am not 💯 sure, but I believe removing the {% if {% endif %} statement and right after SET_IDLE_TIMEOUT TIMEOUT we could use a TEMPERATURE_WAIT SENSOR=extruder to re-heat not hold for target.
In the pause macro it saves the current temperature under a param called etemp.
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target} ; set hotend temp variable for reference in resume macro
- **Expected outcome **
Print Resumes, Hotend re-heats back to stored heating value and immediately resumes regardless if temperature overshoot by a few degrees to reduce time allowed to ooze holding for exact temperature.