docs: add LED effects and cycle sessions to overview

This commit is contained in:
jessikitty committed 2026-09-24 01:30:08 +10:00
1 parent c729c17a89
commit 02b7c0c017
1 file changed
+8 -2
+8 -2
View File
@@ -10,16 +10,22 @@ Drives the Moonlight Drive-In video player system — placing a LEGO Dimensions
## Architecture
- **Core module:** `lego_dimensions_reader.py` — event-driven NFC tag detection with callbacks
- **Character database:** `character_database.json` — maps IDs to character/vehicle names
- **Integration:** `moonlight_integration.py` — connects portal events to video player
- **Integration:** `moonlight_integration.py` — connects portal events to video player via `POST /api/video/play` `{"nfc_id": "<nfc_card_id>"}` (port 8547)
- **CLI client:** `dimensions_cli_client.py` — themed LED effects + Moonlight calls; sets `builtin_led_effects` off so the base reader doesn't override themes
- **Config tools:** `portal_config_gui.py`, `tag_color_editor.py` (tkinter) editing `tag_colors.json`
## Key Features
- Tag insert/remove callbacks
- LED control: solid color, flash, fade, rainbow cycle
- Software-driven LED effects (threads): solid, flash, pulse, and `software_cycle` (chase across pads, optional trail). Hardware portal effects are not used.
- `tag_colors.json` — 82 themed per-tag colour/effect/speed entries
- `nfc_card_id` — UID bytes 3–6 as decimal, matching a standard NFC reader so Moonlight mappings are shared
- TEA encryption/decryption for character ID extraction
- Built-in character (82) and vehicle (82) databases
- Cross-platform: Linux native, Windows via WinUSB/Zadig
## Session Log
- 2026-02-22 — Software LED Effects and Moonlight API Integration — Replaced hardware LED effects with software threads; added nfc_card_id and the /api/video/play integration; Portal Configuration GUI
- 2026-04-06 — Cycle Effect, Tag Colour Library and Colour Editor — Added software_cycle with correct removal rules, 82-entry tag_colors.json and Tag Colour Editor
- 2026-09-23 — Windows Driver Fix — Resolved pyusb backend issues on Windows 11; requires `pip install libusb` and Zadig WinUSB driver
---