Add pattern tests

This commit is contained in:
2025-11-20 18:11:54 +13:00
parent 3dae9363e7
commit 4dacd8ca38
4 changed files with 395 additions and 26 deletions

View File

@@ -1,45 +1,55 @@
#!/usr/bin/env python3
import utime
import uasyncio as asyncio
from machine import WDT
from settings import Settings
from patterns import Patterns
def run():
async def main():
s = Settings()
pin = s.get("led_pin", 10)
num = s.get("num_leds", 30)
p = Patterns(pin=pin, num_leds=num)
wdt = WDT(timeout=10000)
p.load()
print(p)
p.save()
# print(p)
# Baseline params
p.set_param("br", 64)
p.set_param("dl", 500)
p.set_param("cl", [(255, 0, 0), (0, 0, 255)])
p.set_param("n1", 200)
p.set_param("n2", 200)
p.set_param("n3", 1)
p.set_param("n4", 1)
for name, fn in p.patterns.items():
if fn is None:
continue
print(name)
p.set_param("pt", name)
start = utime.ticks_ms()
while utime.ticks_diff(utime.ticks_ms(), start) < 2000:
p.tick()
wdt.feed()
utime.sleep_ms(10)
# wdt = WDT(timeout=10000)
p.set_param("pt", "off")
p.tick()
utime.sleep_ms(200)
# # Baseline params
# p.set_param("br", 64)
# p.set_param("dl", 500)
# p.set_param("cl", [(255, 0, 0), (0, 0, 255)])
# p.set_param("n1", 200)
# p.set_param("n2", 200)
# p.set_param("n3", 1)
# p.set_param("n4", 1)
# for name, fn in p.patterns.items():
# if fn is None:
# continue
# print(name)
# p.set_param("pt", name)
# task = asyncio.create_task(p.run())
# end = asyncio.get_event_loop().time() + 2.0
# while asyncio.get_event_loop().time() < end:
# wdt.feed()
# await asyncio.sleep_ms(10)
# p.stopped = True
# await task
# p.stopped = False
# p.set_param("pt", "off")
# task = asyncio.create_task(p.run())
# await asyncio.sleep_ms(200)
# p.stopped = True
# await task
if __name__ == "__main__":
run()
asyncio.run(main())