37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# led-controller
|
|
|
|
LED controller web app for managing profiles, tabs, presets, and colour palettes, and sending commands to LED devices over the serial -> ESP-NOW bridge.
|
|
|
|
## Run
|
|
|
|
- One-time setup for port 80 without root: `sudo scripts/setup-port80.sh`
|
|
- Start app: `pipenv run run`
|
|
- Dev watcher (auto-restart on `src/` changes): `pipenv run dev`
|
|
|
|
## UI modes
|
|
|
|
- **Run mode**: focused control view. Select tabs/presets and apply profiles. Editing actions are hidden.
|
|
- **Edit mode**: management view. Shows Tabs, Presets, Patterns, Colour Palette, and Send Presets controls, plus per-tile preset edit/remove and drag-reorder.
|
|
|
|
## Profiles
|
|
|
|
- Applying a profile updates session scope and refreshes the active tab content.
|
|
- In **Run mode**, Profiles supports apply-only behavior (no create/clone/delete).
|
|
- In **Edit mode**, Profiles supports create/clone/delete.
|
|
- Creating a profile always creates a populated `default` tab (starter presets).
|
|
- Optional **DJ tab** seeding creates:
|
|
- `dj` tab bound to device name `dj`
|
|
- starter DJ presets (rainbow, single colour, transition)
|
|
|
|
## Preset colours and palette linking
|
|
|
|
- In preset editor, selecting a colour picker value auto-adds it when the picker closes.
|
|
- Use **From Palette** to add a palette-linked preset colour.
|
|
- Linked colours are stored as palette references and shown with a `P` badge.
|
|
- When profile palette colours change, linked preset colours update across that profile.
|
|
|
|
## API docs
|
|
|
|
- Main API reference: `docs/API.md`
|
|
|