Update LED bar to handle message type field
- 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
This commit is contained in:
71
8_BAR_SETUP.md
Normal file
71
8_BAR_SETUP.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# 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
|
Reference in New Issue
Block a user