ESP-IDF-приложение для платы "Cheap Yellow Display" (ESP32 + ILI9341), рисующее плавный glow-морфинг между символами шрифта: каждая буква/цифра растворяется в следующую точками свечения, а не резкой сменой кадра.
- Каждый символ раскладывается на сетку ячеек (
CellMatrix) по битмапу глифа выбранного шрифтаTerminusTTFMedium12, но можно воспользоватьяс любым. - Между двумя символами строятся отрезки перехода (
Segment): общие точки остаются на месте, новые появляются из центра, исчезающие гаснут, а "переехавшие" точки соединяются линией к ближайшему соседу в целевой фигуре. - На каждый кадр (
render_morphing) отрезки и точки размываются в буфер свечения (glow_next/glow_prev) с плавным smoothstep-переходом по времени и рисуются во временный экран (dgx_vscreen), который затем целиком выводится на физический дисплей по SPI. - Итоговое изображение центрируется на экране 320×240 (альбомная ориентация).
idf.py set-target esp32
idf.py build
idf.py -p /dev/ttyUSB0 flash monitormain/main.c— вся логика: разбор глифов на ячейки, построение переходов, рендер свечения и вывод на экранmain/CMakeLists.txt— регистрация компонента приложения и зависимость отdgxmain/idf_component.yml— версия компонента DGXsdkconfig.defaults— конфигурация под ILI9341/DGX по умолчаниюmanaged_components/jef-sure__dgx— графическая библиотека DGX (шрифты, драйвер ILI9341, virtual screen)
| Назначение | GPIO |
|---|---|
| MOSI | 13 |
| MISO | 12 |
| SCLK | 14 |
| CS | 15 |
| DC | 2 |
| Backlight | 21 |
| RST | не используется (GPIO_NUM_NC) |
При использовании другой ревизии платы поправьте пины и параметры SPI в cyd_init_display().