Public Access
Add Interstellar and Your Name pages
Interstellar: Gargantua with a time dilation clock (Earth today vs. Miller's planet), TARS with his settings and remarks about the house, the Endurance spinning at a solar-driven RPM while a Ranger docks, and the tesseract's bookshelf with the time in binary dust and the Message's first word in Morse on a watch. Your Name: comet Tiamat splitting over Itomori's lake, and kataware-doki, a countdown to sunset from sun.sun where two silhouettes stand on the crater rim during the twilight hour. HomeData gains sunset, sunrise and sun elevation (with an ISO time parser); wrap() and typed() move to el512_pages.h. Share Tech Mono 22 gets the full Latin set. All pages are in the renderer, checked with normal, busy and empty data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a4ce97d744
commit
f46f7ab6c5
22 files changed
+1159
-110
No files matched your search
@@ -0,0 +1,33 @@
|
||||
// Interstellar-themed animated pages for the ESPHome display: Gargantua with
|
||||
// a time dilation clock, TARS and its settings, the Endurance spinning while a
|
||||
// Ranger docks, and the tesseract's bookshelf with the time in dust and a
|
||||
// message in Morse. Fan art: layouts, drawings and texts are original.
|
||||
//
|
||||
// Each function draws a whole page. Call it from a page lambda and list that
|
||||
// page under animated_pages; the animation clock is the display's page_age_ms().
|
||||
#pragma once
|
||||
|
||||
#include "el512_pages.h"
|
||||
#include "esphome/components/display/display.h"
|
||||
#include "esphome/core/time.h"
|
||||
|
||||
namespace esphome::el512 {
|
||||
|
||||
class EL512Display;
|
||||
|
||||
namespace interstellar {
|
||||
|
||||
struct Fonts {
|
||||
display::BaseFont *title{nullptr}; // wide headers (Michroma 12)
|
||||
display::BaseFont *large{nullptr}; // wide numbers (Michroma 28)
|
||||
display::BaseFont *mono{nullptr}; // readouts and TARS (Share Tech Mono 14)
|
||||
display::BaseFont *code{nullptr}; // larger monospace (Share Tech Mono 22)
|
||||
};
|
||||
|
||||
void gargantua(EL512Display &it, const Fonts &f, ESPTime now);
|
||||
void tars(EL512Display &it, const Fonts &f, const HomeData &d);
|
||||
void endurance(EL512Display &it, const Fonts &f, const HomeData &d, ESPTime now);
|
||||
void tesseract(EL512Display &it, const Fonts &f, const HomeData &d, ESPTime now);
|
||||
|
||||
} // namespace interstellar
|
||||
} // namespace esphome::el512
|
||||
Reference in new issue
Block a user