jschuh / klipper-macros

A collection of useful macros for the Klipper 3D printer firmware
GNU General Public License v3.0
921 stars 167 forks source link

Feature: set temperature while meshing #254

Open pheidrias opened 1 month ago

pheidrias commented 1 month ago

Hi,

it would be great to be able to set a nozzle-temperature to be held while probing the bed.

Atm, my filament starts oozing while meshing and I usually have the temperature fixed at 150°C.

I didn't find an option/config to do so - could you please implement it?

Thanks, pheidrias

stablestud commented 1 month ago

What about the following variable in globals.cfg:

# If non-zero the extruder will stabilize at this temp before probing the bed.
variable_start_extruder_probing_temp: 0

I believe it does exactly that. Could you please try and report back if that is what you needed?

stablestud commented 1 month ago

For additional confusion: There is also the variable which is set by default:

# Extruder scale factor during pre-warmup in PRINT_START.
variable_start_extruder_preheat_scale: 0.5

I would expect it to have the same effect as variable_start_extruder_probing_temp, but it only sets the temp in stage PREHEAT and is replaced by final temperature in stage PROBING, unlike the variable_start_extruder_probing_temp which is replaced by the final temp after PROBING has finished.

I would prefer the scale temp to stay while probing.

Consider this:

variable_extruder_probing_temp = 120
variable_extruder_preheat_scale = 0.5

Removing probing temp will lead to oozing, like described in the OP's issue. Therefore I would propose to make preheat_scale behave exactly the same as probing_temp.

@jschuh what do you think?

stablestud commented 1 month ago

Or a better solution would be to add variables for PREHEAT and PROBING:

variable_start_extruder_preheat_temp
variable_start_extruder_preheat_scale
variable_start_extruder_probing_temp
variable_start_extruder_probing_scale

This wouldn't break existing configs an adds further control to temps while probing.

OR

Omitting the probing values and use the preheat values instead. This is simpler and reduces confusion (my preferred solution)

variable_start_extruder_preheat_temp
variable_start_extruder_preheat_scale

Then, after probing, set the final temperature