trad_rack and extruder: add support for using additional extruder steppers with trad rack #519
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is meant to address #394 by allowing the use of a third extruder between a trad rack and the printer's main extruder (to ensure a filament segment can be retracted after a runout even if there is a large amount of filament movement between when the runout is detected and when the print is paused for the filament change).
This change is currently untested and will also need documentation changes. Also I am not sure if it should be split into multiple smaller pull requests or not? Please let me know.
This change includes:
ExtruderStepper
to other extruder objects besides aPrinterExtruder
:sync_to_extruder()
function into separatelink_extruder_stepper()
andunlink_extruder_stepper()
functions so that other classes besidesPrinterExtruder
can have their own implementations of these functions so they can have extruders synced to them. Since a893f98 is already inbleeding-edge-v2
, I think this should make it easy to make this change compatible with that branch as well.PrinterExtruder
, it now checks whether that object has the attributes "link_extruder_stepper" and "unlink_extruder_stepper" so that other types that have those functions can have extruders synced to them as well.ExtruderStepper
objects to be synced to its filament driver axis:link_extruder_stepper()
andunlink_extruder_stepper()
functionsFor now, this is how to modify an existing trad rack setup to test this:
extruder
config option set totrad_rack
.extruder_type
config option set totrad_rack
).Checklist