diff --git a/src/main.py b/src/main.py index 7791dd4..a2cf444 100644 --- a/src/main.py +++ b/src/main.py @@ -17,10 +17,6 @@ def main(): settings = Settings() print(settings) - if settings.get("color_order", "rgb") == "rbg": - color_order = (1, 5, 3) - else: - color_order = (1, 3, 5) patterns = Patterns(settings["led_pin"], settings["num_leds"], selected="off") sta_if = network.WLAN(network.STA_IF) @@ -57,31 +53,30 @@ def main(): message_type = defaults.get("t", "b") # Default to beat if not specified # Always update parameters from message - patterns.brightness = bar.get("br", defaults.get("br", patterns.brightness)) - patterns.delay = bar.get("dl", defaults.get("dl", patterns.delay)) - patterns.colors = bar.get("cl", defaults.get("cl", patterns.colors)) - patterns.n1 = bar.get("n1", defaults.get("n1", patterns.n1)) - patterns.n2 = bar.get("n2", defaults.get("n2", patterns.n2)) - patterns.n3 = bar.get("n3", defaults.get("n3", patterns.n3)) - patterns.n4 = bar.get("n4", defaults.get("n4", patterns.n4)) - patterns.step = bar.get("s", defaults.get("s", patterns.step)) + param_mapping = { + "br": "brightness", + "dl": "delay", + "cl": "colors", + "n1": "n1", + "n2": "n2", + "n3": "n3", + "n4": "n4", + "s": "step" + } + + # Iterate through values in bar and update parameters + print("Bar values:") + for key, value in bar.items(): + print(f" {key}: {value}") + + # Update parameter if it exists in param_mapping + if key in param_mapping: + attr_name = param_mapping[key] + current_value = getattr(patterns, attr_name) + new_value = bar.get(key, defaults.get(key, current_value)) + setattr(patterns, attr_name, new_value) # Print received parameters - print(f"Params: br={patterns.brightness}, dl={patterns.delay}, n1={patterns.n1}, n2={patterns.n2}, n3={patterns.n3}, n4={patterns.n4}, step={patterns.step}") - - # Only execute pattern if it's a beat message - if message_type == "b": # Beat message - selected_pattern = bar.get("pt", defaults.get("pt", "off")) - if selected_pattern in patterns.patterns: - # Run the selected pattern ONCE in response to this beat message - patterns.patterns[selected_pattern]() - else: - print(f"Pattern {selected_pattern} not found") - elif message_type == "u": # Update message - # Just update parameters, don't execute pattern - print(f"Parameters updated: brightness={patterns.brightness}, delay={patterns.delay}") - else: - print(f"Unknown message type: {message_type}") except Exception as ex: print(f"Failed to load espnow data {last_msg}: {ex}") continue