VoronV0_klipper/caselight.cfg

136 lines
5.0 KiB
INI

#####################################################################
# Lighting Control
#####################################################################
## Neopixel interface
[neopixel neo_status]
pin: RGB
chain_count: 1
#chain_count: 17
color_order: RGB
#color_order: RGBW
initial_RED: 0.1
initial_GREEN: 0.5
initial_BLUE: 0.0
#initial_WHITE: 0.0
#####################################################################
# Macros
#####################################################################
[gcode_macro _SET_CASELIGHT]
# use SET_CASELIGHT S0 to switch off
# use SET_Caselight S100 for full brightness
default_parameter_S: 0
gcode:
SET_PIN PIN=_caselight VALUE={S}
[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"'
_SET_CASELIGHT S=60
_caselight_state
[gcode_macro _CASELIGHT_OFF]
gcode:
SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"off"'
_SET_CASELIGHT S=0
_caselight_state
[gcode_macro CASELIGHT]
variable_state: 'off'
gcode:
{%if printer['output_pin _caselight'].value == 0 %}
_CASELIGHT_ON
{% else %}
_CASELIGHT_OFF
{% endif %}
[delayed_gcode _LCD_INIT_KNOB]
initial_duration: 1
gcode:
_LCD_KNOB COLOR=RED
[delayed_gcode _LCD_INIT_OFF]
initial_duration: 10
gcode:
SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"off"'
SET_LED LED=neo_display RED=0 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=1
[gcode_macro _LCD_KNOB]
default_parameter_BLINK: 0
variable_color: 'GREEN'
variable_restore: 'GREEN'
variable_index: 2
variable_blink: 0
gcode:
{% set var_color=printer["gcode_macro _LCD_KNOB"].color %}
{% set var_restore=printer["gcode_macro _LCD_KNOB"].restore %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=blink VALUE={BLINK}
UPDATE_DELAYED_GCODE ID=_BLINK_DELAY DURATION={BLINK|float}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=restore VALUE='"{var_color}"'
{% if params.COLOR == 'GREEN'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"GREEN"'
SET_LED LED=neo_display RED=0 GREEN=0.3 BLUE=0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0 GREEN=0.3 BLUE=0 INDEX=3 TRANSMIT=1
{% elif params.COLOR == 'RED'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"RED"'
SET_LED LED=neo_display RED=0.5 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.5 GREEN=0 BLUE=0 INDEX=3 TRANSMIT=1
{% elif params.COLOR == 'BLUE'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"BLUE"'
SET_LED LED=neo_display RED=0 GREEN=0 BLUE=0.5 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0 GREEN=0 BLUE=0.5 INDEX=3 TRANSMIT=1
{% else %}
{% if var_restore == 'GREEN'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"GREEN"'
SET_LED LED=neo_display RED=0 GREEN=0.3 BLUE=0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0 GREEN=0.3 BLUE=0 INDEX=3 TRANSMIT=1
{% elif var_restore == 'RED'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"RED"'
SET_LED LED=neo_display RED=0.5 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.5 GREEN=0 BLUE=0 INDEX=3 TRANSMIT=1
{% elif var_restore == 'BLUE'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"BLUE"'
SET_LED LED=neo_display RED=0 GREEN=0 BLUE=0.5 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0 GREEN=0 BLUE=0.5 INDEX=3 TRANSMIT=1
{% endif %}
{% endif %}
[delayed_gcode _BLINK_DELAY]
gcode:
{% set var_color=printer["gcode_macro _LCD_KNOB"].color %}
{% if printer["gcode_macro _LCD_KNOB"].index|int == 2 %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=index VALUE=3
{% if var_color == 'GREEN'%}
SET_LED LED=neo_display RED=0.0 GREEN=0.3 BLUE=0.0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=3 TRANSMIT=1
{% elif var_color == 'RED'%}
SET_LED LED=neo_display RED=0.5 GREEN=0.0 BLUE=0.0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=3 TRANSMIT=1
{% elif var_color == 'BLUE'%}
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.5 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=3 TRANSMIT=1
{% endif %}
{% else %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=index VALUE=2
{% if var_color == 'GREEN'%}
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.0 GREEN=0.3 BLUE=0.0 INDEX=3 TRANSMIT=1
{% elif var_color == 'RED'%}
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.5 GREEN=0.0 BLUE=0.0 INDEX=3 TRANSMIT=1
{% elif var_color == 'BLUE'%}
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.0 INDEX=2 TRANSMIT=0
SET_LED LED=neo_display RED=0.0 GREEN=0.0 BLUE=0.5 INDEX=3 TRANSMIT=1
{% endif %}
{% endif %}
UPDATE_DELAYED_GCODE ID=_BLINK_DELAY DURATION={printer["gcode_macro _LCD_KNOB"].blink|float}