diff --git a/positron_macros.cfg b/positron_macros.cfg index 8688c52..45e3c3e 100644 --- a/positron_macros.cfg +++ b/positron_macros.cfg @@ -28,7 +28,7 @@ # This file contains the Klipper macros for the Positron v3.2 # designed by the Positron 3D team in partnership with LDO -# PositronConfig v1.2.1 +# PositronConfig v1.2.2 ##################################################################### # Fluidd/Mainsail @@ -310,44 +310,49 @@ gcode: description: print startup sequence gcode: {% set BED_TEMP = params.BED|default(65)|float %} - {% set READY_TEMP = params.BED|default(65)|float * 0.92 %} + {% set READY_TEMP = BED_TEMP * 0.92 %} {% set EXTRUDER_TEMP = params.EXTRUDER|default(190)|float %} SAVE_GCODE_STATE NAME=STATE_PRINT_START LED_PENDING - M107 ; turn off part fan - M140 S{BED_TEMP} ; set bed temperature and continue - M104 S150 ; set hotend slightly - G28 O ; Level bed and homing sequence - TEMPERATURE_WAIT SENSOR="heater_bed" MINIMUM={READY_TEMP} ;Wait for bed to mostly heat up - - NOZZLE_DOCK ; Move the nozzle to docking position - M109 S{EXTRUDER_TEMP} ; wait for hot end temperature to reach final target - M190 S{BED_TEMP} ; Wait for bed to reach temperature - NOZZLE_UNDOCK ; Undock the nozzle - - G90 ; Use absolute coordinates + ;PCF_CHECK ; test part cooling fan, disable for fans without tachometer + M107 ; turn off part fan + M140 S{BED_TEMP} ; set bed temperature and continue + M104 S150 ; set hotend slightly + G28 O ; Level bed and homing sequence + TEMPERATURE_WAIT SENSOR="heater_bed" MINIMUM={READY_TEMP} ;Wait for bed to mostly heat up + + NOZZLE_DOCK ; Move the nozzle to docking position + M109 S{EXTRUDER_TEMP} ; wait for hot end temperature to reach final target + M190 S{BED_TEMP} ; Wait for bed to reach temperature + NOZZLE_UNDOCK ; Undock the nozzle + + G90 ; Use absolute coordinates RESTORE_GCODE_STATE NAME=STATE_PRINT_START LED_WORKING NOZZLE_PURGE -[gcode_macro PCF_TEST] +[gcode_macro PCF_CHECK] description: Use before print startup, checks the part fan for failures gcode: - SAVE_GCODE_STATE NAME=START_PCF_FAN_CHECK - M106 S128 ; turn on the part fan - G4 P2000 ; wait for the fan to spin up - M400 ; wait for queue to clear + M106 S128 ; turn on the part fan + G4 P2000 ; wait for the fan to spin up + M400 ; wait for wait to finish + _PCF_CHECKER ; check part fan speed + M106 S0 ; turn off the part fan + + +[gcode_macro _PCF_CHECKER] +description: Helper macro for PCF_CHECK +gcode: {% if printer.fan.rpm is not none %} - {% if printer.fan.rpm > 500 %} - RESTORE_GCODE_STATE NAME=START_PCF_FAN_CHECK - {action_respond_info("Part fan self-test: PASS")} - {% else %} - M106 S0 ; turn off the part fan - CANCEL_PRINT - {action_respond_info("Part fan self-test: FAIL!")} - {% endif %} + {% if printer.fan.rpm > 500 %} + {action_respond_info("Part cooling fan self-test: PASS")} + {% else %} + CANCEL_PRINT + {action_respond_info("Part cooling fan self-test: FAIL!")} + {% endif %} {% endif %}