From 3b0ef903978e77cd0fff8fe641567d77e66af2f6 Mon Sep 17 00:00:00 2001 From: Hendrie Bosch Date: Mon, 13 Nov 2023 14:40:08 +0100 Subject: [PATCH] Upload files to "klipper/DNV-TPU-Ender3/klipper_config/macros" --- .../klipper_config/macros/bed_mesh.cfg | 88 +++++++++++++++++++ .../klipper_config/macros/startprint.cfg | 20 +++++ 2 files changed, 108 insertions(+) create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/macros/bed_mesh.cfg create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/macros/startprint.cfg diff --git a/klipper/DNV-TPU-Ender3/klipper_config/macros/bed_mesh.cfg b/klipper/DNV-TPU-Ender3/klipper_config/macros/bed_mesh.cfg new file mode 100644 index 0000000..dd150b4 --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/macros/bed_mesh.cfg @@ -0,0 +1,88 @@ +[bed_mesh] +speed: 100 +horizontal_move_z: 5 +mesh_min: 10,10 +mesh_max: 265,230 +algorithm: bicubic +bicubic_tension: 0.1 +probe_count: 7,7 +mesh_pps: 2,2 +relative_reference_index: 24 # (5,3)=7 (3,3)=4 (5,5)=12 (7,7)=24 (7,5)=17 (9,9)=40 +move_check_distance: 5.0 +split_delta_z: .025 +fade_start: 0.6 +fade_end: 10 +fade_target: 0 + +[gcode_macro BED_MESH_CALIBRATE] +rename_existing: BED_MESH_CALIBRATE_BASE +variable_mesh_delta : 25 ## distance between points +variable_x_mesh_max : 7 ## max points on x-axis +variable_y_mesh_max : 7 ## max points on y-axis +variable_mesh_area_offset : 5 ## the clearance between print area and probe area +gcode= + {% if params.AREA_START and params.AREA_END %} + ## get [bed_mesh] config parameters + {% set bedMeshConfig = printer["configfile"].config["bed_mesh"] %} + {% set safe_min_x = bedMeshConfig.mesh_min.split(",")[0]|float %} + {% set safe_min_y = bedMeshConfig.mesh_min.split(",")[1]|float %} + {% set safe_max_x = bedMeshConfig.mesh_max.split(",")[0]|float %} + {% set safe_max_y = bedMeshConfig.mesh_max.split(",")[1]|float %} + ## get print area min/max from slicer gcode + {% set area_min_x = params.AREA_START.split(",")[0]|float %} + {% set area_min_y = params.AREA_START.split(",")[1]|float %} + {% set area_max_x = params.AREA_END.split(",")[0]|float %} + {% set area_max_y = params.AREA_END.split(",")[1]|float %} + ## set probing area + {% if area_min_x - mesh_area_offset >= safe_min_x %} + {% set area_min_x = area_min_x - mesh_area_offset %} + {% else %} + {% set area_min_x = safe_min_x %} + {% endif %} + {% if area_min_y - mesh_area_offset >= safe_min_y %} + {% set area_min_y = area_min_y - mesh_area_offset %} + {% else %} + {% set area_min_y = safe_min_y %} + {% endif %} + {% if area_max_x + mesh_area_offset <= safe_max_x %} + {% set area_max_x = area_max_x + mesh_area_offset %} + {% else %} + {% set area_max_x = safe_max_x %} + {% endif %} + {% if area_max_y + mesh_area_offset <= safe_max_y %} + {% set area_max_y = area_max_y + mesh_area_offset %} + {% else %} + {% set area_max_y = safe_max_y %} + {% endif %} + ## set probe counts + {% set meshPointX = ((area_max_x - area_min_x) / mesh_delta + 1)|round(0)|int %} + {% if meshPointX < 3 %} + {% set meshPointX = 3 %} + {% elif meshPointX > x_mesh_max %} + {% set meshPointX = x_mesh_max %} + {% endif %} + {% set meshPointY = ((area_max_y - area_min_y) / mesh_delta + 1)|round(0)|int %} + {% if meshPointY < 3 %} + {% set meshPointY = 3 %} + {% elif meshPointY > y_mesh_max %} + {% set meshPointY = y_mesh_max %} + {% endif %} + ## check for invalid mesh + {% if meshPointX > 5 %} + {% if meshPointY == 3 %} # 7x3 mesh invlaid for bicubic + {% set meshPointY = 5 %} # set 7x5 mesh + {% endif %} + {% endif %} + {% if meshPointY > 5 %} + {% if meshPointX == 3 %} # 3x7 mesh invlaid for bicubic + {% set meshPointX = 5 %} # set 5x7 mesh + {% endif %} + {% endif %} + ## set new reference index point + {% set referenceIndex = (meshPointX * meshPointY / 2 - 1 )|round(0)|int %} + ## send bed mesh parameters + M117 probe_count={meshPointX},{meshPointY} + BED_MESH_CALIBRATE_BASE mesh_min={area_min_x},{area_min_y} mesh_max={area_max_x},{area_max_y} probe_count={meshPointX},{meshPointY} relative_reference_index={referenceIndex} + {% else %} + BED_MESH_CALIBRATE_BASE + {% endif %} diff --git a/klipper/DNV-TPU-Ender3/klipper_config/macros/startprint.cfg b/klipper/DNV-TPU-Ender3/klipper_config/macros/startprint.cfg new file mode 100644 index 0000000..2b3b2ae --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/macros/startprint.cfg @@ -0,0 +1,20 @@ +[gcode_macro START_PRINT] +gcode: + {% set BED_TEMP = params.BED_TEMP|default(60)|float %} + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} + # Start bed heating + M140 S{BED_TEMP} + # Use absolute coordinates + G90 + # Reset the G-Code Z offset (adjust Z offset if needed) + SET_GCODE_OFFSET Z=0.0 + # Home the printer + G28 + # Move the nozzle near the bed + G1 Z5 F3000 + # Move the nozzle very close to the bed + G1 Z0.15 F300 + # Wait for bed to reach temperature + M190 S{BED_TEMP} + # Set and wait for nozzle to reach temperature + M109 S{EXTRUDER_TEMP}