2 Commits

Author SHA1 Message Date
f789e41cd1 Switch to colors list 2025-08-04 19:15:24 +12:00
2a7b5527a5 Move gc and wdt to function 2025-08-03 19:39:25 +12:00
3 changed files with 15 additions and 14 deletions

View File

@@ -25,7 +25,14 @@ async def main():
async def tick(): async def tick():
while True: while True:
patterns.tick() patterns.tick()
await asyncio.sleep_ms(1) await asyncio.sleep_ms(0)
async def system():
while True:
gc.collect()
for i in range(60):
wdt.feed()
await asyncio.sleep(1)
w = web(settings, patterns) w = web(settings, patterns)
print(settings) print(settings)
@@ -37,14 +44,9 @@ async def main():
asyncio.create_task(tick()) asyncio.create_task(tick())
asyncio.create_task(p2p(settings, patterns)) asyncio.create_task(p2p(settings, patterns))
asyncio.create_task(system())
while True:
#print(time.localtime())
gc.collect()
for i in range(20):
wdt.feed()
await asyncio.sleep_ms(1000)
# cleanup before ending the application # cleanup before ending the application
await server await server

View File

@@ -16,14 +16,13 @@ class Settings(dict):
self["led_pin"] = 10 self["led_pin"] = 10
self["num_leds"] = 50 self["num_leds"] = 50
self["pattern"] = "on" self["pattern"] = "on"
self["color1"] = "#00ff00"
self["color2"] = "#ff0000"
self["delay"] = 100 self["delay"] = 100
self["brightness"] = 10 self["brightness"] = 10
self["color_order"] = "rgb" self["color_order"] = "rgb"
self["name"] = f"led-{ubinascii.hexlify(wifi.get_mac()).decode()}" self["name"] = f"led-{ubinascii.hexlify(wifi.get_mac()).decode()}"
self["ap_password"] = "" self["ap_password"] = ""
self["id"] = 0 self["id"] = 0
self["colors"] = [("#00ff00"),("#ff0000")]
def save(self): def save(self):
try: try:
@@ -56,9 +55,9 @@ class Settings(dict):
buff.append(tuple(int(color[i:i+2], 16) for i in self.color_order)) buff.append(tuple(int(color[i:i+2], 16) for i in self.color_order))
patterns.set_colors(buff) patterns.set_colors(buff)
elif key == "color1": elif key == "color1":
patterns.set_color1(tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB patterns.set_color(0, tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB
elif key == "color2": elif key == "color2":
patterns.set_color2(tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB patterns.set_color(1, tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB
elif key == "num_leds": elif key == "num_leds":
patterns.update_num_leds(self["led_pin"], value) patterns.update_num_leds(self["led_pin"], value)
elif key == "pattern": elif key == "pattern":
@@ -86,7 +85,7 @@ class Settings(dict):
return "Invalid key", 400 return "Invalid key", 400
self[key] = value self[key] = value
#print(self) #print(self)
patterns.sync() # patterns.sync()
if save: if save:
self.save() self.save()
return "OK", 200 return "OK", 200

View File

@@ -51,7 +51,7 @@
type="color" type="color"
id="color" id="color"
name="color" name="color"
value="{{settings['color1']}}" value="{{settings['colors'][0]}}"
/> />
</form> </form>
<form id="color2_form" method="post" action="/color2"> <form id="color2_form" method="post" action="/color2">
@@ -59,7 +59,7 @@
type="color" type="color"
id="color2" id="color2"
name="color2" name="color2"
value="{{settings['color2']}}" value="{{settings['colors'][1]}}"
/> />
</form> </form>
</div> </div>