134 lines
4.9 KiB
INI
134 lines
4.9 KiB
INI
#####################################################################
|
|
# Lighting Control
|
|
#####################################################################
|
|
|
|
## Neopixel interface
|
|
[neopixel neo_leds]
|
|
pin: RGB
|
|
chain_count: 17
|
|
color_order: GRBW
|
|
initial_RED: 0.0
|
|
initial_GREEN: 0.0
|
|
initial_BLUE: 0.0
|
|
initial_WHITE: 0.1
|
|
|
|
#####################################################################
|
|
# Macros
|
|
#####################################################################
|
|
|
|
[gcode_macro _CASELIGHT]
|
|
variable_colors: { 'red': (1.0, 0.0, 0.0, 0.0),
|
|
'orange': (1.0, 0.5, 0.0, 0.0),
|
|
'yellow': (1.0, 1.0, 0.0, 0.0),
|
|
'charteuse': (0.5, 1.0, 0.0, 0.0),
|
|
'green': (0.0, 1.0, 0.0, 0.0),
|
|
'turquiose': (0.0, 1.0, 0.5, 0.0),
|
|
'springgreen': (0.0, 1.0, 0.5, 0.0),
|
|
'cyan': (0.0, 1.0, 1.0, 0.0),
|
|
'azure': (0.0, 0.5, 1.0, 0.0),
|
|
'ocean': (0.0, 0.5, 1.0, 0.0),
|
|
'blue': (0.0, 0.0, 1.0, 0.0),
|
|
'violet': (0.5, 0.0, 1.0, 0.0),
|
|
'purple': (0.5, 0.0, 1.0, 0.0),
|
|
'magenta': (1.0, 0.0, 1.0, 0.0),
|
|
'raspberry': (1.0, 0.0, 0.5, 0.0),
|
|
'rose': (1.0, 0.0, 0.5, 0.0),
|
|
'white': (0.0, 0.0, 0.0, 4.0),
|
|
'off': (0.0, 0.0, 0.0, 0.0) }
|
|
variable_leds: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
|
|
gcode:
|
|
# Grab the color values
|
|
{% set RGBW = colors.get(COLOR|default('white')|lower, (0.0, 0.0, 0.0, 0.7)) %}
|
|
{% set R = RGBW[0] %}
|
|
{% set G = RGBW[1] %}
|
|
{% set B = RGBW[2] %}
|
|
{% set W = RGBW[3] %}
|
|
|
|
{action_respond_info("LED Tuple: {0}".format(tuple))}
|
|
|
|
{% for I in leds %}
|
|
SET_LED LED=neo_leds RED={R} GREEN={G} BLUE={B} WHITE={W} INDEX={I} TRANSMIT={loop.last|int} SYNC=0
|
|
{% endfor %}
|
|
|
|
[gcode_macro _caselight_state]
|
|
gcode:
|
|
{action_respond_info("Caselight %s" % (printer["gcode_macro CASELIGHT"].state))}
|
|
|
|
[gcode_macro _CASELIGHT_ON]
|
|
gcode:
|
|
SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"on"'
|
|
_CASELIGHT
|
|
_caselight_state
|
|
|
|
[gcode_macro _CASELIGHT_OFF]
|
|
gcode:
|
|
SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"off"'
|
|
_CASELIGHT color='"off"'
|
|
_caselight_state
|
|
|
|
[gcode_macro CASELIGHT]
|
|
variable_state: 'on'
|
|
gcode:
|
|
{%if printer['gcode_macro CASELIGHT'].state == "off" %}
|
|
_CASELIGHT_ON
|
|
{% else %}
|
|
_CASELIGHT_OFF
|
|
{% endif %}
|
|
|
|
[delayed_gcode _STATUS_LED_INIT]
|
|
initial_duration: 1
|
|
gcode:
|
|
_STATUS_LED COLOR=BLUE
|
|
|
|
[gcode_macro _STATUS_LED]
|
|
variable_color: 'GREEN'
|
|
variable_restore: 'GREEN'
|
|
variable_index: 17
|
|
variable_blink: 0
|
|
variable_blank: 1
|
|
gcode:
|
|
{% set var_color=printer["gcode_macro _STATUS_LED"].color %}
|
|
{% set var_restore=printer["gcode_macro _STATUS_LED"].restore %}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=blink VALUE={BLINK|default(0)}
|
|
UPDATE_DELAYED_GCODE ID=_STATUS_LED_BLINK_DELAY DURATION={BLINK|default(0)|float}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=restore VALUE='"{var_color}"'
|
|
{% if params.COLOR == 'GREEN'%}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=color VALUE='"GREEN"'
|
|
SET_LED LED=neo_leds RED=0 GREEN=0.3 BLUE=0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% elif params.COLOR == 'RED'%}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=color VALUE='"RED"'
|
|
SET_LED LED=neo_leds RED=0.5 GREEN=0 BLUE=0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% elif params.COLOR == 'BLUE'%}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=color VALUE='"BLUE"'
|
|
SET_LED LED=neo_leds RED=0 GREEN=0 BLUE=0.5 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% else %}
|
|
{% if var_restore == 'GREEN'%}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=color VALUE='"GREEN"'
|
|
SET_LED LED=neo_leds RED=0 GREEN=0.3 BLUE=0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% elif var_restore == 'RED'%}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=color VALUE='"RED"'
|
|
SET_LED LED=neo_leds RED=0.5 GREEN=0 BLUE=0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% elif var_restore == 'BLUE'%}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=color VALUE='"BLUE"'
|
|
SET_LED LED=neo_leds RED=0 GREEN=0 BLUE=0.5 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
[delayed_gcode _STATUS_LED_BLINK_DELAY]
|
|
gcode:
|
|
{% set var_color=printer["gcode_macro _STATUS_LED"].color %}
|
|
{% if printer["gcode_macro _STATUS_LED_BLINK_DELAY"].blank == 1 %}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=blank VALUE=0
|
|
SET_LED LED=neo_leds RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% else %}
|
|
SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=blank VALUE=1
|
|
{% if var_color == 'GREEN'%}
|
|
SET_LED LED=neo_leds RED=0.0 GREEN=0.3 BLUE=0.0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% elif var_color == 'RED'%}
|
|
SET_LED LED=neo_leds RED=0.5 GREEN=0.0 BLUE=0.0 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% elif var_color == 'BLUE'%}
|
|
SET_LED LED=neo_leds RED=0.0 GREEN=0.0 BLUE=0.5 INDEX=17 TRANSMIT=1 SYNC=0
|
|
{% endif %}
|
|
{% endif %}
|
|
UPDATE_DELAYED_GCODE ID=_STATUS_LED_BLINK_DELAY DURATION={printer["gcode_macro _STATUS_LED"].blink|float}
|