From bc426bc32a4bfbb0845441365b35fc8a3db9dade Mon Sep 17 00:00:00 2001 From: HelgeKeck Date: Fri, 29 Nov 2024 23:41:55 +0100 Subject: [PATCH] MACRO: add CALCULATE_DC_ENDSTOP helper macro (#319) --- macros/util.cfg | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/macros/util.cfg b/macros/util.cfg index 6c1a8224..80eaa3c5 100644 --- a/macros/util.cfg +++ b/macros/util.cfg @@ -399,3 +399,33 @@ gcode: [gcode_macro M601] gcode: PAUSE + +[gcode_macro CALCULATE_DC_ENDSTOP] +gcode: + {% if printer["dual_carriage"] is defined %} + + {% set svv = printer.save_variables.variables %} + {% set idex_xoffset = svv.idex_xoffset|float %} + {% set idex_xcontrolpoint = svv.idex_xcontrolpoint|float %} + {% set idex_ycontrolpoint = svv.idex_ycontrolpoint|float %} + + {% set stepper_x_position_max = printer.configfile.settings.stepper_x.position_max|float %} + {% set stepper_x_position_endstop = printer.configfile.settings.stepper_x.position_endstop|float %} + {% set dual_carriage_position_max = printer.configfile.settings.dual_carriage.position_max|float %} + {% set dual_carriage_position_endstop = printer.configfile.settings.dual_carriage.position_endstop|float %} + + {% set line_1 = "_N_[dual_carriage]" %} + {% set line_2 = "position_max: %.3f" % (dual_carriage_position_max + idex_xoffset) %} + {% set line_3 = "position_endstop: %.3f" % (dual_carriage_position_endstop + idex_xoffset) %} + {% set line_4 = "_N_[gcode_macro RatOS]" %} + {% set line_5 = "variable_bed_margin_x: [%.3f, %.3f]" % (stepper_x_position_endstop|abs, dual_carriage_position_max - stepper_x_position_max + idex_xoffset) %} + {% set line_6 = "_N_[gcode_macro _VAOC]" %} + {% set line_7 = "variable_expected_camera_x_position: %.3f" % idex_xcontrolpoint %} + {% set line_8 = "variable_expected_camera_y_position: %.3f" % idex_ycontrolpoint %} + {% set line_9 = "_N_[gcode_macro T0]" %} + {% set line_10 = "variable_parking_position: %.3f" % (stepper_x_position_endstop + 2) %} + {% set line_11 = "_N_[gcode_macro T1]" %} + {% set line_12 = "variable_parking_position: %.3f" % (dual_carriage_position_endstop + idex_xoffset - 2) %} + CONSOLE_ECHO TITLE="Copy and paste to your printer.cfg" TYPE="info" MSG={'"%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_%s_N_ "' % (line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9, line_10, line_11, line_12)} + + {% endif %}