201 lines
6.5 KiB
INI
201 lines
6.5 KiB
INI
# WS2812B lighting and Stealthburner status macros for this printer.
|
|
# Addressable pixels are RGB/GRB only; there is no dedicated white channel.
|
|
|
|
# Separate non-addressable white chamber lamp.
|
|
[led my_led]
|
|
white_pin: PB10
|
|
cycle_time: 0.010
|
|
initial_WHITE: 1.0
|
|
|
|
# One physical WS2812B chain: indexes 1-6 are on the toolhead and 7-49 are
|
|
# chamber lighting. Only index 1 responded during the 2026-09-07 diagnostic;
|
|
# inspect the DOUT-1 to DIN-2 connection or pixel 2 before replacing the chain.
|
|
[neopixel sb_leds]
|
|
pin: EBBCan:PD3
|
|
chain_count: 49
|
|
color_order: GRB
|
|
|
|
|
|
|
|
##########
|
|
# MACROS #
|
|
##########
|
|
|
|
# The following status macros are available (these go inside of your macros):
|
|
#
|
|
# STATUS_READY
|
|
# STATUS_OFF
|
|
# STATUS_BUSY
|
|
# STATUS_HEATING
|
|
# STATUS_LEVELING
|
|
# STATUS_HOMING
|
|
# STATUS_CLEANING
|
|
# STATUS_MESHING
|
|
# STATUS_CALIBRATING_Z
|
|
#
|
|
# With additional macros for basic control:
|
|
#
|
|
# SET_NOZZLE_LEDS_ON
|
|
# SET_LOGO_LEDS_OFF
|
|
# SET_NOZZLE_LEDS_OFF
|
|
#
|
|
# Contributed by Voron discord users wile.e, Tetsunosuke, and etherwalker
|
|
|
|
|
|
[gcode_macro _sb_vars]
|
|
# User settings for the StealthBurner status leds. You can change the status colors and led
|
|
# configurations for the logo and nozzle here.
|
|
variable_colors: {
|
|
'logo': { # Colors for logo states
|
|
'busy': {'r': 0.4, 'g': 0.0, 'b': 0.0},
|
|
'cleaning': {'r': 0.0, 'g': 0.02, 'b': 0.5},
|
|
'calibrating_z': {'r': 0.8, 'g': 0.0, 'b': 0.35},
|
|
'heating': {'r': 0.3, 'g': 0.18, 'b': 0.0},
|
|
'homing': {'r': 0.0, 'g': 0.6, 'b': 0.2},
|
|
'leveling': {'r': 0.5, 'g': 0.1, 'b': 0.4},
|
|
'meshing': {'r': 0.2, 'g': 1.0, 'b': 0.0},
|
|
'off': {'r': 0.0, 'g': 0.0, 'b': 0.0},
|
|
'printing': {'r': 1.0, 'g': 0.0, 'b': 0.0},
|
|
'standby': {'r': 0.08, 'g': 0.08, 'b': 0.08},
|
|
},
|
|
'nozzle': { # Colors for nozzle states
|
|
'heating': {'r': 0.8, 'g': 0.35, 'b': 0.0},
|
|
'off': {'r': 0.0, 'g': 0.0, 'b': 0.0},
|
|
'on': {'r': 0.8, 'g': 0.8, 'b': 0.8},
|
|
'standby': {'r': 0.6, 'g': 0.0, 'b': 0.0},
|
|
},
|
|
'thermal': {
|
|
'hot': {'r': 1.0, 'g': 0.0, 'b': 0.0},
|
|
'cold': {'r': 0.3, 'g': 0.0, 'b': 0.3}
|
|
}
|
|
}
|
|
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]
|
|
gcode:
|
|
{% set red = params.RED|default(0)|float %}
|
|
{% set green = params.GREEN|default(0)|float %}
|
|
{% set blue = params.BLUE|default(0)|float %}
|
|
{% set led = params.LED|string %}
|
|
{% 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} INDEX={led_index} TRANSMIT={transmit}
|
|
{% endfor %}
|
|
|
|
[gcode_macro _set_sb_leds_by_name]
|
|
gcode:
|
|
{% 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} IDX="{idx}" TRANSMIT={transmit}
|
|
|
|
[gcode_macro _set_logo_leds]
|
|
gcode:
|
|
{% set red = params.RED|default(0)|float %}
|
|
{% set green = params.GREEN|default(0)|float %}
|
|
{% set blue = params.BLUE|default(0)|float %}
|
|
{% set led = printer["gcode_macro _sb_vars"].logo_led_name %}
|
|
{% set idx = printer["gcode_macro _sb_vars"].logo_idx %}
|
|
{% set transmit=params.TRANSMIT|default(1) %}
|
|
|
|
_set_sb_leds LED={led} RED={red} GREEN={green} BLUE={blue} IDX="{idx}" TRANSMIT={transmit}
|
|
|
|
[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 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} IDX="{idx}" TRANSMIT={transmit}
|
|
|
|
[gcode_macro set_logo_leds_off]
|
|
gcode:
|
|
{% set transmit=params.TRANSMIT|default(1) %}
|
|
_set_logo_leds RED=0 BLUE=0 GREEN=0 TRANSMIT={transmit}
|
|
|
|
[gcode_macro set_nozzle_leds_on]
|
|
gcode:
|
|
{% set transmit=params.TRANSMIT|default(1) %}
|
|
_set_sb_leds_by_name leds="nozzle" color="on" transmit={transmit}
|
|
|
|
[gcode_macro set_nozzle_leds_off]
|
|
gcode:
|
|
{% set transmit=params.TRANSMIT|default(1) %}
|
|
_set_sb_leds_by_name leds="nozzle" color="off" transmit={transmit}
|
|
|
|
[gcode_macro status_off]
|
|
gcode:
|
|
set_logo_leds_off transmit=0
|
|
set_nozzle_leds_off
|
|
|
|
[gcode_macro status_ready]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="standby" transmit=0
|
|
_set_sb_leds_by_name leds="nozzle" color="standby" transmit=1
|
|
|
|
[gcode_macro status_busy]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="busy" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[gcode_macro status_heating]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="heating" transmit=0
|
|
_set_sb_leds_by_name leds="nozzle" color="heating" transmit=1
|
|
|
|
[gcode_macro status_leveling]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="leveling" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[gcode_macro status_homing]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="homing" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[gcode_macro status_cleaning]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="cleaning" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[gcode_macro status_meshing]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="meshing" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[gcode_macro status_calibrating_z]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="calibrating_z" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[gcode_macro status_printing]
|
|
gcode:
|
|
_set_sb_leds_by_name leds="logo" color="printing" transmit=0
|
|
set_nozzle_leds_on
|
|
|
|
[delayed_gcode _SET_SB_READY]
|
|
initial_duration: 1
|
|
gcode:
|
|
STATUS_READY
|