settings: adjust defaults and color order handling
This commit is contained in:
@@ -14,14 +14,19 @@ class Settings(dict):
|
|||||||
|
|
||||||
def set_defaults(self):
|
def set_defaults(self):
|
||||||
self["led_pin"] = 10
|
self["led_pin"] = 10
|
||||||
self["num_leds"] = 50
|
self["num_leds"] = 100
|
||||||
self["pattern"] = "on"
|
self["pattern"] = "on"
|
||||||
self["color1"] = "#00ff00"
|
self["color1"] = "#080000"
|
||||||
self["color2"] = "#ff0000"
|
self["color2"] = "#ff0000"
|
||||||
self["delay"] = 100
|
self["delay"] = 100
|
||||||
self["brightness"] = 10
|
self["brightness"] = 100
|
||||||
|
self["on_width"] = 1 # Default on width for theater chase
|
||||||
|
self["off_width"] = 2 # Default off width for theater chase
|
||||||
|
self["n1"] = 0 # Default start of fill range
|
||||||
|
self["n2"] = 58 # Default end of fill range (assuming 59 leds for now)
|
||||||
|
self["oneshot"] = False # Default one-shot setting
|
||||||
self["color_order"] = "rgb"
|
self["color_order"] = "rgb"
|
||||||
self["name"] = f"led-{ubinascii.hexlify(wifi.get_mac()).decode()}"
|
self["name"] = f"5"
|
||||||
self["ap_password"] = ""
|
self["ap_password"] = ""
|
||||||
self["id"] = 0
|
self["id"] = 0
|
||||||
|
|
||||||
@@ -47,7 +52,6 @@ class Settings(dict):
|
|||||||
|
|
||||||
def set_settings(self, data, patterns, save):
|
def set_settings(self, data, patterns, save):
|
||||||
try:
|
try:
|
||||||
print(data)
|
|
||||||
for key, value in data.items():
|
for key, value in data.items():
|
||||||
print(key, value)
|
print(key, value)
|
||||||
if key == "colors":
|
if key == "colors":
|
||||||
@@ -70,6 +74,24 @@ class Settings(dict):
|
|||||||
elif key == "brightness":
|
elif key == "brightness":
|
||||||
brightness = int(data["brightness"])
|
brightness = int(data["brightness"])
|
||||||
patterns.set_brightness(brightness)
|
patterns.set_brightness(brightness)
|
||||||
|
elif key == "on_width":
|
||||||
|
on_width = int(data["on_width"])
|
||||||
|
patterns.set_on_width(on_width)
|
||||||
|
elif key == "off_width":
|
||||||
|
off_width = int(data["off_width"])
|
||||||
|
on_width = int(data.get("on_width", self["on_width"]))
|
||||||
|
patterns.set_on_off_width(on_width, off_width)
|
||||||
|
elif key == "n1":
|
||||||
|
n1 = int(data["n1"])
|
||||||
|
n2 = int(data.get("n2", patterns.n2))
|
||||||
|
patterns.set_fill_range(n1, n2)
|
||||||
|
elif key == "n2":
|
||||||
|
n2 = int(data["n2"])
|
||||||
|
n1 = int(data.get("n1", patterns.n1))
|
||||||
|
patterns.set_fill_range(n1, n2)
|
||||||
|
elif key == "oneshot":
|
||||||
|
oneshot_value = bool(data["oneshot"])
|
||||||
|
patterns.set_oneshot(oneshot_value)
|
||||||
elif key == "name":
|
elif key == "name":
|
||||||
self[key] = value
|
self[key] = value
|
||||||
self.save()
|
self.save()
|
||||||
@@ -90,7 +112,8 @@ class Settings(dict):
|
|||||||
if save:
|
if save:
|
||||||
self.save()
|
self.save()
|
||||||
return "OK", 200
|
return "OK", 200
|
||||||
except (KeyError, ValueError):
|
except Exception as e:
|
||||||
|
print(f"An unexpected error occurred in set_settings: {e}")
|
||||||
return "Bad request", 400
|
return "Bad request", 400
|
||||||
|
|
||||||
# Example usage
|
# Example usage
|
||||||
|
Reference in New Issue
Block a user