Rename patterns module to presets

Rename the driver module and update imports so tests and main entry use the new presets naming, while moving Preset to its own file.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-07 11:40:04 +13:00
parent f35d8f7084
commit 43957adb28
14 changed files with 253 additions and 225 deletions

View File

@@ -2,7 +2,7 @@
import utime
from machine import WDT
from settings import Settings
from patterns import Patterns
from presets import Presets
def run_for(p, wdt, ms):
@@ -19,17 +19,17 @@ def main():
pin = s.get("led_pin", 10)
num = s.get("num_leds", 30)
p = Patterns(pin=pin, num_leds=num)
p = Presets(pin=pin, num_leds=num)
wdt = WDT(timeout=10000)
# Test 1: Basic rainbow with auto=True (continuous)
print("Test 1: Basic rainbow (auto=True, n1=1)")
p.edit("rainbow1", {
"pattern": "rainbow",
"brightness": 255,
"delay": 100,
"p": "rainbow",
"b": 255,
"d": 100,
"n1": 1,
"auto": True
"a": True,
})
p.select("rainbow1")
run_for(p, wdt, 3000)
@@ -37,10 +37,10 @@ def main():
# Test 2: Fast rainbow
print("Test 2: Fast rainbow (low delay, n1=1)")
p.edit("rainbow2", {
"pattern": "rainbow",
"delay": 50,
"p": "rainbow",
"d": 50,
"n1": 1,
"auto": True
"a": True,
})
p.select("rainbow2")
run_for(p, wdt, 2000)
@@ -48,10 +48,10 @@ def main():
# Test 3: Slow rainbow
print("Test 3: Slow rainbow (high delay, n1=1)")
p.edit("rainbow3", {
"pattern": "rainbow",
"delay": 500,
"p": "rainbow",
"d": 500,
"n1": 1,
"auto": True
"a": True,
})
p.select("rainbow3")
run_for(p, wdt, 3000)
@@ -59,11 +59,11 @@ def main():
# Test 4: Low brightness rainbow
print("Test 4: Low brightness rainbow (n1=1)")
p.edit("rainbow4", {
"pattern": "rainbow",
"brightness": 64,
"delay": 100,
"p": "rainbow",
"b": 64,
"d": 100,
"n1": 1,
"auto": True
"a": True,
})
p.select("rainbow4")
run_for(p, wdt, 2000)
@@ -71,11 +71,11 @@ def main():
# Test 5: Single-step rainbow (auto=False)
print("Test 5: Single-step rainbow (auto=False, n1=1)")
p.edit("rainbow5", {
"pattern": "rainbow",
"brightness": 255,
"delay": 100,
"p": "rainbow",
"b": 255,
"d": 100,
"n1": 1,
"auto": False
"a": False,
})
p.step = 0
for i in range(10):
@@ -88,9 +88,9 @@ def main():
# Test 6: Verify step updates correctly
print("Test 6: Verify step updates (auto=False, n1=1)")
p.edit("rainbow6", {
"pattern": "rainbow",
"p": "rainbow",
"n1": 1,
"auto": False
"a": False,
})
initial_step = p.step
p.select("rainbow6")
@@ -101,11 +101,11 @@ def main():
# Test 7: Fast step increment (n1=5)
print("Test 7: Fast rainbow (n1=5, auto=True)")
p.edit("rainbow7", {
"pattern": "rainbow",
"brightness": 255,
"delay": 100,
"p": "rainbow",
"b": 255,
"d": 100,
"n1": 5,
"auto": True
"a": True,
})
p.select("rainbow7")
run_for(p, wdt, 2000)
@@ -113,9 +113,9 @@ def main():
# Test 8: Very fast step increment (n1=10)
print("Test 8: Very fast rainbow (n1=10, auto=True)")
p.edit("rainbow8", {
"pattern": "rainbow",
"p": "rainbow",
"n1": 10,
"auto": True
"a": True,
})
p.select("rainbow8")
run_for(p, wdt, 2000)
@@ -123,9 +123,9 @@ def main():
# Test 9: Verify n1 controls step increment (auto=False)
print("Test 9: Verify n1 step increment (auto=False, n1=5)")
p.edit("rainbow9", {
"pattern": "rainbow",
"p": "rainbow",
"n1": 5,
"auto": False
"a": False,
})
p.step = 0
initial_step = p.step
@@ -141,7 +141,7 @@ def main():
# Cleanup
print("Test complete, turning off")
p.edit("cleanup_off", {"pattern": "off"})
p.edit("cleanup_off", {"p": "off"})
p.select("cleanup_off")
run_for(p, wdt, 100)