diff --git a/src/settings.py b/src/settings.py index 4c4e7ab..2eb7e04 100644 --- a/src/settings.py +++ b/src/settings.py @@ -59,7 +59,7 @@ class Settings(dict): elif key == "color2": patterns.set_color2(tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB elif key == "num_leds": - patterns.update_num_leds(4, value) + patterns.update_num_leds(self["led_pin"], value) elif key == "pattern": if not patterns.select(value): return "Pattern doesn't exist", 400 @@ -78,6 +78,8 @@ class Settings(dict): else: self.color_order = (1, 3, 5) elif key == "id": pass + elif key == "led_pin": + patterns.update_num_leds(value, self["num_leds"]) else: return "Invalid key", 400 self[key] = value diff --git a/src/static/main.js b/src/static/main.js index 5ec7d59..3a1f6cb 100644 --- a/src/static/main.js +++ b/src/static/main.js @@ -156,6 +156,12 @@ async function updateID(event) { sendWebSocketData({ id: parseInt(id) }); } +async function updateLedPin(event) { + event.preventDefault(); + const ledpin = document.getElementById("led_pin").value; + sendWebSocketData({ led_pin: parseInt(ledpin) }); +} + function createPatternButtons(patterns) { const container = document.getElementById("pattern_buttons"); container.innerHTML = ""; // Clear previous buttons @@ -191,6 +197,9 @@ document.addEventListener("DOMContentLoaded", async function () { .addEventListener("submit", updateNumLeds); document.getElementById("name_form").addEventListener("submit", updateName); document.getElementById("id_form").addEventListener("submit", updateID); + document + .getElementById("led_pin_form") + .addEventListener("submit", updateLedPin); document.getElementById("delay").addEventListener("touchend", updateDelay); document .getElementById("brightness") diff --git a/src/templates/index.html b/src/templates/index.html index 51c9daf..d107f38 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -100,6 +100,16 @@ /> +
+ + + +

Mac address: {{mac}}