From 8df3056248611d13d44f3143d56309b939c20091 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 13 Mar 2026 12:38:07 +0000 Subject: [PATCH] Feat: Add KNCM_settings.cfg with nozzle cleaning macros Created KNCM_settings.cfg with essential macros: - CLEAN_NOZZLE: Wipe nozzle on brush/cloth - SMART_PARK: Park nozzle at front for easy access - LINE_PURGE: Print purge line at start - Frame_Light_ON/OFF: Control frame LED (PD14) - Part_Light_ON/OFF: Control part light (PD13) Also added [output_pin] definitions for lights: - frame_light: PD14 - part_light: PD13 This fixes: 'Unknown pin chip name rpi' error caused by missing KNCM_settings.cfg include. The file was previously included but didn't exist in the repo. --- KNCM_settings.cfg | 95 +++++++++++++++++++++++++++++++++++++ optimized_user_settings.cfg | 16 ++++++- user_settings_clean.cfg | 16 ++++++- 3 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 KNCM_settings.cfg diff --git a/KNCM_settings.cfg b/KNCM_settings.cfg new file mode 100644 index 0000000..aedf0f6 --- /dev/null +++ b/KNCM_settings.cfg @@ -0,0 +1,95 @@ +# ============================================================================ +# KNCM - Nozzle Cleaning Macros +# Simplified nozzle cleaning for reliable prints +# ============================================================================ + +# ---------------------------------------------------------------------------- +# CLEAN_NOZZLE - Wipe nozzle on brush/cloth +# ---------------------------------------------------------------------------- +[gcode_macro CLEAN_NOZZLE] +description: Clean nozzle on brush or cloth +gcode: + {% set FILAMENT_TYPE = params.FILAMENT_TYPE|default("PLA")|upper %} + {% set CLEAN_X = params.CLEAN_X|default(0)|int %} + {% set CLEAN_Y = params.CLEAN_Y|default(0)|int %} + {% set CLEAN_Z = params.CLEAN_Z|default(0.5)|float %} + {% set PASSES = params.PASSES|default(3)|int %} + + RESPOND MSG="Cleaning nozzle..." + + # Move to clean position + G1 X{CLEAN_X} Y{CLEAN_Y} Z{CLEAN_Z} F3000 + + # Wipe passes + {% for i in range(PASSES) %} + G1 X{CLEAN_X + 10} F1800 + G1 X{CLEAN_X} F1800 + {% endfor %} + + # Lift Z + G1 Z10 F600 + + RESPOND MSG="Nozzle clean complete!" + +# ---------------------------------------------------------------------------- +# SMART_PARK - Park near front for easy access +# ---------------------------------------------------------------------------- +[gcode_macro SMART_PARK] +description: Park nozzle at front of bed for easy access +gcode: + {% set PARK_X = params.PARK_X|default(165)|int %} + {% set PARK_Y = params.PARK_Y|default(10)|int %} + {% set PARK_Z = params.PARK_Z|default(50)|int %} + + G1 X{PARK_X} Y{PARK_Y} Z{PARK_Z} F6000 + + RESPOND MSG="Printer parked at front" + +# ---------------------------------------------------------------------------- +# LINE_PURGE - Print purge line at start of bed +# ---------------------------------------------------------------------------- +[gcode_macro LINE_PURGE] +description: Print purge line at start of bed +gcode: + {% set PURGE_START_X = params.START_X|default(10)|int %} + {% set PURGE_END_X = params.END_X|default(300)|int %} + {% set PURGE_Y = params.Y|default(10)|int %} + {% set PURGE_Z = params.Z|default(0.2)|float %} + {% set PURGE_AMOUNT = params.AMOUNT|default(30)|int %} + + # Move to purge start + G1 X{PURGE_START_X} Y{PURGE_Y} Z{PURGE_Z} F3000 + + # Extrude purge line + G1 X{PURGE_END_X} E{PURGE_AMOUNT} F600 + + # Lift Z + G1 Z2 F600 + + RESPOND MSG="Purge line printed" + +# ---------------------------------------------------------------------------- +# Frame Light Control (Neptune 4 Plus) +# ---------------------------------------------------------------------------- +[gcode_macro Frame_Light_ON] +description: Turn on frame LED lights +gcode: + SET_PIN PIN=frame_light VALUE=255 + +[gcode_macro Frame_Light_OFF] +description: Turn off frame LED lights +gcode: + SET_PIN PIN=frame_light VALUE=0 + +# ---------------------------------------------------------------------------- +# Part Light Control (Neptune 4 Plus) +# ---------------------------------------------------------------------------- +[gcode_macro Part_Light_ON] +description: Turn on part cooling fan light +gcode: + SET_PIN PIN=part_light VALUE=255 + +[gcode_macro Part_Light_OFF] +description: Turn off part cooling fan light +gcode: + SET_PIN PIN=part_light VALUE=0 diff --git a/optimized_user_settings.cfg b/optimized_user_settings.cfg index 6175815..b8abff5 100644 --- a/optimized_user_settings.cfg +++ b/optimized_user_settings.cfg @@ -3,7 +3,7 @@ # Optimized for Bambu Lab Hotend (23 mm³/s) & Original Hotend (15 mm³/s) # ============================================================================ -[include KNCM_settings.cfg] +[include open4neptune-new/KNCM_settings.cfg] [include open4neptune-new/calibration/*.cfg] [skew_correction] @@ -41,6 +41,20 @@ sensor_mcu: cartographer min_temp: 5 max_temp: 105 +# ============================================================================ +# OUTPUT PINS - Neptune 4 Plus +# ============================================================================ + +[output_pin frame_light] +pin: PD14 +pwm: False +value: 0 + +[output_pin part_light] +pin: PD13 +pwm: False +value: 0 + # ============================================================================ # ADXL345 ACCELEROMETER # ============================================================================ diff --git a/user_settings_clean.cfg b/user_settings_clean.cfg index 6ac7d13..ea97a61 100644 --- a/user_settings_clean.cfg +++ b/user_settings_clean.cfg @@ -3,7 +3,7 @@ # Optimized for Bambu Lab Hotend (23 mm³/s) & Original Hotend (15 mm³/s) # ============================================================================ -[include KNCM_settings.cfg] +[include open4neptune-new/KNCM_settings.cfg] [include open4neptune-new/calibration/*.cfg] [skew_correction] @@ -41,6 +41,20 @@ sensor_mcu: cartographer min_temp: 5 max_temp: 105 +# ============================================================================ +# OUTPUT PINS - Neptune 4 Plus +# ============================================================================ + +[output_pin frame_light] +pin: PD14 +pwm: False +value: 0 + +[output_pin part_light] +pin: PD13 +pwm: False +value: 0 + # ============================================================================ # ADXL345 ACCELEROMETER # ============================================================================