27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
# LEGO Dimensions Portal Reader
|
|
|
|
Python module for communicating with LEGO Dimensions USB portals (PS3/PS4/Wii U versions) to detect character and vehicle disc placement/removal events.
|
|
|
|
**Repository:** https://gitea.hideawaygaming.com.au/jessikitty/lego-dimensions-reader
|
|
|
|
## Purpose
|
|
Drives the Moonlight Drive-In video player system — placing a LEGO Dimensions character disc triggers themed video playback and LED light effects.
|
|
|
|
## 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
|
|
|
|
## Key Features
|
|
- Tag insert/remove callbacks
|
|
- LED control: solid color, flash, fade, rainbow cycle
|
|
- 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-09-23 — Windows Driver Fix — Resolved pyusb backend issues on Windows 11; requires `pip install libusb` and Zadig WinUSB driver
|
|
|
|
---
|
|
*Created by: Jess Rogerson (yelling commands at Claude.AI)*
|