stealthburner_leds.cfg modified - 21/08/25 - 05:03:13

This commit is contained in:
miguel 2025-08-21 05:03:19 +01:00
parent 05eb41b5d5
commit 46cd7deaa2

View file

@ -10,7 +10,7 @@
# How to use all this stuff: # How to use all this stuff:
# #
# 1. Copy this .cfg file into your Klipper config directory and then add [include stealthburner_leds.cfg] # 1. Copy this .cfg file into your Klipper config directory and then add [include stealthburner_leds.cfg]
# to the top of your printer.cfg in order to register the LEDs and macros with Klipper. # to the top of your printer.cfg in order for register the LEDs and macros with Klipper.
# 2. Define your LEDs by editing [neopixel sb_leds] below and entering the data pin from your control board # 2. Define your LEDs by editing [neopixel sb_leds] below and entering the data pin from your control board
# as well as the color order. # as well as the color order.
# #
@ -45,7 +45,8 @@
# #
# 5. Feel free to change colors of each macro, create new ones if you have a need to. The macros provided below # 5. Feel free to change colors of each macro, create new ones if you have a need to. The macros provided below
# are just an example of what is possible. If you want to try some more complex animations, you will most # are just an example of what is possible. If you want to try some more complex animations, you will most
# likely have to use WLED with Moonraker and a small micro-controller # likely have to use WLED with Moonraker and a small micro-controller (please see the LED thread for help inside
# of the stealthburner_beta channel on Discord).
# #
##################################### #####################################
# END INSTRUCTRUCTIONS # # END INSTRUCTRUCTIONS #
@ -53,13 +54,13 @@
[neopixel sb_leds] [neopixel sb_leds]
pin: PB0 pin: nhk:gpio7
# The pin connected to the neopixel. This parameter must be provided. # The pin connected to the neopixel. This parameter must be provided.
chain_count: 3 chain_count: 10
# The number of Neopixel chips that are "daisy chained" to the # The number of Neopixel chips that are "daisy chained" to the
# provided pin. The default is 1 (which indicates only a single # provided pin. The default is 1 (which indicates only a single
# Neopixel is connected to the pin). # Neopixel is connected to the pin).
color_order: GRB color_order: GRB, GRB, GRB, GRB, GRB, GRB, GRB, GRB, GRBW, GRBW
# Set the pixel order required by the LED hardware. Options are GRB, # Set the pixel order required by the LED hardware. Options are GRB,
# RGB, GRBW, or RGBW. The default is GRB. # RGB, GRBW, or RGBW. The default is GRB.
initial_RED: 1.0 initial_RED: 1.0
@ -70,185 +71,273 @@ initial_WHITE: 0.0
# between 0.0 and 1.0. The WHITE option is only available on RGBW # between 0.0 and 1.0. The WHITE option is only available on RGBW
# LEDs. The default for each color is 0.# # LEDs. The default for each color is 0.#
# Most configuration for the macros can be done by modifying the variables in the _sb_vars macro
# at the start of this file.
########## ##########################
# MACROS # # LED Effects Animations #
########## ##########################
# The following status macros are available (these go inside of your macros): ##################
# ## logo effects ##
# STATUS_READY ##################
# STATUS_OFF
# STATUS_BUSY [led_effect sb_logo_busy]
# STATUS_HEATING autostart: false
# STATUS_LEVELING frame_rate: 24
# STATUS_HOMING leds:
# STATUS_CLEANING neopixel:sb_leds (1-8)
# STATUS_MESHING layers:
# STATUS_CALIBRATING_Z breathing 3 1 top (1,0,0)
#
# With additional macros for basic control: [led_effect sb_logo_cleaning]
# autostart: false
# SET_NOZZLE_LEDS_ON frame_rate: 24
# SET_LOGO_LEDS_OFF leds:
# SET_NOZZLE_LEDS_OFF neopixel:sb_leds (1-8)
# layers:
# Contributed by Voron discord users wile.e, Tetsunosuke, and etherwalker breathing 3 1 top (0.0, 0.02, 0.5)
[led_effect sb_logo_calibrating_z]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
breathing 3 1 top (0.0, 0.0, 0.35)
[led_effect sb_logo_heating]
leds:
neopixel:sb_leds (1,3,7,8,6,2)
autostart: false
frame_rate: 24
layers:
comet 0.3 0 add (1, 0.18, 0)
[led_effect sb_logo_cooling]
leds:
neopixel:sb_leds (1,3,7,8,6,2)
autostart: false
frame_rate: 24
layers:
comet 0.3 0 add (0, 0, 1)
[led_effect sb_logo_homing]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
breathing 3 1 top (0.0, 0.6, 0.2)
[led_effect sb_logo_leveling]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
breathing 3 1 top (0.5, 0.1, 0.4)
[led_effect sb_logo_meshing]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
breathing 3 1 top (0.2, 1.0, 0.0)
[led_effect sb_logo_printing]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
gradient 0.3 1 add (0.3, 0.0, 0.0),(0.3, 0.3, 0.0),(0.3, 0.1, 0.0)
[led_effect sb_logo_standby]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
breathing 3 1 top (0.01, 0.01, 0.01)
[led_effect sb_logo_part_ready]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (1-8)
layers:
breathing 3 1 top (0.0, 1.0, 0.0)
####################
## nozzle effects ##
####################
[led_effect sb_nozzle_heating]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (9,10)
layers:
breathing 3 1 top (1.0, 0.18, 0.0, 0.0)
[led_effect sb_nozzle_cooling]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (9,10)
layers:
breathing 3 1 top (0.0, 0.0, 1.0, 0.1)
[led_effect sb_nozzle_standby]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (9,10)
layers:
breathing 3 1 top (0.6, 0.0, 0.0, 0.0)
[led_effect sb_nozzle_part_ready]
autostart: false
frame_rate: 24
leds:
neopixel:sb_leds (9,10)
layers:
breathing 3 1 top (0.6, 1.0, 0.0, 0.1)
[gcode_macro _sb_vars] #####################
# User settings for the StealthBurner status leds. You can change the status colors and led ## all led effects ##
# configurations for the logo and nozzle here. #####################
variable_colors: {
'logo': { # Colors for logo states [led_effect sb_critical_error]
'busy': {'r': 0.4, 'g': 0.0, 'b': 0.0, 'w': 0.0}, leds:
'cleaning': {'r': 0.0, 'g': 0.02, 'b': 0.5, 'w': 0.0}, neopixel:sb_leds
'calibrating_z': {'r': 0.8, 'g': 0., 'b': 0.35, 'w': 0.0}, layers:
'heating': {'r': 0.3, 'g': 0.18, 'b': 0.0, 'w': 0.0}, strobe 1 1.5 add (1.0, 1.0, 1.0)
'homing': {'r': 0.0, 'g': 0.6, 'b': 0.2, 'w': 0.0}, breathing 2 0 difference (0.95, 0.0, 0.0)
'leveling': {'r': 0.5, 'g': 0.1, 'b': 0.4, 'w': 0.0}, static 1 0 top (1.0, 0.0, 0.0)
'meshing': {'r': 0.2, 'g': 1.0, 'b': 0.0, 'w': 0.0}, autostart: false
'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, frame_rate: 24
'printing': {'r': 1.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, run_on_error: true
'standby': {'r': 0.01, 'g': 0.01, 'b': 0.01, 'w': 0.1},
},
'nozzle': { # Colors for nozzle states
'heating': {'r': 0.8, 'g': 0.35, 'b': 0.0, 'w':0.0},
'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0},
'on': {'r': 0.8, 'g': 0.8, 'b': 0.8, 'w':1.0},
'standby': {'r': 0.6, 'g': 0.0, 'b': 0.0, 'w':0.0},
},
'thermal': {
'hot': {'r': 1.0, 'g': 0.0, 'b': 0.0, 'w': 0.0},
'cold': {'r': 0.3, 'g': 0.0, 'b': 0.3, 'w': 0.0}
}
}
variable_logo_led_name: "sb_leds"
# The name of the addressable LED chain that contains the logo LED(s)
variable_logo_idx: "1"
# A comma-separated list of indexes LEDs in the logo
variable_nozzle_led_name: "sb_leds"
# The name of the addressable LED chain that contains the nozzle LED(s). This will
# typically be the same LED chain as the logo.
variable_nozzle_idx: "2,3"
# A comma-separated list of indexes of LEDs in the nozzle
gcode:
# This section is required. Do Not Delete.
[gcode_macro _set_sb_leds] [led_effect rainbow]
gcode: leds:
{% set red = params.RED|default(0)|float %} neopixel:sb_leds
{% set green = params.GREEN|default(0)|float %} autostart: true
{% set blue = params.BLUE|default(0)|float %} frame_rate: 24
{% set white = params.WHITE|default(0)|float %} layers:
{% set led = params.LED|string %} gradient 0.3 1 add (0.3, 0.0, 0.0),(0.0, 0.3, 0.0),(0.0, 0.0, 0.3)
{% set idx = (params.IDX|string).split(',') %}
{% set transmit_last = params.TRANSMIT|default(1) %}
{% for led_index in idx %}
{% set transmit=transmit_last if loop.last else 0 %}
set_led led={led} red={red} green={green} blue={blue} white={white} index={led_index} transmit={transmit}
{% endfor %}
[gcode_macro _set_sb_leds_by_name] #######################
gcode: # LED Effects Statics #
{% set leds_name = params.LEDS %} #######################
{% set color_name = params.COLOR %}
{% set color = printer["gcode_macro _sb_vars"].colors[leds_name][color_name] %}
{% set led = printer["gcode_macro _sb_vars"][leds_name + "_led_name"] %}
{% set idx = printer["gcode_macro _sb_vars"][leds_name + "_idx"] %}
{% set transmit = params.TRANSMIT|default(1) %}
_set_sb_leds led={led} red={color.r} green={color.g} blue={color.b} white={color.w} idx="{idx}" transmit={transmit} [led_effect set_nozzle_leds]
leds:
neopixel:sb_leds (9,10)
#neopixel:caselight
autostart: false
frame_rate: 24
layers:
static 0 0 top (0.0, 0.0, 0.0, 1.0)
[gcode_macro _set_logo_leds] [led_effect set_logo_leds]
gcode: leds:
{% set red = params.RED|default(0)|float %} neopixel:sb_leds (1,2,3,4,5,6,7,8)
{% set green = params.GREEN|default(0)|float %} #neopixel:caselight
{% set blue = params.BLUE|default(0)|float %} autostart: false
{% set white = params.WHITE|default(0)|float %} frame_rate: 24
{% set led = printer["gcode_macro _sb_vars"].logo_led_name %} layers:
{% set idx = printer["gcode_macro _sb_vars"].logo_idx %} static 0 0 top (1.0, 1.0, 1.0)
{% set transmit=params.TRANSMIT|default(1) %}
_set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} ##############
# The Macros #
[gcode_macro _set_nozzle_leds] ##############
gcode:
{% set red = params.RED|default(0)|float %}
{% set green = params.GREEN|default(0)|float %}
{% set blue = params.BLUE|default(0)|float %}
{% set white = params.WHITE|default(0)|float %}
{% set led = printer["gcode_macro _sb_vars"].nozzle_led_name %}
{% set idx = printer["gcode_macro _sb_vars"].nozzle_idx %}
{% set transmit=params.TRANSMIT|default(1) %}
_set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit}
[gcode_macro set_logo_leds_off] [gcode_macro set_logo_leds_off]
gcode: gcode:
{% set transmit=params.TRANSMIT|default(1) %} SET_LED_EFFECT EFFECT=set_logo_leds STOP=1
_set_logo_leds red=0 blue=0 green=0 white=0 transmit={transmit}
[gcode_macro set_logo_leds_on]
gcode:
SET_LED_EFFECT EFFECT=set_logo_leds
[gcode_macro set_nozzle_leds_on] [gcode_macro set_nozzle_leds_on]
gcode: gcode:
{% set transmit=params.TRANSMIT|default(1) %} SET_LED_EFFECT EFFECT=set_nozzle_leds
_set_sb_leds_by_name leds="nozzle" color="on" transmit={transmit}
[gcode_macro set_nozzle_leds_off] [gcode_macro set_nozzle_leds_off]
gcode: gcode:
{% set transmit=params.TRANSMIT|default(1) %} SET_LED_EFFECT EFFECT=set_nozzle_leds STOP=1
_set_sb_leds_by_name leds="nozzle" color="off" transmit={transmit}
[gcode_macro status_off] [gcode_macro status_off]
gcode: gcode:
set_logo_leds_off transmit=0 STOP_LED_EFFECTS
set_nozzle_leds_off
[gcode_macro status_ready] [gcode_macro status_ready]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="standby" transmit=0 STOP_LED_EFFECTS
_set_sb_leds_by_name leds="nozzle" color="standby" transmit=1 SET_LED_EFFECT EFFECT=rainbow
[gcode_macro status_part_ready]
gcode:
STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_nozzle_part_ready
SET_LED_EFFECT EFFECT=sb_logo_part_ready
[gcode_macro status_busy] [gcode_macro status_busy]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="busy" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_busy
set_nozzle_leds_on set_nozzle_leds_on
[gcode_macro status_heating] [gcode_macro status_heating]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="heating" transmit=0 STOP_LED_EFFECTS
_set_sb_leds_by_name leds="nozzle" color="heating" transmit=1 SET_LED_EFFECT EFFECT=sb_logo_heating
SET_LED_EFFECT EFFECT=sb_nozzle_heating
[gcode_macro status_cooling]
gcode:
STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_cooling
SET_LED_EFFECT EFFECT=sb_nozzle_cooling
[gcode_macro status_leveling] [gcode_macro status_leveling]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="leveling" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_leveling
set_nozzle_leds_on set_nozzle_leds_on
[gcode_macro status_homing] [gcode_macro status_homing]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="homing" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_homing
set_nozzle_leds_on set_nozzle_leds_on
[gcode_macro status_cleaning] [gcode_macro status_cleaning]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="cleaning" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_cleaning
set_nozzle_leds_on set_nozzle_leds_on
[gcode_macro status_meshing] [gcode_macro status_meshing]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="meshing" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_meshing
set_nozzle_leds_on set_nozzle_leds_on
[gcode_macro status_calibrating_z] [gcode_macro status_calibrating_z]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="calibrating_z" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_calibrating_z
set_nozzle_leds_on set_nozzle_leds_on
[gcode_macro status_printing] [gcode_macro status_printing]
gcode: gcode:
_set_sb_leds_by_name leds="logo" color="printing" transmit=0 STOP_LED_EFFECTS
SET_LED_EFFECT EFFECT=sb_logo_printing
set_nozzle_leds_on set_nozzle_leds_on