Add portal web simulator, SPI bridges, and Pico firmware updates.

Bring the five-panel hex portal online with a browser 3D/schematic preview, Pi SPI backends, and renamed multi-panel Pico UDP firmware.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-30 14:54:51 +12:00
parent d5cab2efdf
commit 5094c7bcee
78 changed files with 62251 additions and 832 deletions

View File

@@ -7,6 +7,20 @@ from typing import Tuple
RGB = Tuple[int, int, int]
# Logical RGB (R, G, B) — same as neopixel: RED=(255,0,0), GREEN=(0,255,0), etc.
# Firmware and Pi SPI convert to GRB on the wire (NeoPixel default pixel_order).
RED: RGB = (255, 0, 0)
GREEN: RGB = (0, 255, 0)
BLUE: RGB = (0, 0, 255)
WHITE: RGB = (255, 255, 255)
OFF: RGB = (0, 0, 0)
RGB_CYCLE: tuple[tuple[str, RGB], ...] = (
("RED", RED),
("GREEN", GREEN),
("BLUE", BLUE),
)
def wheel(pos: int) -> RGB:
pos = pos % 256