From 98ed0a8168d88e013ab3fb7809a3c1af0de11fbe Mon Sep 17 00:00:00 2001 From: Dmitry Butyugin Date: Mon, 20 Feb 2023 01:20:12 +0100 Subject: [PATCH] test: Regression test for hybrid corexy input shaping with dual carriage Signed-off-by: Dmitry Butyugin --- test/klippy/hybrid_corexy_dual_carriage.cfg | 122 +++++++++++++++++++ test/klippy/hybrid_corexy_dual_carriage.test | 44 +++++++ 2 files changed, 166 insertions(+) create mode 100644 test/klippy/hybrid_corexy_dual_carriage.cfg create mode 100644 test/klippy/hybrid_corexy_dual_carriage.test diff --git a/test/klippy/hybrid_corexy_dual_carriage.cfg b/test/klippy/hybrid_corexy_dual_carriage.cfg new file mode 100644 index 00000000..10d4cc44 --- /dev/null +++ b/test/klippy/hybrid_corexy_dual_carriage.cfg @@ -0,0 +1,122 @@ +# Test config with dual carriage and multiple extruders +[stepper_x] +step_pin: PF0 +dir_pin: PF1 +enable_pin: !PD7 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PE5 +position_endstop: 0 +position_max: 200 +homing_speed: 50 + +[dual_carriage] +axis: x +step_pin: PH1 +dir_pin: PH0 +enable_pin: !PA1 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PE4 +position_endstop: 200 +position_max: 200 +homing_speed: 50 + +[stepper_y] +step_pin: PF6 +dir_pin: !PF7 +enable_pin: !PF2 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PJ1 +position_endstop: 0 +position_max: 200 +homing_speed: 50 + +[stepper_z] +step_pin: PL3 +dir_pin: PL1 +enable_pin: !PK0 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PD3 +position_endstop: 0.5 +position_max: 200 + +[extruder] +step_pin: PA4 +dir_pin: PA6 +enable_pin: !PA2 +microsteps: 16 +rotation_distance: 33.5 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PB4 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PK5 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: 0 +max_temp: 250 + +[gcode_macro PARK_extruder] +gcode: + G90 + G1 X0 + +[gcode_macro T0] +gcode: + PARK_{printer.toolhead.extruder} + ACTIVATE_EXTRUDER EXTRUDER=extruder + SET_DUAL_CARRIAGE CARRIAGE=0 + +[extruder1] +step_pin: PC1 +dir_pin: PC3 +enable_pin: !PC7 +microsteps: 16 +rotation_distance: 33.5 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PB5 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PK7 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: 0 +max_temp: 250 + +[gcode_macro PARK_extruder1] +gcode: + G90 + G1 X200 + +[gcode_macro T1] +gcode: + PARK_{printer.toolhead.extruder} + ACTIVATE_EXTRUDER EXTRUDER=extruder1 + SET_DUAL_CARRIAGE CARRIAGE=1 + +[heater_bed] +heater_pin: PH5 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PK6 +control: watermark +min_temp: 0 +max_temp: 130 + +[mcu] +serial: /dev/ttyACM0 + +[printer] +kinematics: hybrid_corexy +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[input_shaper] diff --git a/test/klippy/hybrid_corexy_dual_carriage.test b/test/klippy/hybrid_corexy_dual_carriage.test new file mode 100644 index 00000000..3778a631 --- /dev/null +++ b/test/klippy/hybrid_corexy_dual_carriage.test @@ -0,0 +1,44 @@ +# Test cases on hybrid corexy printers with dual carriage and multiple extruders +CONFIG hybrid_corexy_dual_carriage.cfg +DICTIONARY atmega2560.dict + +# First home the printer +G90 +G28 + +# Perform a dummy move +G1 X10 F6000 + +# Activate alternate carriage +SET_DUAL_CARRIAGE CARRIAGE=1 +G1 X190 F6000 + +# Go back to main carriage +SET_DUAL_CARRIAGE CARRIAGE=0 +G1 X20 F6000 + +# Enable Input Shaper +SET_DUAL_CARRIAGE CARRIAGE=1 +SET_INPUT_SHAPER SHAPER_TYPE_X=MZV SHAPER_FREQ_X=70 +SET_INPUT_SHAPER SHAPER_TYPE_Y=2HUMP_EI SHAPER_FREQ_Y=50 +SET_DUAL_CARRIAGE CARRIAGE=0 +SET_INPUT_SHAPER SHAPER_TYPE_X=EI SHAPER_FREQ_X=60 +SET_INPUT_SHAPER SHAPER_TYPE_Y=2HUMP_EI SHAPER_FREQ_Y=50 + + +# Test changing extruders +G1 X5 +T1 +G91 +G1 X-10 E.2 +T0 +G91 +G1 X20 E.2 +G90 + +QUERY_ENDSTOPS + +# Verify STEPPER_BUZZ +STEPPER_BUZZ STEPPER=dual_carriage +STEPPER_BUZZ STEPPER=extruder +STEPPER_BUZZ STEPPER=extruder1