feat(bridge): add wifi/serial bridge runtime and UI
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
# Driver message builder (`espnow_message`)
|
||||
|
||||
This utility builds **v1** JSON payloads for LED drivers (serial/ESP-NOW bridge and Wi-Fi TCP). See **`docs/API.md`** for the full wire format.
|
||||
This utility builds **v1** JSON payloads for LED drivers (ESP-NOW bridge and Wi-Fi TCP). See **`docs/API.md`** for the full wire format.
|
||||
|
||||
## Usage
|
||||
|
||||
### Basic Message Building
|
||||
|
||||
```python
|
||||
from util.espnow_message import build_message, build_preset_dict, build_select_dict
|
||||
from util.espnow_message import build_message, build_preset_dict
|
||||
|
||||
# Build a message with presets and select
|
||||
# Build a message with presets and select (list form; routing is by MAC envelope / groups)
|
||||
presets = {
|
||||
"red_blink": build_preset_dict({
|
||||
"pattern": "blink",
|
||||
@@ -20,27 +20,17 @@ presets = {
|
||||
})
|
||||
}
|
||||
|
||||
select = build_select_dict({
|
||||
"device1": "red_blink"
|
||||
})
|
||||
|
||||
message = build_message(presets=presets, select=select)
|
||||
# Result: {"v": "1", "presets": {...}, "select": {...}}
|
||||
message = build_message(presets=presets, select=["red_blink"])
|
||||
# Result: {"v": "1", "presets": {...}, "select": ["red_blink"]}
|
||||
```
|
||||
|
||||
### Building Select Messages with Step Synchronization
|
||||
### Select with step
|
||||
|
||||
```python
|
||||
from util.espnow_message import build_message, build_select_dict
|
||||
from util.espnow_message import build_message
|
||||
|
||||
# Select with step for synchronization
|
||||
select = build_select_dict(
|
||||
{"device1": "rainbow_preset", "device2": "rainbow_preset"},
|
||||
step_mapping={"device1": 10, "device2": 10}
|
||||
)
|
||||
|
||||
message = build_message(select=select)
|
||||
# Result: {"v": "1", "select": {"device1": ["rainbow_preset", 10], "device2": ["rainbow_preset", 10]}}
|
||||
message = build_message(select=["rainbow_preset", 10])
|
||||
# Result: {"v": "1", "select": ["rainbow_preset", 10]}
|
||||
```
|
||||
|
||||
### Converting Presets
|
||||
|
||||
Reference in New Issue
Block a user