Public Access
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:
1 parent
4c6286e794
commit
13a499fd97
8 files changed
+811
-8
No files matched your search
@@ -0,0 +1,137 @@
|
||||
// Pixel art for the Star Trek pages, generated by tools/trek_sprites.py;
|
||||
// edit the art there. Original 1-bit fan art, '#' = lit pixel.
|
||||
#pragma once
|
||||
|
||||
#include "el512_pages.h" // Sprite
|
||||
|
||||
namespace esphome::el512::trek {
|
||||
|
||||
static const char *const MARINER_ROWS[] = {
|
||||
".......##.......",
|
||||
"......####......",
|
||||
"....########....",
|
||||
"...##########...",
|
||||
"...#.#....#.#...",
|
||||
"...#........#...",
|
||||
"...#.##..##.#...",
|
||||
"...#........#...",
|
||||
"...#......#.#...",
|
||||
"....#..###.#....",
|
||||
".....######.....",
|
||||
"....#######.....",
|
||||
"..###########...",
|
||||
".#############..",
|
||||
".##.###.#####...",
|
||||
".##.##...###.#..",
|
||||
".##.#######.##..",
|
||||
".##.#.....#.##..",
|
||||
".#..#.....#..#..",
|
||||
"....#######.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"...###...###....",
|
||||
};
|
||||
static constexpr Sprite MARINER{16, 24, MARINER_ROWS};
|
||||
|
||||
static const char *const BOIMLER_ROWS[] = {
|
||||
"....#######.....",
|
||||
"...#########....",
|
||||
"...######...#...",
|
||||
"...#........#...",
|
||||
"...#.##..##.#...",
|
||||
"...#........#...",
|
||||
"...#...##...#...",
|
||||
"...#..####..#...",
|
||||
"...#..#..#..#...",
|
||||
"....#.####.#....",
|
||||
".....######.....",
|
||||
"....#######.....",
|
||||
"..###########...",
|
||||
".#############..",
|
||||
".##.###.#####...",
|
||||
".##.##...###.#..",
|
||||
".##.#######.##..",
|
||||
".##.#.....#.##..",
|
||||
".#..#.....#..#..",
|
||||
"....#######.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"...###...###....",
|
||||
};
|
||||
static constexpr Sprite BOIMLER{16, 24, BOIMLER_ROWS};
|
||||
|
||||
static const char *const TENDI_ROWS[] = {
|
||||
".....######.....",
|
||||
"...##########...",
|
||||
"..############..",
|
||||
"..##........##..",
|
||||
"..#..##..##..#..",
|
||||
"..#..........#..",
|
||||
"..#.#......#.#..",
|
||||
"..#..######..#..",
|
||||
"..##........##..",
|
||||
"..###......###..",
|
||||
"..###.####.###..",
|
||||
"....#######.....",
|
||||
"..###########...",
|
||||
".#############..",
|
||||
".##.###.#####...",
|
||||
".##.##...###.#..",
|
||||
".##.#######.##..",
|
||||
".##.#.....#.##..",
|
||||
".#..#.....#..#..",
|
||||
"....#######.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"...###...###....",
|
||||
};
|
||||
static constexpr Sprite TENDI{16, 24, TENDI_ROWS};
|
||||
|
||||
static const char *const RUTHERFORD_ROWS[] = {
|
||||
"....########....",
|
||||
"...##########...",
|
||||
"...#.#.#.#.##...",
|
||||
"..####......#...",
|
||||
"..#..#.##...#...",
|
||||
"..####......#...",
|
||||
"..####......#...",
|
||||
"...##...##..#...",
|
||||
"...#..#####.#...",
|
||||
"....#......#....",
|
||||
".....######.....",
|
||||
"....#######.....",
|
||||
"..###########...",
|
||||
".#############..",
|
||||
".##.###.#####...",
|
||||
".##.##...###.#..",
|
||||
".##.#######.##..",
|
||||
".##.#.....#.##..",
|
||||
".#..#.....#..#..",
|
||||
"....#######.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"...###...###....",
|
||||
};
|
||||
static constexpr Sprite RUTHERFORD{16, 24, RUTHERFORD_ROWS};
|
||||
|
||||
static const char *const SHIP_ROWS[] = {
|
||||
"######################...........................",
|
||||
"#....................###.........................",
|
||||
"######################...........................",
|
||||
".....#.......#...................................",
|
||||
"......#.......#...................#############..",
|
||||
".......#.......#...............##################",
|
||||
"........###########......#######################.",
|
||||
"........#.........######.........##############..",
|
||||
"........#.....................#..................",
|
||||
"........#######################..................",
|
||||
".........#.....#####.........#...................",
|
||||
"..........######...##########....................",
|
||||
};
|
||||
static constexpr Sprite SHIP{49, 12, SHIP_ROWS};
|
||||
|
||||
} // namespace esphome::el512::trek
|
||||
Reference in new issue
Block a user