Have been working on making toplchanging work well and configurations making sense for a while. The status quo has issues all over the place.
So I’m trying to attack te toplchanging in the broadest sense - idex, dual heads, tool docks, mmus, nozzle swappers, combination of those. A rough list of steps I’m working on:
Improve semantics for basic objects like extruder, fan, heater to be able to reflect the realities of the hardware.
Some pull requests out: 12.
Add tools support in core Klipper, integrating closely with other core elements. Something that is minimalistic and provides a shared structure to all those macro systems out there. And allows hardware makers to provide reasonably structured example configs that can be plugged in existing configuration. So far have a Klipper branch that I’m reasonably enjoying using and improving gradually.
Finally, work with slicers (prusa and cura) to bridge the remaining gaps. Prusa is the bigger offender currently.
Establish what is controller by Klipper and what by slicer during tool change. IE fans, temps, pressure advance.
Thoughts on this? Any favorite extensions/slicers you are currently using In a multi tool setup?
No, my fork is adding a basic tool selection layer. Primarily providing extensible Tn commands and eliminating need to override basic gcodes.
You could use it to define something like:
T0 - left tool
T1 - right tool
T2 - mirror mode
T3 - copy mode
With tool activation macros doing the necessary setup.
That can lead to inconsistency in Gcode coding.
I think, Tx should be exclusivity for tool selection. E.g. Prusa’s MMU works with T0 up to T4
It also limits the use to a maximum of 2 tools.
I’ve seen that RepRap firmware (Duet3D) uses your attempt.
To select normal/mirror/copy mode I would prefer a Gcode command.
On my T-Rex 3 M420 was formerly used for that purpose. M420 now is used differently.
Like it is described in the link above.
I would hope for a toolchange that is controller by the printer exclusively. Slicers should only issue a T0, T1,…,Tx. All other parameters to be controller by the firmware.