mirror of
https://github.com/arendst/Tasmota.git
synced 2025-11-27 11:47:45 +00:00
127 lines
4.2 KiB
Plaintext
127 lines
4.2 KiB
Plaintext
# Generated Berry code from Animation DSL
|
|
# Source: matrix_rain.anim
|
|
# Generated automatically
|
|
#
|
|
# This file was automatically generated by compile_all_examples.sh
|
|
# Do not edit manually - changes will be overwritten
|
|
|
|
# Original DSL source:
|
|
# # Matrix Rain - Digital rain effect
|
|
# # Green cascading code like The Matrix
|
|
#
|
|
# #strip length 60
|
|
#
|
|
# # Dark background
|
|
# color matrix_bg = 0x000000
|
|
# animation background = solid(color=matrix_bg, priority=50)
|
|
#
|
|
# # Define matrix green palette
|
|
# palette matrix_greens = [
|
|
# (0, 0x000000), # Black
|
|
# (64, 0x003300), # Dark green
|
|
# (128, 0x006600), # Medium green
|
|
# (192, 0x00AA00), # Bright green
|
|
# (255, 0x00FF00) # Neon green
|
|
# ]
|
|
#
|
|
# # Create multiple cascading streams
|
|
# color stream1_pattern = rich_palette(palette=matrix_greens, cycle_period=2s, transition_type=LINEAR, brightness=255)
|
|
# animation stream1 = comet_animation(
|
|
# color=stream1_pattern # color source
|
|
# tail_length=15 # long tail
|
|
# speed=1.5s # speed
|
|
# priority = 10
|
|
# )
|
|
#
|
|
#
|
|
# color stream2_pattern = rich_palette(palette=matrix_greens, cycle_period=1.8s, transition_type=LINEAR, brightness=200)
|
|
# animation stream2 = comet_animation(
|
|
# color=stream2_pattern # color source
|
|
# tail_length=12 # medium tail
|
|
# speed=2.2s # different speed
|
|
# priority = 8
|
|
# )
|
|
#
|
|
# color stream3_pattern = rich_palette(palette=matrix_greens, cycle_period=2.5s, transition_type=LINEAR, brightness=180)
|
|
# animation stream3 = comet_animation(
|
|
# color=stream3_pattern # color source
|
|
# tail_length=10 # shorter tail
|
|
# speed=1.8s # another speed
|
|
# priority = 6
|
|
# )
|
|
#
|
|
# # Add random bright flashes (like code highlights)
|
|
# animation code_flash = twinkle_animation(
|
|
# color=0x00FFAA # Bright cyan-green
|
|
# density=3 # density (few flashes)
|
|
# twinkle_speed=150ms # twinkle speed (quick flash)
|
|
# priority = 20
|
|
# )
|
|
#
|
|
# # Start all animations
|
|
# run background
|
|
# run stream1
|
|
# run stream2
|
|
# run stream3
|
|
# run code_flash
|
|
|
|
import animation
|
|
|
|
# Matrix Rain - Digital rain effect
|
|
# Green cascading code like The Matrix
|
|
#strip length 60
|
|
# Dark background
|
|
# Auto-generated strip initialization (using Tasmota configuration)
|
|
var engine = animation.init_strip()
|
|
|
|
var matrix_bg_ = 0xFF000000
|
|
var background_ = animation.solid(engine)
|
|
background_.color = matrix_bg_
|
|
background_.priority = 50
|
|
# Define matrix green palette
|
|
var matrix_greens_ = bytes("00000000" "40003300" "80006600" "C000AA00" "FF00FF00")
|
|
# Create multiple cascading streams
|
|
var stream1_pattern_ = animation.rich_palette(engine)
|
|
stream1_pattern_.palette = matrix_greens_
|
|
stream1_pattern_.cycle_period = 2000
|
|
stream1_pattern_.transition_type = animation.LINEAR
|
|
stream1_pattern_.brightness = 255
|
|
var stream1_ = animation.comet_animation(engine)
|
|
stream1_.color = stream1_pattern_ # color source
|
|
stream1_.tail_length = 15 # long tail
|
|
stream1_.speed = 1500 # speed
|
|
stream1_.priority = 10
|
|
var stream2_pattern_ = animation.rich_palette(engine)
|
|
stream2_pattern_.palette = matrix_greens_
|
|
stream2_pattern_.cycle_period = 1800
|
|
stream2_pattern_.transition_type = animation.LINEAR
|
|
stream2_pattern_.brightness = 200
|
|
var stream2_ = animation.comet_animation(engine)
|
|
stream2_.color = stream2_pattern_ # color source
|
|
stream2_.tail_length = 12 # medium tail
|
|
stream2_.speed = 2200 # different speed
|
|
stream2_.priority = 8
|
|
var stream3_pattern_ = animation.rich_palette(engine)
|
|
stream3_pattern_.palette = matrix_greens_
|
|
stream3_pattern_.cycle_period = 2500
|
|
stream3_pattern_.transition_type = animation.LINEAR
|
|
stream3_pattern_.brightness = 180
|
|
var stream3_ = animation.comet_animation(engine)
|
|
stream3_.color = stream3_pattern_ # color source
|
|
stream3_.tail_length = 10 # shorter tail
|
|
stream3_.speed = 1800 # another speed
|
|
stream3_.priority = 6
|
|
# Add random bright flashes (like code highlights)
|
|
var code_flash_ = animation.twinkle_animation(engine)
|
|
code_flash_.color = 0xFF00FFAA # Bright cyan-green
|
|
code_flash_.density = 3 # density (few flashes)
|
|
code_flash_.twinkle_speed = 150 # twinkle speed (quick flash)
|
|
code_flash_.priority = 20
|
|
# Start all animations
|
|
engine.add_animation(background_)
|
|
engine.add_animation(stream1_)
|
|
engine.add_animation(stream2_)
|
|
engine.add_animation(stream3_)
|
|
engine.add_animation(code_flash_)
|
|
engine.start()
|