From 02301c89ed29e1f2f7f63fc276f6e40d29aef7d6 Mon Sep 17 00:00:00 2001 From: Mikkel Schmidt Date: Tue, 24 Sep 2024 00:13:08 +0200 Subject: [PATCH] Macros: add seperate t0 and t1 z probe test macros --- macros/idex/vaoc_z_probe_testing.cfg | 206 ++++++++++++++++++++++++--- 1 file changed, 183 insertions(+), 23 deletions(-) diff --git a/macros/idex/vaoc_z_probe_testing.cfg b/macros/idex/vaoc_z_probe_testing.cfg index bd307119..be014975 100644 --- a/macros/idex/vaoc_z_probe_testing.cfg +++ b/macros/idex/vaoc_z_probe_testing.cfg @@ -1,4 +1,4 @@ -[gcode_macro Z_PROBE_TEST] +[gcode_macro Z_PROBE_TEST_T0] gcode: # Setup debugging {% set debug_previously_enabled = False %} @@ -9,6 +9,110 @@ gcode: {% endif %} SET_GCODE_VARIABLE MACRO=_VAOC_Z_PROBE_TEST_EVALUATE VARIABLE=debug_previously_enabled VALUE="{debug_previously_enabled}" + _CLEAR_PRIMARY_TOOLHEAD_RESULT + + {% if params.HOT|default(False)|lower == 'true' %} + {% set t0_temp = params.T0_TEMP|default(150)|int %} + {% set bed_temp = params.BED_TEMP|default(115)|int %} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders" + SET_HEATER_TEMPERATURE HEATER="extruder" TARGET={t0_temp} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed" + M190 S{bed_temp} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing" + {% else %} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing" + {% endif %} + + _VAOC_START + + # Test Z offset 4 times + {% for i in range(4) %} + _VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True + _VAOC_TEST_Z_OFFSET + _ADD_PRIMARY_TOOLHEAD_RESULT + + _VAOC_Z_PROBE_LOOP + {% endfor %} + + # Test Z offset the last (5th) time + _VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True + _VAOC_TEST_Z_OFFSET + _ADD_PRIMARY_TOOLHEAD_RESULT + + _VAOC_END + DUMP_TMC stepper="stepper_z1" + GET_POSITION + _VAOC_Z_PROBE_TEST_EVALUATE_T0 + + # Disable debugging if it was previously disabled + {% if debug_previously_enabled == False %} + DISABLE_DEBUG + {% endif %} + +[gcode_macro Z_PROBE_TEST_T1] +gcode: + # Setup debugging + {% set debug_previously_enabled = False %} + {% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %} + {% set debug_previously_enabled = True %} + {% else %} + ENABLE_DEBUG + {% endif %} + + _CLEAR_SECONDARY_TOOLHEAD_RESULT + + {% if params.HOT|default(False)|lower == 'true' %} + {% set t1_temp = params.T1_TEMP|default(150)|int %} + {% set bed_temp = params.BED_TEMP|default(115)|int %} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating extruders" + SET_HEATER_TEMPERATURE HEATER="extruder1" TARGET={t1_temp} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed" + M190 S{bed_temp} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing" + {% else %} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing" + {% endif %} + + _VAOC_START + + # Test Z offset 4 times + {% for i in range(4) %} + _VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True + _VAOC_TEST_Z_OFFSET + _ADD_SECONDARY_TOOLHEAD_RESULT + + _VAOC_Z_PROBE_LOOP + {% endfor %} + + # Test Z offset the last (5th) time + + _VAOC_Z_PROBE_LOOP + + _VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True + _VAOC_TEST_Z_OFFSET + _ADD_SECONDARY_TOOLHEAD_RESULT + + # Evaluate results + _VAOC_END + DUMP_TMC stepper="stepper_z1" + GET_POSITION + _VAOC_Z_PROBE_TEST_EVALUATE_T1 + + # Disable debugging if it was previously disabled + {% if debug_previously_enabled == False %} + DISABLE_DEBUG + {% endif %} + +[gcode_macro Z_PROBE_TEST] +gcode: + # Setup debugging + {% set debug_previously_enabled = False %} + {% if printer["gcode_macro DEBUG_ECHO"].enabled|lower == 'true' %} + {% set debug_previously_enabled = True %} + {% else %} + ENABLE_DEBUG + {% endif %} + _CLEAR_PRIMARY_TOOLHEAD_RESULT _CLEAR_SECONDARY_TOOLHEAD_RESULT @@ -22,33 +126,25 @@ gcode: RATOS_ECHO PREFIX="Z Offset Testing" MSG="Heating bed" M190 S{bed_temp} RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting HOT z offset probe testing" - _VAOC_START {% else %} RATOS_ECHO PREFIX="Z Offset Testing" MSG="Starting COLD z offset probe testing" - _VAOC_START {% endif %} + _VAOC_START + # Test Z offset 4 times {% for i in range(4) %} _VAOC_LOAD_TOOL T=0 AUTO_Z_OFFSET=True _VAOC_TEST_Z_OFFSET _ADD_PRIMARY_TOOLHEAD_RESULT - _VAOC_END - DUMP_TMC stepper="stepper_z1" - GET_POSITION - _SHAKE_IT - _VAOC_START + _VAOC_Z_PROBE_LOOP _VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True _VAOC_TEST_Z_OFFSET _ADD_SECONDARY_TOOLHEAD_RESULT - _VAOC_END - DUMP_TMC stepper="stepper_z1" - GET_POSITION - _SHAKE_IT - _VAOC_START + _VAOC_Z_PROBE_LOOP {% endfor %} # Test Z offset the last (5th) time @@ -56,24 +152,33 @@ gcode: _VAOC_TEST_Z_OFFSET _ADD_PRIMARY_TOOLHEAD_RESULT - _VAOC_END - DUMP_TMC stepper="stepper_z1" - GET_POSITION - _SHAKE_IT - _VAOC_START + _VAOC_Z_PROBE_LOOP _VAOC_LOAD_TOOL T=1 AUTO_Z_OFFSET=True _VAOC_TEST_Z_OFFSET _ADD_SECONDARY_TOOLHEAD_RESULT - # Evaluate results _VAOC_END DUMP_TMC stepper="stepper_z1" GET_POSITION + + # Evaluate results _VAOC_Z_PROBE_TEST_EVALUATE + + # Disable debugging if it was previously disabled + {% if debug_previously_enabled == False %} + DISABLE_DEBUG + {% endif %} + +[gcode_macro _VAOC_Z_PROBE_LOOP] +gcode: + _VAOC_END + DUMP_TMC stepper="stepper_z1" + GET_POSITION + _SHAKE_IT + _VAOC_START [gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE] -variable_debug_previously_enabled: False gcode: # Calculate results {% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %} @@ -132,11 +237,66 @@ gcode: DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}" DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}" - # Disable debugging if it was previously disabled - {% if debug_previously_enabled == False %} - DISABLE_DEBUG + +[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T0] +variable_debug_previously_enabled: False +gcode: + # Calculate results + {% set primary_results = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].results %} + {% set primary_retries = printer["gcode_macro _ADD_PRIMARY_TOOLHEAD_RESULT"].retries %} + + {% if primary_results|sum > 0 and primary_results|count > 0 %} + {% set primary_average = (primary_results|sum/(primary_results|count))|round(6) %} + {% else %} + {% set primary_average = 0 %} {% endif %} + {% set primary_min = primary_results|min %} + {% set primary_max = primary_results|max %} + {% set primary_range = primary_max - primary_min %} + + {% if primary_retries > 0 %} + {% set primary_average_retries = primary_retries/(primary_results|count) %} + {% else %} + {% set primary_average_retries = 0 %} + {% endif %} + + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T0 result: {primary_average}, Average Retries: {primary_average_retries}, Range: {primary_range|round(6)}, Min: {primary_min}, Max: {primary_max}" + DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T0 result set: {primary_results}, retries: {primary_retries}" + + + +[gcode_macro _VAOC_Z_PROBE_TEST_EVALUATE_T1] +variable_debug_previously_enabled: False +gcode: + # Calculate results + {% set secondary_results = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].results %} + {% set secondary_retries = printer["gcode_macro _ADD_SECONDARY_TOOLHEAD_RESULT"].retries %} + + {% if secondary_results|sum > 0 and secondary_results|count > 0 %} + {% set secondary_average = (secondary_results|sum/(secondary_results|count))|round(6) %} + {% else %} + {% set secondary_average = 0 %} + {% endif %} + + {% set secondary_min = secondary_results|min %} + {% set secondary_max = secondary_results|max %} + {% set secondary_range = secondary_max - secondary_min %} + + {% if secondary_retries > 0 %} + {% set secondary_average_retries = secondary_retries/(secondary_results|count) %} + {% else %} + {% set secondary_average_retries = 0 %} + {% endif %} + + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Average T1 result: {secondary_average}, Average Retries: {secondary_average_retries}, Range: {secondary_range|round(6)}, Min: {secondary_min}, Max: {secondary_max}" + + {% if secondary_retries > 0 %} + RATOS_ECHO PREFIX="Z Offset Testing" MSG="Z probe has poor repeatibility for T1. Retried {secondary_retries} time(s)." + {% endif %} + DEBUG_ECHO PREFIX="Z Offset Testing" MSG="T1 result set: {secondary_results}, retries: {secondary_retries}" + + [gcode_macro _SHAKE_IT] gcode: