mirror of
https://github.com/Dark98/Ender-3_V3_KE_Klipper.git
synced 2026-07-02 16:49:04 +00:00
171 lines
4.8 KiB
INI
Executable File
171 lines
4.8 KiB
INI
Executable File
# Createdate: 2023/08/09
|
|
# Ender-3V3 KE
|
|
|
|
[gcode_macro PRINTER_PARAM]
|
|
variable_z_safe_pause: 0.0
|
|
variable_z_safe_g28: 5.0
|
|
variable_max_x_position: 220.0
|
|
variable_max_y_position: 220.0
|
|
variable_max_z_position: 240.0
|
|
variable_auto_g29: 0
|
|
variable_x_home_pos: -3
|
|
variable_y_home_pos: -5
|
|
gcode:
|
|
|
|
[force_move]
|
|
enable_force_move: true
|
|
|
|
[gcode_macro xyz_ready]
|
|
variable_x_ready: 0
|
|
variable_y_ready: 0
|
|
variable_z_ready: 0
|
|
variable_x_moved: 0
|
|
variable_y_moved: 0
|
|
variable_z_moved: 0
|
|
variable_safe_z: 5
|
|
gcode:
|
|
|
|
[gcode_macro _IF_HOME_Z]
|
|
gcode:
|
|
{% if printer['gcode_macro xyz_ready'].z_ready|int == 1 %}
|
|
{% if printer.toolhead.position.z|int < 10 %}
|
|
{% set z_park = 10.0 - printer.toolhead.position.z|int %}
|
|
G91
|
|
G1 z{z_park} F600
|
|
G90
|
|
{% endif %}
|
|
{% else %}
|
|
{% if printer['gcode_macro xyz_ready'].z_moved|int == 0 %}
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=z_moved VALUE=1
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
[gcode_macro _IF_MOVE_X]
|
|
gcode:
|
|
{% if printer['gcode_macro xyz_ready'].x_moved|int == 0 %}
|
|
{% if printer['gcode_macro xyz_ready'].y_moved|int == 0 %}
|
|
{% set SAFE_Z = printer['gcode_macro xyz_ready'].safe_z|int%}
|
|
FORCE_MOVE STEPPER=stepper_z DISTANCE={SAFE_Z} VELOCITY=20
|
|
{% endif %}
|
|
# FORCE_MOVE STEPPER=stepper_x DISTANCE=10 VELOCITY=20
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=x_moved VALUE=1
|
|
{% endif %}
|
|
|
|
[gcode_macro _IF_MOVE_Y]
|
|
gcode:
|
|
{% if printer['gcode_macro xyz_ready'].y_moved|int == 0 %}
|
|
{% if printer['gcode_macro xyz_ready'].x_moved|int == 0 %}
|
|
{% set SAFE_Z =printer['gcode_macro xyz_ready'].safe_z|int%}
|
|
FORCE_MOVE STEPPER=stepper_z DISTANCE={SAFE_Z} VELOCITY=20
|
|
{% endif %}
|
|
# FORCE_MOVE STEPPER=stepper_y DISTANCE=10 VELOCITY=20
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=y_moved VALUE=1
|
|
{% endif %}
|
|
|
|
[gcode_macro _HOME_X]
|
|
gcode:
|
|
_IF_MOVE_X
|
|
{% if printer['gcode_macro xyz_ready'].z_moved|int == 1 %}
|
|
{% if printer.toolhead.position.z|int < 10 %}
|
|
{% set z_park = 10.0 - printer.toolhead.position.z|int %}
|
|
G91
|
|
G1 z{z_park} F600
|
|
G90
|
|
{% endif %}
|
|
{% endif %}
|
|
G28 X
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=x_ready VALUE=1
|
|
G1 x10 F4800
|
|
G28 x
|
|
G91 X5 F2000
|
|
G90
|
|
|
|
|
|
[gcode_macro _HOME_Y]
|
|
gcode:
|
|
_IF_MOVE_Y
|
|
{% if printer['gcode_macro xyz_ready'].z_moved|int == 1 %}
|
|
{% if printer.toolhead.position.z|int < 10 %}
|
|
{% set z_park = 10.0 - printer.toolhead.position.z|int %}
|
|
G91
|
|
G1 z{z_park} F600
|
|
G90
|
|
{% endif %}
|
|
{% endif %}
|
|
G28 Y
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=y_ready VALUE=1
|
|
G1 Y10 F4800
|
|
G28 Y
|
|
G91
|
|
G1 y5 F2000
|
|
G90
|
|
|
|
[gcode_macro _HOME_Z]
|
|
gcode:
|
|
{% if printer['gcode_macro xyz_ready'].y_ready|int == 1 %}
|
|
{% if printer['gcode_macro xyz_ready'].x_ready|int == 1 %}
|
|
_IF_HOME_Z
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if printer['gcode_macro xyz_ready'].x_ready|int == 0 %}
|
|
_HOME_X
|
|
{% endif %}
|
|
{% if printer['gcode_macro xyz_ready'].y_ready|int == 0 %}
|
|
_HOME_Y
|
|
{% endif %}
|
|
G90
|
|
{% set bl_offset = printer.configfile.settings['bltouch'] %}
|
|
{% set x_park = printer['gcode_macro PRINTER_PARAM'].max_x_position/2 - bl_offset.x_offset %}
|
|
{% set y_park = printer['gcode_macro PRINTER_PARAM'].max_y_position/2 - bl_offset.y_offset %}
|
|
{action_respond_info("x_park = %s \n" % (x_park))}
|
|
{action_respond_info("y_park = %s \n" % (y_park))}
|
|
G1 x{x_park} y{y_park} F6000
|
|
G4 P500 # P1000
|
|
|
|
G28 Z
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=z_ready VALUE=1
|
|
G1 X110Y110Z5 F2400
|
|
|
|
|
|
[homing_override]
|
|
axes: xyz
|
|
gcode:
|
|
BED_MESH_SAVE
|
|
BED_MESH_CLEAR
|
|
{% set x_axes = printer.toolhead.homed_axes %}
|
|
{% if x_axes is defined and x_axes[0] is defined %}
|
|
{action_respond_info(
|
|
"x_axes: %s \n"
|
|
% (x_axes))}
|
|
{% else %}
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=x_ready VALUE=0
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=y_ready VALUE=0
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=z_ready VALUE=0
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=x_moved VALUE=0
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=y_moved VALUE=0
|
|
SET_GCODE_VARIABLE MACRO=xyz_ready VARIABLE=z_moved VALUE=0
|
|
{action_respond_info(
|
|
"axes is NULL\n")}
|
|
{% endif %}
|
|
{% set home_all = 'X' not in params and 'Y' not in params %}
|
|
{% if 'Z' in params and 'X' not in params and 'Y' not in params %}
|
|
{% if x_axes[0] is defined and x_axes[1] is defined %}
|
|
{% set home_all = 0 %}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %} # G28
|
|
{% if home_all or 'X' in params %} # G28 / G28 X / G28 X Y / G28 X Y Z
|
|
_HOME_X
|
|
{% endif %}
|
|
|
|
{% if home_all or 'Y' in params %} # G28 / G28 Y / G28 X Y / G28 X Y Z
|
|
_HOME_Y
|
|
{% endif %}
|
|
|
|
{% if home_all or 'Z' in params %} # G28 / G28 Z / G28 X Y Z
|
|
_HOME_Z
|
|
BED_MESH_PROFILE LOAD="default"
|
|
{% endif %}
|
|
G4 P500
|