mirror of
https://github.com/arendst/Tasmota.git
synced 2025-12-10 18:17:56 +00:00
107 lines
3.3 KiB
Plaintext
107 lines
3.3 KiB
Plaintext
# Generated Berry code from Animation DSL
|
|
# Source: scanner_larson.anim
|
|
# Generated automatically
|
|
#
|
|
# This file was automatically generated by compile_all_examples.sh
|
|
# Do not edit manually - changes will be overwritten
|
|
|
|
# Original DSL source:
|
|
# # Scanner (Larson) - Knight Rider style scanner
|
|
# # Red dot bouncing back and forth
|
|
#
|
|
# #strip length 60
|
|
#
|
|
# # Dark background
|
|
# color scanner_bg = 0x110000
|
|
# animation background = solid(color=scanner_bg)
|
|
#
|
|
# # Main scanner pulse that bounces
|
|
# animation scanner = beacon_animation(
|
|
# color=0xFF0000, # Bright red
|
|
# pos=2, # initial position
|
|
# beacon_size=3, # pulse width
|
|
# slew_size=2 # fade region
|
|
# )
|
|
# scanner.priority = 10
|
|
#
|
|
# # Bouncing position from left to right and back
|
|
# scanner.pos = triangle(min_value=2, max_value=57, duration=2s)
|
|
#
|
|
# # Add trailing glow effect
|
|
# animation scanner_trail = beacon_animation(
|
|
# color=0x660000, # Dim red trail
|
|
# pos=2, # initial position
|
|
# beacon_size=6, # wider trail
|
|
# slew_size=4 # more fade
|
|
# )
|
|
# scanner_trail.priority = 5
|
|
# set pos_test = triangle(min_value=2, max_value=57, duration=2s)
|
|
# scanner_trail.pos = pos_test
|
|
# scanner_trail.opacity = 128 # Half brightness
|
|
#
|
|
# # Start all animations
|
|
# run background
|
|
# run scanner_trail
|
|
# run scanner
|
|
|
|
import animation
|
|
|
|
# Scanner (Larson) - Knight Rider style scanner
|
|
# Red dot bouncing back and forth
|
|
#strip length 60
|
|
# Dark background
|
|
# Auto-generated strip initialization (using Tasmota configuration)
|
|
var engine = animation.init_strip()
|
|
|
|
var scanner_bg_ = 0xFF110000
|
|
var background_ = animation.solid(engine)
|
|
background_.color = animation.global('scanner_bg_', 'scanner_bg')
|
|
# Main scanner pulse that bounces
|
|
var scanner_ = animation.beacon_animation(engine)
|
|
scanner_.color = 0xFFFF0000
|
|
scanner_.pos = 2
|
|
scanner_.beacon_size = 3
|
|
scanner_.slew_size = 2 # fade region
|
|
animation.global('scanner_').priority = 10
|
|
# Bouncing position from left to right and back
|
|
var temp_triangle_73 = animation.triangle(engine)
|
|
temp_triangle_73.min_value = 2
|
|
temp_triangle_73.max_value = 57
|
|
temp_triangle_73.duration = 2000
|
|
animation.global('scanner_').pos = temp_triangle_73
|
|
# Add trailing glow effect
|
|
var scanner_trail_ = animation.beacon_animation(engine)
|
|
scanner_trail_.color = 0xFF660000
|
|
scanner_trail_.pos = 2
|
|
scanner_trail_.beacon_size = 6
|
|
scanner_trail_.slew_size = 4 # more fade
|
|
animation.global('scanner_trail_').priority = 5
|
|
var temp_triangle_131 = animation.triangle(engine)
|
|
temp_triangle_131.min_value = 2
|
|
temp_triangle_131.max_value = 57
|
|
temp_triangle_131.duration = 2000
|
|
var pos_test_ = temp_triangle_131
|
|
animation.global('scanner_trail_').pos = animation.global('pos_test_', 'pos_test')
|
|
animation.global('scanner_trail_').opacity = 128 # Half brightness
|
|
# Start all animations
|
|
# Start all animations/sequences
|
|
if global.contains('sequence_background')
|
|
var seq_manager = global.sequence_background()
|
|
engine.add_sequence_manager(seq_manager)
|
|
else
|
|
engine.add_animation(animation.global('background_'))
|
|
end
|
|
if global.contains('sequence_scanner_trail')
|
|
var seq_manager = global.sequence_scanner_trail()
|
|
engine.add_sequence_manager(seq_manager)
|
|
else
|
|
engine.add_animation(animation.global('scanner_trail_'))
|
|
end
|
|
if global.contains('sequence_scanner')
|
|
var seq_manager = global.sequence_scanner()
|
|
engine.add_sequence_manager(seq_manager)
|
|
else
|
|
engine.add_animation(animation.global('scanner_'))
|
|
end
|
|
engine.start()
|