PrusaSlicer generates invalid gcode for Klipper with two-in-one-out set-up due to wrong use of SET_PRESSURE_ADVANCE gcode
Description of the bug
I have a printer with a two-in-one-ouet set up (two separates extruders feeding into a single, Y-shaped nozzle) running Klipper.
When slicing the popular 2 color tree frog with PrusaSlicer and then priting, I am getting an error message, "Unable to infer active extruder" in Klipper which then aborts the print. The error occurs during the nozzle priming when then filament is changed for the first time.
This appears to be caused by the following line of gcode:
SET_PRESSURE_ADVANCE ADVANCE=0According to the Klipper gcode reference the SET_PRESSURE_ADVANCE takes an optional parameter for the extruder to be used in the action. I assume that due to the special set-up I have (one hotend with two extruders), Klipper can't figure out which stepper to drive w/o this parameter.
Unfortunately, the insertion of this gcode is hardcoded in the slicer, so there is no way for me to fix this w/o recompiling.
(After manually patching the exported gcode, the print works just fine).
Project file & How to reproduce
Checklist of files included above
- Project file
- Screenshot
Version of PrusaSlicer
2.7.0
Operating system
Gentoo
Printer model
custom (config in upload)
Source: prusa3d/PrusaSlicer