From 2dc6f53aa588c3c916a344eb48be8a5ffa5b03b6 Mon Sep 17 00:00:00 2001 From: probielodan Date: Mon, 4 Nov 2024 00:51:32 -0600 Subject: [PATCH] Fix incorrect fan speed scaling --- files/macros/fans-control.cfg | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/files/macros/fans-control.cfg b/files/macros/fans-control.cfg index 1b3d508..a9f8cae 100644 --- a/files/macros/fans-control.cfg +++ b/files/macros/fans-control.cfg @@ -99,44 +99,41 @@ gcode: {% if tmp > 0 %} {% if fan == 0 %} {% set value = (255 - printer["gcode_macro PRINTER_PARAM"].fan0_min) / 255 * tmp %} - {% set f0min = printer["gcode_macro PRINTER_PARAM"].fan0_min %} {% if printer['gcode_macro Qmode'].flag | int == 1 %} - SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan0_value VALUE={([f0min,value]|max)} + SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan0_value VALUE={printer["gcode_macro PRINTER_PARAM"].fan0_min + value} {% if value > (255 - printer['gcode_macro PRINTER_PARAM'].fan0_min) / 2 %} {% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan0_min) / 2 %} {% else %} - {% set value = ([f0min,tmp]|max) %} + {% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + value %} {% endif %} {% else %} - {% set value = ([f0min,tmp]|max) %} + {% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + value %} {% endif %} {% endif %} {% if fan == 1 %} {% set value = (255 - printer["gcode_macro PRINTER_PARAM"].fan1_min) / 255 * tmp %} - {% set f1min = printer["gcode_macro PRINTER_PARAM"].fan1_min %} {% if printer['gcode_macro Qmode'].flag | int == 1 %} - SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan1_value VALUE={([f1min,value]|max)} + SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan1_value VALUE={printer["gcode_macro PRINTER_PARAM"].fan1_min + value} {% if value > (255 - printer['gcode_macro PRINTER_PARAM'].fan1_min) / 2 %} {% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan1_min) / 2 %} {% else %} - {% set value = ([f1min,tmp]|max) %} + {% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + value %} {% endif %} {% else %} - {% set value = ([f1min,tmp]|max) %} + {% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + value %} {% endif %} {% endif %} {% if fan == 2 %} {% set value = (255 - printer["gcode_macro PRINTER_PARAM"].fan2_min) / 255 * tmp %} - {% set f2min = printer["gcode_macro PRINTER_PARAM"].fan2_min %} {% if printer['gcode_macro Qmode'].flag | int == 1 %} - SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan2_value VALUE={([f2min,value]|max)} + SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan2_value VALUE={printer["gcode_macro PRINTER_PARAM"].fan2_min + value} {% if value > (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) / 2 %} {% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) / 2 %} {% else %} - {% set value = ([f2min,tmp]|max) %} + {% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + value %} {% endif %} {% else %} - {% set value = ([f2min,tmp]|max) %} + {% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + value %} {% endif %} {% endif %} {% endif %}