- 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
72 lines
1.7 KiB
Markdown
72 lines
1.7 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```python
|
|
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`:
|
|
|
|
```python
|
|
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
|
|
|
|
1. **Lighting Controller** sends ESP-NOW messages to all bars simultaneously
|
|
2. **Each LED Bar** listens for messages addressed to its unique name
|
|
3. **All bars** receive the same pattern/color/brightness settings
|
|
4. **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
|