Refactor param mapping to dict
This commit is contained in:
49
src/main.py
49
src/main.py
@@ -17,10 +17,6 @@ def main():
|
|||||||
settings = Settings()
|
settings = Settings()
|
||||||
print(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")
|
patterns = Patterns(settings["led_pin"], settings["num_leds"], selected="off")
|
||||||
|
|
||||||
sta_if = network.WLAN(network.STA_IF)
|
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
|
message_type = defaults.get("t", "b") # Default to beat if not specified
|
||||||
|
|
||||||
# Always update parameters from message
|
# Always update parameters from message
|
||||||
patterns.brightness = bar.get("br", defaults.get("br", patterns.brightness))
|
param_mapping = {
|
||||||
patterns.delay = bar.get("dl", defaults.get("dl", patterns.delay))
|
"br": "brightness",
|
||||||
patterns.colors = bar.get("cl", defaults.get("cl", patterns.colors))
|
"dl": "delay",
|
||||||
patterns.n1 = bar.get("n1", defaults.get("n1", patterns.n1))
|
"cl": "colors",
|
||||||
patterns.n2 = bar.get("n2", defaults.get("n2", patterns.n2))
|
"n1": "n1",
|
||||||
patterns.n3 = bar.get("n3", defaults.get("n3", patterns.n3))
|
"n2": "n2",
|
||||||
patterns.n4 = bar.get("n4", defaults.get("n4", patterns.n4))
|
"n3": "n3",
|
||||||
patterns.step = bar.get("s", defaults.get("s", patterns.step))
|
"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 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:
|
except Exception as ex:
|
||||||
print(f"Failed to load espnow data {last_msg}: {ex}")
|
print(f"Failed to load espnow data {last_msg}: {ex}")
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user