Add Portal-style Still Alive demo and split build envs

- src/still_alive: timed console text, typed scrolling credits and ASCII art,
  laid out for 512x256 (41x31 console, 41x9 credits, 41x20 picture).
  Plays placeholder content unless imported.h exists.
- tools/import_still_alive.py: generates the git-ignored imported.h (text,
  timing, art, credits) from SDSkyKlouD/still-alive-web.
- platformio.ini: envs still_alive (default) and esp32dev (test images,
  moved to src/test_images).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mangavalkandClaude Opus 5.5 committed 2026-10-18 19:15:21 +02:00
1 parent ff80c9e4ac
commit 329f97a5ec
11 files changed
+680 -11

No files matched your search

+22 -10
View File
@@ -66,12 +66,14 @@ truth; if anything here disagrees with it, the datasheet wins.
## Layout
```
platformio.ini build config (esp32dev, Arduino, Adafruit GFX)
platformio.ini build config: envs still_alive (default) and esp32dev
include/pins.h pin map
src/main.cpp test sketch: cycles through test images
src/still_alive/ Portal-style end-credits demo (env still_alive)
src/test_images/ test sketch: cycles through 12 test images (env esp32dev)
lib/EL512/ local library
src/EL512Panel.* framebuffer, row encoder, I2S DMA refresh
src/EL512_GFX.* Adafruit_GFX subclass
tools/ import_still_alive.py
test/ unit tests (placeholder)
docs/ datasheet and notes
```
@@ -79,19 +81,29 @@ docs/ datasheet and notes
## Build and flash
Requires [PlatformIO](https://platformio.org/) (CLI or the VS Code extension).
The upload and monitor port is set to COM20 in `platformio.ini`.
```bash
pio run
```
```bash
pio run -t upload
```
```bash
pio run -e still_alive -t upload # end-credits demo
pio run -e esp32dev -t upload # test images
pio device monitor
```
## Still Alive demo
A recreation of Portal's ending: timed song text typed into a console on the
left, credits scrolling top right, ASCII art bottom right. Without extra data it
plays placeholder text. To import the original text, timing, art and credits from
[SDSkyKlouD/still-alive-web](https://github.com/SDSkyKlouD/still-alive-web):
```bash
python tools/import_still_alive.py
pio run -e still_alive -t upload
```
This writes `src/still_alive/imported.h`, which is git-ignored. Reset the board and
start the song when the serial log says (7.75 s after reset with the imported data).
## Using the driver
```cpp