#####
# DO NOT EDIT THIS FILE DIRECTLY
# This file is under version control
# Instead create a new file for your custom macros
#######

[gcode_macro SET_LEDCONTROL]
# Usage: 
# Select a preset (defined in web interface) by name with:
#
# SET_LEDCONTROL PRESET="my_preset"
#
# or set the pattern and parameters directly for a LED group (default group is "main"):
#
# SET_LEDCONTROL GROUP="main" BRIGHTNESS=0.7 SATURATION=0.5 PATTERN=0 SCALE=0.2 SPEED=0.4 PALETTE=0
#
# You can also set global saturation and brightness (for all LEDs) with:
# SET_LEDCONTROL GLOBAL_BRIGHTNESS=1.0 GLOBAL_SATURATION=1.0
#
# Built-in Patterns:
# 0: Static Color
# 1: Static White
# 2: Static Gradient 1D
# 3: Static Gradient Mirrored 1D
# 6: Twinkle Gradient 1D
# 7: Twinkle White 1D
# 100: Palette Cycle 1D
# 110: Palette Cycle Mirrored 1D
# 112: Palette Cycle Wipe 1D
# 114: Palette Cycle Wipe From Center 1D
# 120: Palette Cycle Quantized 1D
# 130: Palette Cycle Random 1D
# 140: Palette Scan Mirrored 1D
# 141: Palette Bounce Mirrored 1D
# 150: Palette Waves 1D
# 160: Palette Ripples 1D
# 161: Palette Ripples (Fast Cycle) 1D
# 170: Palette Plasma 2D
# 180: Palette Fractal Plasma 2D
# 190: Palette Twinkle 1D
# 200: Palette Perlin Noise 2D
# 210: Palette fBm Noise 2D
# 310: Hue Cycle 1D
# 320: Hue Cycle Quantized 1D
# 330: Hue Scan 1D
# 331: Hue Bounce 1D
# 340: Hue Waves 1D
# 350: Hue Ripples 1D
# 400: RGB Sines 1D
# 410: RGB Cubics 1D
# 420: RGB Ripples 1D
# 430: RGB Plasma (Spectrum Sines) 2D
# 440: RGB Plasma (Fire Sines) 2D
# 450: RGB Fractal Plasma (Fire Sines) 2D

# Built-in Palettes:
# 0: Malibu
# 20: Miami
# 50: Twilight 1
# 51: Twilight 2
# 60: Tropical 1
# 61: Tropical 2
# 70: Anaglyph
# 80: Lemonbars
# 90: Birefringence
# 100: City Lights 1
# 101: City Lights 2
# 102: City Lights 3
# 200: Sky Blue
# 210: Blurple
# 220: Winter
# 230: Nebula
# 240: Hot Pink
# 250: Light Pink
# 260: Peach
# 270: Summer
# 280: Red Orange
# 290: Golden Hour
# 500: Spectrum

gcode:
    {action_call_remote_method("set_led", 
        preset = params.PRESET|default(""),
        group = params.GROUP|default("main"),
        brightness=params.BRIGHTNESS|default(""), 
        saturation=params.SATURATION|default(""), 
        pattern=params.PATTERN|default(""), 
        speed=params.SPEED|default(""), 
        scale=params.SCALE|default(""), 
        palette=params.PALETTE|default(""),
        global_brightness=params.GLOBAL_BRIGHTNESS|default(""), 
        global_saturation=params.GLOBAL_SATURATION|default(""), 
        )}