m_set_pa.cfg modified - 20/04/25 - 17:55:40

This commit is contained in:
pi committed 2025-04-20 17:55:44 +10:00
1 parent e01f80c739
commit 58f09edd1d
1 file changed
+15 -12
+15 -12
View File
@@ -6,21 +6,23 @@ variable_pa: 0.04
# Fully dynamic Pressure Advance tuning:
# - Uses nozzle diameter from printer.cfg
# - Scales PA by nozzle and flow ratio
# - Automatically sets EXP (flow exponent) as 2x nozzle
# - Automatically sets EXP (flow exponent) as 2x nozzle diameter
# - Supports optional flow exponent factor for fine-tuning
# - Dynamically sets SMOOTH_TIME unless overridden
#
# === HOW TO USE ===
# SET_PA PA=<base_value> [FLOW=<actual_mm3/s>] [MAX_FLOW=<max_mm3/s>] [SMOOTH=<value>] [EXP=<value>]
# SET_PA PA=<base_value> [FLOW=<actual_mm³/s>] [MAX_FLOW=<max_mm³/s>] [SMOOTH=<value>] [EXP=<value>] [FLOW_FACTOR=<value>]
#
# Example:
# SET_PA PA=0.05 FLOW=30 MAX_FLOW=70
# SET_PA PA=0.05 ; uses defaults (FLOW=10, MAX_FLOW=15)
# SET_PA PA=0.05 FLOW=25 MAX_FLOW=35 FLOW_FACTOR=1.2
# SET_PA PA=0.05 ; uses defaults with FLOW_FACTOR=1.0
gcode:
{% set base_pa = params.PA|float %}
{% set flow = params.FLOW|default(25.0)|float %}
{% set max_flow = params.MAX_FLOW|default(35.0)|float %}
{% set nozzle = printer.configfile.settings.extruder.nozzle_diameter|float %}
{% set base_pa = params.PA|float %}
{% set flow = params.FLOW|default(25.0)|float %}
{% set max_flow = params.MAX_FLOW|default(35.0)|float %}
{% set nozzle = printer.configfile.settings.extruder.nozzle_diameter|float %}
{% set flow_factor = params.FLOW_FACTOR|default(2.7)|float %}
# === Scale PA based on nozzle diameter ===
{% if nozzle <= 0.2 %}
@@ -38,8 +40,9 @@ gcode:
{% endif %}
{% set scaled_pa = base_pa * nozzle_scale %}
# === Calculate exponent from nozzle size unless overridden ===
{% set exp = params.EXP|default(2.0 * nozzle)|float %}
# === Base exponent from nozzle size unless overridden ===
{% set base_exp = params.EXP|default(2.0 * nozzle)|float %}
{% set exp = base_exp * flow_factor %}
# === Flow ratio and flow scale ===
{% set flow_ratio = flow / max_flow %}
@@ -65,10 +68,10 @@ gcode:
{% set smooth_source = "dynamic" %}
{% endif %}
# === Set and store final values ===
# === Apply values ===
SET_PRESSURE_ADVANCE ADVANCE={adjusted_pa} SMOOTH_TIME={smooth}
SET_GCODE_VARIABLE MACRO=SET_PA VARIABLE=pa VALUE={adjusted_pa}
# === Logging ===
{% set msg = "📐 PA scaled | Nozzle: " ~ nozzle|string ~ "mm | Base: " ~ base_pa|string ~ " ➜ x" ~ nozzle_scale|string ~ " ➜ x" ~ flow_scale|string ~ " (flow^" ~ exp|string ~ ") = " ~ adjusted_pa|string ~ " | Smooth: " ~ smooth|string ~ " (" ~ smooth_source ~ ")" %}
{% set msg = "📐 PA scaled | Nozzle: " ~ nozzle|string ~ "mm | Base PA: " ~ base_pa|string ~ " x" ~ nozzle_scale|string ~ " x" ~ flow_scale|string ~ " (exp=" ~ exp|string ~ ") = " ~ adjusted_pa|string ~ " | Smooth: " ~ smooth|string ~ " (" ~ smooth_source ~ ")" %}
RESPOND MSG="{msg}"