- Process 't' field to distinguish between beat ('b') and update ('u') messages - Beat messages: execute pattern immediately using current parameters - Update messages: only update parameters, don't execute pattern - Maintains backward compatibility with default to beat if 't' not specified - Enables proper synchronization between controller and bars
1.7 KiB
1.7 KiB
8-LED Bar System Setup
This system supports 8 LED bars working together, each with unique names "100" through "107".
Quick Setup
1. Configure Each LED Bar
Each LED bar needs a unique name. Run the configuration script on each bar:
python configure_bar.py
Then enter the bar name (100, 101, 102, etc.) when prompted.
2. Update Bar Names (Optional)
To change the bar names, edit /home/jimmy/projects/lighting-controller/src/bar_config.py
:
LED_BAR_NAMES = [
"100", # Bar 1
"101", # Bar 2
"102", # Bar 3
"103", # Bar 4
"104", # Bar 5
"105", # Bar 6
"106", # Bar 7
"107", # Bar 8
]
3. Default Settings
All bars use the same default settings defined in bar_config.py
:
DEFAULT_BAR_SETTINGS = {
"pattern": "pulse",
"delay": 100,
"colors": [(0, 255, 0)], # Default green
"brightness": 100,
"num_leds": 200,
"n1": 10,
"n2": 10,
"n3": 1,
"n": 0,
}
How It Works
- Lighting Controller sends ESP-NOW messages to all bars simultaneously
- Each LED Bar listens for messages addressed to its unique name
- All bars receive the same pattern/color/brightness settings
- Synchronized effects across all 8 bars
Current Features
- ✅ All bars show the same pattern simultaneously
- ✅ Individual bar addressing (100-107)
- ✅ Optimized JSON payloads with defaults deduplication
- ✅ Easy configuration via
bar_config.py
- ✅ MIDI control for all bars
- ✅ n3 step rate functionality
Future Enhancements
- Sequential patterns (bar 1 → bar 2 → bar 3...)
- Wave effects across bars
- Individual bar control
- Master/slave synchronization
- Physical arrangement awareness