Feature Request : Start "homing" and "printing" even if temps aren't stable

So I think having to wait for the temp to stabilize around whatever we set in the slicer is kinda useless for multiple reasons.

  1. wastes time
  2. wastes electricity
  3. wastes filament (oozing)
    For example, I can set 60C for the bed, and the printer will wait for it to stabilize a bit, usually within +1 degrees C, before homing, which can waste 30 seconds or so each print depending on printer.
    Or for the nozzle with higher temps, it can take just as long or a little longer to stabilize, which oozes out a lot of filament. Meanwhile, it really won’t hurt anything for the first layer to be 1-2 degrees above.

Is it possible to have some kind of setting or toggle to allow just continuing with the Gcode provided it is within a set number of degrees? Like ofc we don’t want a print to start with +30 degrees. But I feel like requiring the “print” to be within 1 degree just wastes a bunch of time and filament added up for anyone that does many prints, calibrations or anything

This is your choice. The printer will only do that if that’s what you’ve told it to do; there’s nothing preventing you from homing at the same time it’s heating up.

This is also your choice, Klipper does not force you to wait for the temperature to settle. M109 and M190 wait for the temperature to settle, TEMPERATURE_WAIT does not, so you can combine it with M104, M140, or SET_HEATER_TEMPERATURE for the behaviour you want.

2 Likes

Have you ever ran a PID tune?

https://www.klipper3d.org/Config_checks.html?h=pid#calibrate-pid-settings

In all, it sounds more than a issue with your printer than a feature request for a workaround.

Personally, I’m always a little surprised by such discussions: optimizing a few seconds as if we were in mass production, but at the same time working with equipment in the range of a handful of hundred dollars. But, to each his own.

As flowery has already answered: Instead of M109 and M190, use the Klipper functions for SET_HEATER_TEMPERATURE and TEMPERATURE_WAIT with the desired minima and maxima. These react as soon as the temperature is within the specified corridor. Also, these functions do not care whether the temperature then runs away in any way.

Also wanted to add that M104 and M140 codes set the target temperatures without blocking, though I prefer to wait for bed temperarure to stabilize because thermal expansion can significantly affect Z offset if Z Homing is done prematurely.

Although there are ways to account for that I find that simply waiting is less error prone and gets me the best resulta.

You are right, I never considered it was a gcode thing because honestly I never really touch gcode once the printer works. Thank you for informing me of this, I thought it was a built-in “safety” feature tbh, cuz Klipper has a lot of those.

You must have missed the part about 30+ seconds. And waiting that every time during calibrations or tests adds up. Especially when a skirt or brim is used, it’s even more unnecessary. I am surprised someone even questions the fact of wasted time and tries to make it seem smaller than it is, but to each their own