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

[BUG] variable_load_speed in printer.cfg is not working #217

Closed wesblake closed 8 months ago

wesblake commented 8 months ago

Here is what I have in my printer.cfg:

`#Start Klipper-macros

[gcode_macro _km_options] variable_load_length: 510.0 variable_load_speed: 1500 variable_start_purge_length: 20 gcode: # This line is required by Klipper

[include klipper-macros/*.cfg]

[include fluidd.cfg]

[idle_timeout] gcode: _KM_IDLE_TIMEOUT # This line must be in your idle_timeout section.

[pause_resume]

[respond]

[save_variables] filename: ~/printer_data/variables.cfg # UPDATE THIS FOR YOUR PATH!!!

[virtual_sdcard] path: ~/printer_data/gcodes on_error_gcode: CANCEL_PRINT

[display_status]`

I know everything else is working. It loads/unloads the proper amount (530mm). And if I run the command directly in Fluidd (UNLOAD_FILAMENT SPEED=1500) it works great. However, when I click the unload/load button in KlipperScreen (which simply calls UNLOAD_FILAMANT) then it works, loads/unloads the correct amount, but SLOW. Why isn't it listening to the variable_load_speed I've set but it listens to the variable_load_length?

jschuh commented 8 months ago

That appears to be a Klipper Screen thing, since a quick peek at the code makes a clear that it always passes a SPEED parameter based on whatever value is currently selected in the menu. I don't know if there's some way to change that behavior in Klipper Screen, but it's not a bug, because the macro is just using the argument that's being explicitly passed to it.