Set range of pixels to single color
-Set the color of a selection of LED’s in a neopixel string. Sets the color of LEDs from position INDEX to INDEX+COUNT to the color submitted.
[gcode_macro SET_LED_LENGTH]
description: SET_LED_LENGTH LED=<config_name> RED=<value> GREEN=<value> BLUE=<value> WHITE=<value> INDEX=<indexToStart> COUNT=<numberOfPixels>
gcode:
{% set ledName= params.LED|default(0)|string %}
{% set colorRed= params.RED|default(0)|float %}
{% set colorGreen= params.GREEN|default(0)|float %}
{% set colorBlue= params.BLUE|default(0)|float %}
{% set colorWhite= params.WHITE|default(0)|float %}
{% set indexCount= params.INDEX|default(0)|int %}
{% set pixelCount= params.COUNT|default(0)|int %}
{% for index in range(indexCount,indexCount + pixelCount) %}
SET_LED LED={ledName} RED={colorRed} GREEN={colorGreen} BLUE={colorBlue} WHITE={colorWhite} INDEX={index} TRANSMIT={ '1' if index==(indexCount+pixelCount-1) else '0' }
{% endfor %}
Update Idle_timout with Hours Minutes and Seconds
-Takes in hours, minutes, and seconds and converts it to seconds for an easy way to update idle_timeout.
[gcode_macro UPDATE_IDLE_TIMEOUT]
description: Send `UPDATE_IDLE_TIMEOUT [H=<value>] [M=<value>] [S=<value>] ` to set the Hours, Minutes, and Seconds for Idle_Timout. Passing no paramaters will return it to the config default value.
gcode:
{% set Hours = params.H|default(0)|int %}
{% set Minutes = params.M|default(0)|int %}
{% set Seconds = params.S|default(0)|int %}
{% set DEFAULT = printer.configfile.settings.idle_timeout.timeout|int %}
{% set TIME = ((Hours*3600) + (Minutes*60) + (Seconds))|int %}
{% if TIME == 0 %} # No time was entered
{% set TIME = DEFAULT %}
{% endif %}
set_idle_timeout timeout={TIME|int}
Delay command with hours, minutes, and seconds.
-Takes in hours, minutes, and seconds and converts it to millisceonds for an easy way to delay an exact time.
[gcode_macro DELAY]
description: Send `DELAY [H=<value>] [M=<value>] [S=<value>] [P=<value>] ` to set the Hours, Minutes, and Seconds for a delay. Passing no paramaters will not have any delay.
gcode:
{% set Hours = params.H|default(0)|int %}
{% set Minutes = params.M|default(0)|int %}
{% set Seconds = params.S|default(0)|int %}
{% set Milliseconds = params.P|default(0)|int %}
{% set TIME = (((Hours*3600) + (Minutes*60) + (Seconds))*1000)+Milliseconds|int %}
{action_respond_info('Delaying for {} milliseconds'.format(TIME))}
G4 P{TIME}