Add four Star Trek / Lower Decks pages with a 3D printer red alert

LCARS ship status, the Cerritos duty roster from the agenda, a warp core
driven by solar power with Rutherford's advice, and a captain's log under
a viewscreen. Original pixel art in tools/trek_sprites.py.

When the 3D printer (Moonraker current_print_state, `printer`
substitution) is paused or in error, the panel jumps to LCARS Status in
red alert and holds the rotation until it carries on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mangavalkandClaude Opus 5.5 committed 2026-10-19 16:29:29 +02:00
1 parent 4c6286e794
commit 13a499fd97
8 files changed
+811 -8

No files matched your search

+37 -5
View File
@@ -85,6 +85,7 @@ components/el512/ shared driver + ESPHome component (one copy of the code)
cyberpunk.* animated Cyberpunk-style ESPHome pages
konosuba.* animated KonoSuba pages; konosuba_sprites.h from tools/
steins.* animated Steins;Gate pages; steins_sprites.h from tools/
trek.* animated Star Trek / Lower Decks pages; trek_sprites.h from tools/
el512_pages.h home data and helpers shared by the themed pages
el512_display.* ESPHome display platform `el512`
__init__.py, display.py ESPHome config schema
@@ -93,7 +94,8 @@ src/still_alive/ Portal-style end-credits demo (env still_alive)
src/test_images/ test sketch: cycles through 12 test images (env esp32dev)
esphome/ el512-panel.yaml (Home Assistant display), el512-smoke.yaml
home_assistant/packages/ el512_panel.yaml: helper sensors for the ESPHome pages
tools/ import_still_alive.py, konosuba_sprites.py, steins_sprites.py
tools/ import_still_alive.py, konosuba_sprites.py, steins_sprites.py,
trek_sprites.py
test/ unit tests (placeholder)
docs/ datasheet and notes
```
@@ -112,10 +114,11 @@ pio device monitor
## ESPHome / Home Assistant
[esphome/el512-panel.yaml](esphome/el512-panel.yaml) turns the panel into a Home
Assistant display with twenty pages: clock and weather, forecast, agenda, a sensor
dashboard with a message line, now playing, Plex, solar, Still Alive, and twelve
animated themed pages ([Cyberpunk](#cyberpunk-pages), [KonoSuba](#konosuba-pages),
[Steins;Gate](#steinsgate-pages)). Pages
Assistant display with twenty-four pages: clock and weather, forecast, agenda, a
sensor dashboard with a message line, now playing, Plex, solar, Still Alive, and
sixteen animated themed pages ([Cyberpunk](#cyberpunk-pages),
[KonoSuba](#konosuba-pages), [Steins;Gate](#steinsgate-pages),
[Star Trek](#star-trek-pages)). Pages
rotate on an interval, in a random order that is reshuffled every hour; Home Assistant gets a page select, a pause switch, the
interval, a message text, a "Play Still Alive" button, and Display / Low power mode
switches (ENABLE, _LOWPWR).
@@ -277,6 +280,35 @@ The pixel art lives in [tools/steins_sprites.py](tools/steins_sprites.py) (same
These pages are fan art: the pixel art and all texts are original, and no material
from the series is used. Steins;Gate is © MAGES. and its other rights holders; this project is not affiliated with or endorsed by them.
## Star Trek pages
Four animated pages aboard a Lower Decks-era ship, drawn by
[components/el512/trek.cpp](components/el512/trek.cpp) with Antonio (standing in for
the LCARS typeface), all in the rotation:
- **LCARS Status**: elbows, blocks and pills around the ship's systems: power
distribution (solar, house, grid), environmental (four rooms), long range sensors
(weather), the fabrication bay (3D printer state), a stardate and a data cascade.
- **Duty Roster**: the U.S.S. Cerritos roster: Mariner, Boimler, Tendi and Rutherford
each get one of your next agenda events as their assignment (or a chore of their
own), with a scrolling shipboard notice.
- **Warp Core**: plasma pulses rush into the reaction chamber faster as solar power
rises; engineering readouts for core output, containment (what the house load leaves)
and the plasma injectors (grid), and Rutherford with advice. A grid import above 3 kW
is a core breach (it's the oven).
- **Captain's Log**: a viewscreen at warp that drops out next to a planet, over a
captain's log typed from the weather, power and the next agenda event.
**Red alert:** when the 3D printer (`printer` substitution, the Moonraker
`current_print_state` sensor) goes to `paused` or `error`, the panel jumps to LCARS
Status in red alert and holds the rotation until the printer carries on.
The pixel art lives in [tools/trek_sprites.py](tools/trek_sprites.py).
These pages are fan art: the pixel art, layouts and texts are original, and no material
from the series is used. Star Trek and Star Trek: Lower Decks are trademarks of CBS
Studios Inc.; this project is not affiliated with or endorsed by them.
## Using the driver
```cpp