I’ve got 4 extruders connected to a single hotend. The first extruder is defined as an extruder object, and the others are defined as extruder_stepper objects. I’ve got some BTT smart filament sensors (v2) that I’d like to add to each extruder. The first one works fine, but when I try to add the second one I get this error:
Internal error during ready callback: 'PrinterExtruderStepper' object has no attribute 'find_past_position'
I saw a similar post from last May with a solution involving adding the missing find_past_position method to the PrinterExtruderStepper class. The author said they might submit a PR to add this fix to the code base, but it doesn’t look like this was done.
Is there a better way to configure filament motion sensors on extruder_stepper objects? Should the fix suggested in that post get committed and merged? Thanks in advance!
Unfortunately, the log file is missing the Klipper version and seems modified.
Regardless, the method exists in the mainline.
So, you probably have to update to a more recent release than the one you have.
Ah sorry, I was trying to focus the log on the error itself, here’s the unmodified log. As for the release being outdated, I’m on v0.12.0-159 which is admittedly a bit old, but the problem seems to be with the PrinterExtruderStepper class used by extruder_stepper (as opposed to the ExtruderStepper class you’ve referenced, which my first extruder uses without any issues). The source for the PrinterExtruderStepper class hasn’t been updated in 3 years so I’m wary of updating unless I know it’ll fix the problem.
extruder is the first extruder motor, which is tied to runout_switch and runout_encoder and works without any problems. extruder1 is the second extruder motor, which is tied to runout_switch1 and runout_encoder1. The switch sensor is fine, but the motion sensor throws the error. If I use extruder: extruder1 then it complains that the config object doesn’t exist.