klipper/test/klippy/generic_cartesian_itex.cfg
Dmitry Butyugin 4c89f7f826
Some checks failed
Build test / build (push) Waiting to run
klipper3d deploy / deploy (push) Has been cancelled
generic_cartesian: Full IQEX printers support (#7165)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-02-04 16:54:05 -05:00

320 lines
9.3 KiB
INI

# Test config for generic cartesian kinematics with triple independent extruders
[mcu]
serial: /dev/ttyACM0
[mcu extboard]
serial: /dev/ttyACM1
[carriage carriage_t0]
axis: x
position_endstop: 0
position_max: 300
homing_speed: 50
endstop_pin: extboard:PG6
[dual_carriage carriage_t1]
primary_carriage: carriage_t0
safe_distance: 70
position_endstop: 300
position_max: 300
homing_speed: 50
endstop_pin: extboard:PG9
[dual_carriage carriage_t2]
axis: x
position_endstop: 0
position_max: 300
homing_speed: 50
endstop_pin: extboard:PG10
[carriage carriage_gantry0_left]
axis: y
position_endstop: 0
position_max: 200
homing_speed: 50
endstop_pin: PG6
[extra_carriage carriage_gantry0_right]
primary_carriage: carriage_gantry0_left
endstop_pin: PG9
[dual_carriage carriage_gantry1]
primary_carriage: carriage_gantry0_left
safe_distance: 50
position_endstop: 200
position_max: 200
homing_speed: 50
endstop_pin: PG10
[carriage carriage_z0]
axis: z
position_endstop: 0.5
position_max: 100
endstop_pin: PG12
[extra_carriage carriage_z1]
primary_carriage: carriage_z0
endstop_pin: PG13
[extra_carriage carriage_z2]
primary_carriage: carriage_z0
endstop_pin: PG14
[stepper stepper_t0_x]
carriages: carriage_t0
step_pin: extboard:PF13
dir_pin: extboard:PF12
enable_pin: !extboard:PF14
microsteps: 16
rotation_distance: 40
[stepper stepper_t1_x]
carriages: carriage_t1
step_pin: extboard:PG0
dir_pin: extboard:PG1
enable_pin: !extboard:PF15
microsteps: 16
rotation_distance: 40
[stepper gantry0_left]
carriages: carriage_gantry0_left
step_pin: PF13
dir_pin: PF12
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
[stepper gantry0_right]
carriages: carriage_gantry0_right
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
microsteps: 16
rotation_distance: 40
[stepper gantry1_a]
carriages: carriage_t2-carriage_gantry1
step_pin: PF11
dir_pin: PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 40
[stepper gantry1_b]
carriages: carriage_t2+carriage_gantry1
step_pin: PG4
dir_pin: PC1
enable_pin: !PA2
microsteps: 16
rotation_distance: 40
[stepper z0]
carriages: carriage_z0
step_pin: PF9
dir_pin: PF10
enable_pin: !PG2
microsteps: 16
rotation_distance: 8
[stepper z1]
carriages: carriage_z1
step_pin: PC13
dir_pin: PF0
enable_pin: !PF1
microsteps: 16
rotation_distance: 8
[stepper z2]
carriages: carriage_z2
step_pin: PE2
dir_pin: PE3
enable_pin: !PD4
microsteps: 16
rotation_distance: 8
[extruder]
step_pin: extboard:PF9
dir_pin: extboard:PF10
enable_pin: !extboard:PG2
heater_pin: extboard:PA0 # HE0
sensor_pin: extboard:PF4 # T0
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[extruder1]
step_pin: extboard:PC13
dir_pin: extboard:PF0
enable_pin: !extboard:PF1
heater_pin: extboard:PA3 # HE1
sensor_pin: extboard:PF5 # T1
microsteps: 16
rotation_distance: 33.5
nozzle_diameter: 0.400
filament_diameter: 1.750
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[extruder2]
step_pin: extboard:PE2
dir_pin: extboard:PE3
enable_pin: !extboard:PD4
heater_pin: extboard:PB0 # HE2
sensor_pin: extboard:PF6 # T2
microsteps: 16
rotation_distance: 33.5
nozzle_diameter: 0.400
filament_diameter: 1.750
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[gcode_macro PARK_EXTRUDERS]
gcode:
G90
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1
G1 Y{printer.configfile.settings["dual_carriage carriage_gantry1"].position_max} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left
G1 Y{printer.configfile.settings["carriage carriage_gantry0_left"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1
G1 X{printer.configfile.settings["dual_carriage carriage_t1"].position_max} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2
G1 X{printer.configfile.settings["dual_carriage carriage_t2"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0
G1 X{printer.configfile.settings["carriage carriage_t0"].position_min} F12000
[gcode_macro T0]
gcode:
PARK_EXTRUDERS
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0
[gcode_macro T1]
gcode:
PARK_EXTRUDERS
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
ACTIVATE_EXTRUDER EXTRUDER=extruder1
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1
[gcode_macro T2]
gcode:
PARK_EXTRUDERS
SYNC_EXTRUDER_MOTION EXTRUDER=extruder2 MOTION_QUEUE=extruder2
ACTIVATE_EXTRUDER EXTRUDER=extruder2
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2
[gcode_macro SET_COPY_MODE]
gcode:
G90
{% set y_center = 0.5 * (printer.configfile.settings["dual_carriage carriage_gantry1"].position_max + printer.configfile.settings["carriage carriage_gantry0_left"].position_min) %}
{% set x_max = printer.configfile.settings["dual_carriage carriage_t1"].position_max %}
{% set x_min = [printer.configfile.settings["dual_carriage carriage_t2"].position_min, printer.configfile.settings["carriage carriage_t0"].position_min]|max %}
{% set x_center = 0.5 * (x_max + x_min) %}
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left
G1 Y{printer.configfile.settings["carriage carriage_gantry0_left"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1
G1 Y{y_center} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2
G1 X{printer.configfile.settings["dual_carriage carriage_t2"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0
G1 X{printer.configfile.settings["carriage carriage_t0"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1
G1 X{x_center} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0 MODE=PRIMARY
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1 MODE=COPY
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2 MODE=COPY
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left MODE=PRIMARY
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1 MODE=COPY
ACTIVATE_EXTRUDER EXTRUDER=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder2 MOTION_QUEUE=extruder
[gcode_macro SET_MIRROR_MODE1]
gcode:
G90
{% set y_center = 0.5 * (printer.configfile.settings["dual_carriage carriage_gantry1"].position_max + printer.configfile.settings["carriage carriage_gantry0_left"].position_min) %}
{% set x_max = printer.configfile.settings["dual_carriage carriage_t1"].position_max %}
{% set x_min = [printer.configfile.settings["dual_carriage carriage_t2"].position_min, printer.configfile.settings["carriage carriage_t0"].position_min]|max %}
{% set x_center = 0.5 * (x_max + x_min) %}
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left
G1 Y{printer.configfile.settings["carriage carriage_gantry0_left"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1
G1 Y{y_center} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2
G1 X{printer.configfile.settings["dual_carriage carriage_t2"].position_max} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0
G1 X{printer.configfile.settings["carriage carriage_t0"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1
G1 X{x_center} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0 MODE=PRIMARY
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1 MODE=COPY
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2 MODE=MIRROR
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left MODE=PRIMARY
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1 MODE=COPY
ACTIVATE_EXTRUDER EXTRUDER=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder2 MOTION_QUEUE=extruder
[gcode_macro SET_MIRROR_MODE2]
gcode:
{% set y_center = 0.5 * (printer.configfile.settings["dual_carriage carriage_gantry1"].position_max + printer.configfile.settings["carriage carriage_gantry0_left"].position_min) %}
G90
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left
G1 Y{printer.configfile.settings["carriage carriage_gantry0_left"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1
G1 Y{y_center} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2
G1 X{printer.configfile.settings["dual_carriage carriage_t2"].position_max} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0
G1 X{printer.configfile.settings["carriage carriage_t0"].position_min} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1
G1 X{printer.configfile.settings["dual_carriage carriage_t1"].position_max} F12000
SET_DUAL_CARRIAGE CARRIAGE=carriage_t0 MODE=PRIMARY
SET_DUAL_CARRIAGE CARRIAGE=carriage_t1 MODE=MIRROR
SET_DUAL_CARRIAGE CARRIAGE=carriage_t2 MODE=MIRROR
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry0_left MODE=PRIMARY
SET_DUAL_CARRIAGE CARRIAGE=carriage_gantry1 MODE=COPY
ACTIVATE_EXTRUDER EXTRUDER=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder2 MOTION_QUEUE=extruder
[heater_bed]
heater_pin: PA1
sensor_pin: PF3 # TB
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PA8
[printer]
kinematics: generic_cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[input_shaper]