##################################################################### # Lighting Control ##################################################################### ## Neopixel interface [neopixel neo_status] pin: RGB chain_count: 17 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}