Big overhawl of neopixels; test in progress.

This commit is contained in:
Zach Schimke 2021-08-18 14:46:31 -07:00
parent 26d3b1c1a3
commit 95a8abd22a
1 changed files with 64 additions and 86 deletions

View File

@ -6,30 +6,55 @@
[neopixel neo_leds] [neopixel neo_leds]
pin: RGB pin: RGB
chain_count: 17 chain_count: 17
color_order: RGBW color_order: GRBW
initial_RED: 0.0 initial_RED: 0.0
initial_GREEN: 0.0 initial_GREEN: 0.0
initial_BLUE: 0.0 initial_BLUE: 0.0
initial_WHITE: 0.5 initial_WHITE: 0.1
##################################################################### #####################################################################
# Macros # Macros
##################################################################### #####################################################################
[gcode_macro _SET_CASELIGHT] [gcode_macro _VAR_LEDS]
# use SET_CASELIGHT S0 to switch off variable_colors: { 'red': (1.0, 0.0, 0.0, 0.0),
# use SET_Caselight S100 for full brightness 'orange': (1.0, 0.5, 0.0, 0.0),
default_parameter_BLINK: 0 'yellow': (1.0, 1.0, 0.0, 0.0),
default_parameter_S: 0 'charteuse': (0.5, 1.0, 0.0, 0.0),
variable_color: 'WHITE' 'green': (0.0, 1.0, 0.0, 0.0),
variable_restore: 'WHITE' 'turquiose': (0.0, 1.0, 0.5, 0.0),
variable_index: 2 'springgreen': (0.0, 1.0, 0.5, 0.0),
variable_blink: 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)}
gcode: gcode:
{% if params.COLOR == 'WHITE'%}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"GREEN"'
SET_LED LED=neo_leds RED=0 GREEN=0 BLUE=0 WHITE={% S / 100 %} INDEX=3 TRANSMIT=1
SET_PIN PIN=_caselight VALUE={S} [gcode_macro _SET_LEDS]
default_parameter_color: 'WHITE'
default_parameter_index: (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
gcode:
# Grab the color values
{% set R=printer["gcode_macro _VAR_LEDS"].colors.[params.COLOR][0] %}
{% set G=printer["gcode_macro _VAR_LEDS"].colors.[params.COLOR][1] %}
{% set B=printer["gcode_macro _VAR_LEDS"].colors.[params.COLOR][2] %}
{% set W=printer["gcode_macro _VAR_LEDS"].colors.[params.COLOR][3] %}
{% for I in index %}
SET_LED LED=neo_leds RED={R} GREEN={G} BLUE={B} WHITE={W} INDEX={I} TRANSMIT={{ loop.last }} SYNC=0
{% endfor %}
[gcode_macro _CASELIGHT]
default_parameter_COLOR: 'WHITE'
variable_index: (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
gcode:
_SET_LED color={COLOR} index={var_index}
[gcode_macro _caselight_state] [gcode_macro _caselight_state]
gcode: gcode:
@ -38,13 +63,13 @@ gcode:
[gcode_macro _CASELIGHT_ON] [gcode_macro _CASELIGHT_ON]
gcode: gcode:
SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"on"' SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"on"'
_SET_CASELIGHT S=60 _CASELIGHT
_caselight_state _caselight_state
[gcode_macro _CASELIGHT_OFF] [gcode_macro _CASELIGHT_OFF]
gcode: gcode:
SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"off"' SET_GCODE_VARIABLE MACRO=CASELIGHT VARIABLE=state VALUE='"off"'
_SET_CASELIGHT S=0 _CASELIGHT color='"off"'
_caselight_state _caselight_state
[gcode_macro CASELIGHT] [gcode_macro CASELIGHT]
@ -56,86 +81,39 @@ gcode:
_CASELIGHT_OFF _CASELIGHT_OFF
{% endif %} {% endif %}
[delayed_gcode _STATUS_LED_INIT]
[delayed_gcode _LCD_INIT_KNOB]
initial_duration: 1 initial_duration: 1
gcode: gcode:
_LCD_KNOB COLOR=RED _STATUS_LED COLOR=BLUE
[delayed_gcode _LCD_INIT_OFF] [gcode_macro _STATUS_LED]
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 default_parameter_BLINK: 0
variable_color: 'GREEN' variable_color: 'ORANGE'
variable_restore: 'GREEN' variable_restore: 'GREEN'
variable_index: 2 variable_index: 17
variable_blink: 0 variable_blinkNext: 0
gcode: gcode:
{% set var_color=printer["gcode_macro _LCD_KNOB"].color %} {% set var_color=printer["gcode_macro _STATUS_LED"].color %}
{% set var_restore=printer["gcode_macro _LCD_KNOB"].restore %} {% set var_restore=printer["gcode_macro _STATUS_LED"].restore %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=blink VALUE={BLINK} SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=blink VALUE={BLINK}
UPDATE_DELAYED_GCODE ID=_BLINK_DELAY DURATION={BLINK|float} UPDATE_DELAYED_GCODE ID=_STATUS_LED_BLINK_DELAY DURATION={BLINK|float}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=restore VALUE='"{var_color}"' SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=restore VALUE='"{var_color}"'
{% if params.COLOR == 'GREEN'%} {% if params.COLOR %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=color VALUE='"GREEN"' _SET_LED color={COLOR} index={var_index}
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 %} {% else %}
{% if var_restore == 'GREEN'%} _SET_LED color={var_restore} index={var_index}
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 %} {% endif %}
[delayed_gcode _BLINK_DELAY] [delayed_gcode _STATUS_LED_BLINK_DELAY]
gcode: gcode:
{% set var_color=printer["gcode_macro _LCD_KNOB"].color %} {% set var_color=printer["gcode_macro _STATUS_LED"].color %}
{% if printer["gcode_macro _LCD_KNOB"].index|int == 2 %} {% if printer["gcode_macro _STATUS_LED"].blinkNext|int == 0 %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=index VALUE=3 SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=blinkNext VALUE=1
{% if var_color == 'GREEN'%} STATUS_LED color={COLOR}
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 %} {% else %}
SET_GCODE_VARIABLE MACRO=_LCD_KNOB VARIABLE=index VALUE=2 SET_GCODE_VARIABLE MACRO=_STATUS_LED VARIABLE=blinkNext VALUE=0
{% if var_color == 'GREEN'%} _STATUS_LED color='off'
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 %} {% endif %}
UPDATE_DELAYED_GCODE ID=_BLINK_DELAY DURATION={printer["gcode_macro _LCD_KNOB"].blink|float} UPDATE_DELAYED_GCODE ID=_BLINK_DELAY DURATION={printer["gcode_macro _STATUS_LED"].blink|float}