5 Commits

Author SHA1 Message Date
topsinoty
750f1100a6 refactor: read the code and remake to match DiskoPidu 2026-01-02 02:36:11 +02:00
topsinoty
ffa77db057 use _lm.tempo and set sleep to 0 2025-12-21 16:10:41 +02:00
topsinoty
a71201d90a change to pascal case. 2025-12-21 16:01:37 +02:00
topsinoty
d811b853a1 change lib source to module 2025-12-21 15:54:53 +02:00
topsinoty
6d9c4b2f33 add generated christmas lights 2025-12-21 15:31:39 +02:00
14 changed files with 57 additions and 57 deletions

View File

@@ -1,7 +1,7 @@
from pyleds.lib.Config import Config
from pyleds.lib.LoopSwitch import LoopSwitch
from pyleds.lib.Regions import Regions
from pyleds.lib.Tempo import Tempo
from lib.Config import Config
from lib.LoopSwitch import LoopSwitch
from lib.Regions import Regions
from lib.Tempo import Tempo
class Litsimaja(object):

View File

@@ -1,5 +1,5 @@
from pyleds.lib.Litsimaja import Litsimaja
from pyleds.lib.LoopSwitch import LoopSwitch
from lib.Litsimaja import Litsimaja
from lib.LoopSwitch import LoopSwitch
class Program:

View File

@@ -1,6 +1,6 @@
from os import scandir
from pyleds.lib.Litsimaja import Litsimaja
from pyleds.lib.Program import Program
from lib.Litsimaja import Litsimaja
from lib.Program import Program
def resolve(namespace: str, class_name: str):

View File

@@ -1,5 +1,5 @@
import atexit
from pyleds.lib.Color import Color
from lib.Color import Color
class _LedData(object):

View File

@@ -1,7 +1,7 @@
from threading import Thread
from tkinter import Tk, Label
from FakeStrip import FakeStrip
from pyleds.lib.Color import Color_to_list
from .FakeStrip import FakeStrip
from lib.Color import Color_to_list
from time import sleep
import numpy as np
from PIL import Image, ImageTk

View File

@@ -1,6 +1,6 @@
from threading import Thread
from tkinter import Tk, Canvas
from pyleds.lib.strip.FakeStrip import FakeStrip
from lib.strip.FakeStrip import FakeStrip
import time

View File

@@ -2,7 +2,7 @@
# Ported by Peter
# Palun!
from pyleds.lib.Program import Program
from lib.Program import Program
import time
import random

View File

@@ -3,7 +3,7 @@
# Mis m6tted tulevad kui kuuled "MegaMix"?
# m6tlen et millal jooma saaks hakata
from pyleds.lib.Program import Program
from lib.Program import Program
import time
import random

View File

@@ -0,0 +1,38 @@
from lib.Program import Program
from rpi_ws281x import Color
import time
def name():
return 'Christmas Lights'
class ChristmasLights(Program):
def christmas_pattern(self, offset, segment_length=2):
RED = Color(255, 0, 0)
GREEN = Color(0, 255, 0)
WARM_WHITE = Color(200, 180, 60)
colors = [RED, GREEN, WARM_WHITE]
totalLength = self._lm.count_pixels()
for i in range(totalLength):
color_index = ((i + offset) // segment_length) % len(colors)
self._lm.set_pixel_color(i, colors[color_index])
self._lm.show()
return len(colors) * segment_length
def run(self, args=None):
# Fsr the application in the run file is different from
# the configuration in the Program and ProgramLoading files
loop = args.get("loop", False) if args else False
offset = 0
segment_length = 2
while self.get_loop().status():
self._lm.get_tempo().wait()
cycle_limit = self.christmas_pattern(offset, segment_length)
offset = (offset + 1) % cycle_limit
if not loop:
break

View File

@@ -1,38 +0,0 @@
from pyleds.lib.Program import Program
from rpi_ws281x import Color
import time
def name():
return 'Christmas Lights'
class Christmas(Program):
def run(self, args: [] = None):
# Configuration
wait_ms = 100 # Speed of the animation
# Define classic festive colors
RED = Color(255, 0, 0)
GREEN = Color(0, 255, 0)
WARM_WHITE = Color(200, 180, 60) # A golden-ish warm white
colors = [RED, GREEN, WARM_WHITE]
# This determines how many pixels of the same color are next to each other
group_size = 2
offset = 0
while self.get_loop().status():
num_pixels = self._lm.count_pixels()
for i in range(num_pixels):
# Calculate which color index to use based on pixel position and current offset
# This creates the "moving" effect
color_index = ((i + offset) // group_size) % len(colors)
self._lm.set_pixel_color(i, colors[color_index])
self._lm.show()
# Increment offset to move the lights
offset = (offset + 1) % (len(colors) * group_size)
time.sleep(wait_ms / 1000.0)

View File

@@ -1,4 +1,4 @@
from pyleds.lib.Program import Program
from lib.Program import Program
from rpi_ws281x import Color
import time

View File

@@ -1,4 +1,4 @@
from pyleds.lib.Program import Program
from lib.Program import Program
import time

View File

@@ -1,4 +1,4 @@
from pyleds.lib.Program import Program
from lib.Program import Program
def name():

View File

@@ -1,5 +1,5 @@
from pyleds.lib.Program import Program
from pyleds.lib.Litsimaja import Litsimaja
from lib.Program import Program
from lib.Litsimaja import Litsimaja
def Color(red, green, blue):