From d82fd9e47c255b3baccc259e739936c6e4872684 Mon Sep 17 00:00:00 2001 From: jimmy Date: Sun, 8 Feb 2026 19:39:29 +1300 Subject: [PATCH] Persist global brightness settings. Co-authored-by: Cursor --- src/main.py | 8 ++++++++ src/settings.py | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main.py b/src/main.py index 56d77ec..c88b981 100644 --- a/src/main.py +++ b/src/main.py @@ -1,6 +1,7 @@ from settings import Settings from machine import WDT from espnow import ESPNow +import utime import network from presets import Presets from utils import convert_and_reorder_colors @@ -11,6 +12,7 @@ print(settings) presets = Presets(settings["led_pin"], settings["num_leds"]) presets.load() +presets.b = settings.get("brightness", 255) startup_preset = settings.get("startup_preset") if startup_preset: presets.select(startup_preset) @@ -18,6 +20,7 @@ if startup_preset: wdt = WDT(timeout=10000) wdt.feed() +last_brightness_save = 0 sta_if = network.WLAN(network.STA_IF) sta_if.active(True) @@ -41,6 +44,11 @@ while True: if "b" in data: try: presets.b = max(0, min(255, int(data["b"]))) + settings["brightness"] = presets.b + now = utime.ticks_ms() + if utime.ticks_diff(now, last_brightness_save) >= 500: + settings.save() + last_brightness_save = now except (TypeError, ValueError): pass if "presets" in data: diff --git a/src/settings.py b/src/settings.py index a320dc6..cce8583 100644 --- a/src/settings.py +++ b/src/settings.py @@ -20,6 +20,7 @@ class Settings(dict): self["debug"] = False self["startup_preset"] = None + self["brightness"] = 255 def save(self): try: