aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/klippy/corexyuv.cfg172
-rw-r--r--test/klippy/corexyuv.test52
-rw-r--r--test/klippy/generic_cartesian.cfg165
-rw-r--r--test/klippy/generic_cartesian.test64
4 files changed, 453 insertions, 0 deletions
diff --git a/test/klippy/corexyuv.cfg b/test/klippy/corexyuv.cfg
new file mode 100644
index 00000000..4c0ab748
--- /dev/null
+++ b/test/klippy/corexyuv.cfg
@@ -0,0 +1,172 @@
+# Test config for generic cartesian kinematics with dual carriage
+[carriage x]
+position_endstop: 0
+position_max: 300
+homing_speed: 50
+endstop_pin: ^PE5
+
+[carriage y]
+position_endstop: 0
+position_max: 200
+homing_speed: 50
+endstop_pin: ^PJ1
+
+[carriage z]
+position_endstop: 0.5
+position_max: 100
+endstop_pin: ^PD3
+
+[extra_carriage z1]
+primary_carriage: z
+endstop_pin: ^PD2
+
+[dual_carriage u]
+primary_carriage: x
+safe_distance: 70
+position_endstop: 300
+position_max: 300
+homing_speed: 50
+endstop_pin: ^PE4
+
+[dual_carriage v]
+primary_carriage: y
+safe_distance: 50
+position_endstop: 200
+position_max: 200
+homing_speed: 50
+endstop_pin: ^PD4
+
+[stepper a]
+carriages: x+y
+step_pin: PF0
+dir_pin: PF1
+enable_pin: !PD7
+microsteps: 16
+rotation_distance: 40
+
+[stepper b]
+carriages: u-v
+step_pin: PH1
+dir_pin: PH0
+enable_pin: !PA1
+microsteps: 16
+rotation_distance: 40
+
+[stepper c]
+carriages: x-y
+step_pin: PF6
+dir_pin: !PF7
+enable_pin: !PF2
+microsteps: 16
+rotation_distance: 40
+
+[stepper d]
+carriages: u+v
+step_pin: PE3
+dir_pin: !PH6
+enable_pin: !PG5
+microsteps: 16
+rotation_distance: 40
+
+[stepper z]
+carriages: z
+step_pin: PL3
+dir_pin: PL1
+enable_pin: !PK0
+microsteps: 16
+rotation_distance: 8
+
+[stepper z1]
+carriages: z1
+step_pin: PG1
+dir_pin: PG0
+enable_pin: !PH3
+microsteps: 16
+rotation_distance: 8
+
+[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:
+ SET_DUAL_CARRIAGE CARRIAGE=x
+ SET_DUAL_CARRIAGE CARRIAGE=y
+ G90
+ G1 X0 Y0
+
+[gcode_macro T0]
+gcode:
+ PARK_{printer.toolhead.extruder}
+ SET_SERVO SERVO=my_servo angle=100
+ ACTIVATE_EXTRUDER EXTRUDER=extruder
+ SET_DUAL_CARRIAGE CARRIAGE=x
+ SET_DUAL_CARRIAGE CARRIAGE=y
+
+[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:
+ SET_DUAL_CARRIAGE CARRIAGE=u
+ SET_DUAL_CARRIAGE CARRIAGE=v
+ G90
+ G1 X300 Y200
+
+[gcode_macro T1]
+gcode:
+ PARK_{printer.toolhead.extruder}
+ SET_SERVO SERVO=my_servo angle=50
+ ACTIVATE_EXTRUDER EXTRUDER=extruder1
+ SET_DUAL_CARRIAGE CARRIAGE=u
+ SET_DUAL_CARRIAGE CARRIAGE=v
+
+[servo my_servo]
+pin: PH4
+
+[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: generic_cartesian
+max_velocity: 300
+max_accel: 3000
+max_z_velocity: 5
+max_z_accel: 100
diff --git a/test/klippy/corexyuv.test b/test/klippy/corexyuv.test
new file mode 100644
index 00000000..837f9b80
--- /dev/null
+++ b/test/klippy/corexyuv.test
@@ -0,0 +1,52 @@
+# Test cases on printers with dual carriage and multiple extruders
+CONFIG corexyuv.cfg
+DICTIONARY atmega2560.dict
+
+# First home the printer
+G90
+G28
+
+# Perform a dummy move
+G1 X10 Y20 F6000
+
+# Activate alternate carriage
+SET_DUAL_CARRIAGE CARRIAGE=u
+SET_DUAL_CARRIAGE CARRIAGE=v
+G1 X170 Y190 F6000
+
+# Go back to main carriage on X axis
+SET_DUAL_CARRIAGE CARRIAGE=x
+G1 X20 F6000
+
+# Save dual carriage state
+SAVE_DUAL_CARRIAGE_STATE
+
+G1 Y150 F6000
+
+# Go back to main carriage on Y axis
+SET_DUAL_CARRIAGE CARRIAGE=y
+G1 X10 Y50 F6000
+
+# Restore dual carriage state
+RESTORE_DUAL_CARRIAGE_STATE
+
+# Test changing extruders
+G1 X5
+T1
+G91
+G1 X-10 E.2
+T0
+G91
+G1 X20 E.2
+G90
+
+QUERY_ENDSTOPS
+
+# Servo tests
+SET_SERVO servo=my_servo angle=160
+SET_SERVO servo=my_servo angle=130
+
+# Verify STEPPER_BUZZ
+STEPPER_BUZZ STEPPER='stepper d'
+STEPPER_BUZZ STEPPER=extruder
+STEPPER_BUZZ STEPPER=extruder1
diff --git a/test/klippy/generic_cartesian.cfg b/test/klippy/generic_cartesian.cfg
new file mode 100644
index 00000000..361a3f75
--- /dev/null
+++ b/test/klippy/generic_cartesian.cfg
@@ -0,0 +1,165 @@
+# Test config for generic cartesian kinematics with dual carriage
+[carriage x]
+position_endstop: 0
+position_max: 300
+homing_speed: 50
+endstop_pin: ^PE5
+
+[carriage y]
+position_endstop: 0
+position_max: 200
+homing_speed: 50
+endstop_pin: ^PJ1
+
+[extra_carriage y1]
+primary_carriage: y
+endstop_pin: ^PB6
+
+[carriage z]
+position_endstop: 0.5
+position_max: 100
+endstop_pin: ^PD3
+
+[extra_carriage z1]
+primary_carriage: z
+endstop_pin: ^PD2
+
+[dual_carriage u]
+primary_carriage: x
+position_endstop: 300
+position_max: 300
+homing_speed: 50
+endstop_pin: ^PE4
+
+[stepper stepper_x]
+carriages: x+y
+step_pin: PF0
+dir_pin: PF1
+enable_pin: !PD7
+microsteps: 16
+rotation_distance: 40
+
+[stepper dual_carriage]
+carriages: u-y1
+step_pin: PH1
+dir_pin: PH0
+enable_pin: !PA1
+microsteps: 16
+rotation_distance: 40
+
+[stepper stepper_y]
+carriages: 1*y+0.5*z
+step_pin: PF6
+dir_pin: !PF7
+enable_pin: !PF2
+microsteps: 16
+rotation_distance: 40
+
+[stepper stepper_y1]
+carriages: 1*y1-0.5*z1
+step_pin: PE3
+dir_pin: !PH6
+enable_pin: !PG5
+microsteps: 16
+rotation_distance: 40
+
+[stepper stepper_z]
+carriages: z
+step_pin: PL3
+dir_pin: PL1
+enable_pin: !PK0
+microsteps: 16
+rotation_distance: 8
+
+[stepper stepper_z1]
+carriages: z1
+step_pin: PG1
+dir_pin: PG0
+enable_pin: !PH3
+microsteps: 16
+rotation_distance: 8
+
+[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:
+ SET_DUAL_CARRIAGE CARRIAGE=x
+ G90
+ G1 X0
+
+[gcode_macro T0]
+gcode:
+ PARK_{printer.toolhead.extruder}
+ SET_SERVO SERVO=my_servo angle=100
+ ACTIVATE_EXTRUDER EXTRUDER=extruder
+ SET_DUAL_CARRIAGE CARRIAGE=x
+
+[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:
+ SET_DUAL_CARRIAGE CARRIAGE=u
+ G90
+ G1 X300
+
+[gcode_macro T1]
+gcode:
+ PARK_{printer.toolhead.extruder}
+ SET_SERVO SERVO=my_servo angle=50
+ ACTIVATE_EXTRUDER EXTRUDER=extruder1
+ SET_DUAL_CARRIAGE CARRIAGE=u
+
+[servo my_servo]
+pin: PH4
+
+[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: generic_cartesian
+max_velocity: 300
+max_accel: 3000
+max_z_velocity: 5
+max_z_accel: 100
+
+[input_shaper]
diff --git a/test/klippy/generic_cartesian.test b/test/klippy/generic_cartesian.test
new file mode 100644
index 00000000..869636a8
--- /dev/null
+++ b/test/klippy/generic_cartesian.test
@@ -0,0 +1,64 @@
+# Test cases on printers with dual carriage and multiple extruders
+CONFIG generic_cartesian.cfg
+DICTIONARY atmega2560.dict
+
+# Configure the input shaper
+SET_DUAL_CARRIAGE CARRIAGE=u
+SET_INPUT_SHAPER SHAPER_TYPE_X=ei SHAPER_FREQ_X=50 SHAPER_TYPE_Y=2hump_ei SHAPER_FREQ_Y=80
+SET_DUAL_CARRIAGE CARRIAGE=x
+SET_INPUT_SHAPER SHAPER_TYPE_X=ei SHAPER_FREQ_X=50 SHAPER_TYPE_Y=2hump_ei SHAPER_FREQ_Y=80
+
+# Then home the printer
+G90
+G28
+
+# Perform a dummy move
+G1 X10 F6000
+
+# Activate alternate carriage
+SET_DUAL_CARRIAGE CARRIAGE=u
+G1 X190 F6000
+
+# Go back to main carriage
+SET_DUAL_CARRIAGE CARRIAGE=x
+G1 X100 F6000
+
+# Save dual carriage state
+SAVE_DUAL_CARRIAGE_STATE
+
+G1 X50 F6000
+
+# Go back to alternate carriage
+SET_DUAL_CARRIAGE CARRIAGE=u
+G1 X130 F6000
+
+# Restore dual carriage state
+RESTORE_DUAL_CARRIAGE_STATE MOVE=1
+
+# Test changing extruders
+G1 X5
+T1
+G91
+G1 X-10 E.2
+T0
+G91
+G1 X20 E.2
+G90
+
+# Test changing the stepper kinematics
+SET_STEPPER_CARRIAGES STEPPER=dual_carriage CARRIAGES=u+y1
+SET_STEPPER_CARRIAGES STEPPER=stepper_x CARRIAGES=x-y
+
+G1 X30 E.2
+G1 Z3
+
+QUERY_ENDSTOPS
+
+# Servo tests
+SET_SERVO servo=my_servo angle=160
+SET_SERVO servo=my_servo angle=130
+
+# Verify STEPPER_BUZZ
+STEPPER_BUZZ STEPPER='stepper dual_carriage'
+STEPPER_BUZZ STEPPER=extruder
+STEPPER_BUZZ STEPPER=extruder1