@bquirky You may be able to use SET_STEPPER_KINEMATICS
command that is part of the proposed generic_kinematics
that Kevin linked above. Note that this is not part of the official Klipper yet, but it is under testing now, so you could try it as well (see the first message in the thread linked by Kevin). Basically, you’d define [carriage x]
, [carriage y]
and [carriage z]
each, and then 6 steppers for X and corresponding Y and Z stepper(s) like
[printer]
kinematics: generic_cartesian
...
[stepper y]
kinematics: y
...
[stepper z]
kinematics: z
...
[stepper x]
kinematics: x
...
[stepper x1]
kinematics: x
...
[stepper x2]
kinematics: x
...
[stepper x3]
kinematics: x
...
[stepper x4]
kinematics: x
...
[stepper x5]
kinematics: x
...
[extruder]
...
[extruder1]
...
[extruder2]
...
...
and then in the macros you could do
[gcode_macro ACTIVATE_X]
gcode:
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_STEPPER_KINEMATICS stepper='stepper x' KINEMATICS=x
SET_STEPPER_KINEMATICS stepper='stepper x1' KINEMATICS=
SET_STEPPER_KINEMATICS stepper='stepper x2' KINEMATICS=
...
[gcode_macro ACTIVATE_X1]
gcode:
ACTIVATE_EXTRUDER EXTRUDER=extruder1
SET_STEPPER_KINEMATICS stepper='stepper x1' KINEMATICS=x
SET_STEPPER_KINEMATICS stepper='stepper x' KINEMATICS=
SET_STEPPER_KINEMATICS stepper='stepper x2' KINEMATICS=
...
...