Files
led-bar/8_BAR_SETUP.md
jimmy 67c4a1a6f6 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
2025-09-18 22:10:23 +12:00

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

  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