9 Commits

Author SHA1 Message Date
Ken Van Hoeylandt
e42545d284
Improve compact UI, improve DisplayApi, cleanup (#660) 2026-09-25 20:18:23 +02:00
Ken Van Hoeylandt
86010186d8
Improve Terminal, App List, app starting, and more (#658)
app-module:

- Implement `AppStartContext` to reduce amount of `app_start_` and `app_exec` functions: replace them with `app_start_with_context()`
- Add support for environment variables when starting apps
- Implement support for environment variables for apps

graphics-module:

- Add this new module
- Move font-module code into this module
- Implement pixel_buffer

apps:

- Terminal app: reduce memory usage by only buffering a single row of characters, and try to buffer in IRAM when possible. Implement new pixel_buffer.
- App List: Mark apps as favourite to pin them on top. Use touch or press "x" key.
- App List: Add toolbar button that shows alert dialog with info about using favourites
2026-09-24 00:44:28 +02:00
Ken Van Hoeylandt
0ee725ec32
ESP-IDF v6.1 (#649)
Migrate all drivers and devices to ESP-IDF v6.1
2026-09-13 00:52:16 +02:00
Crazypedia
b7577f2328
feat(gdeq031t10): support an optional frontlight (#633) 2026-08-28 08:59:46 +02:00
Ken Van Hoeylandt
020aa471e2
File locking refactored (#631)
Remove FileMutex and wire locking into driver subsystems.
2026-08-28 01:06:53 +02:00
Crazypedia
c656ee9ffd
fix(gdeq031t10): skip the panel refresh when the frame is unchanged (#624) 2026-08-27 17:03:34 +02:00
Crazypedia
d72d5a0ef2
fix(gdeq031t10): only commit the shadow after the panel confirms (#607)
shadow_framebuffer records what the panel is currently showing, but both
refresh paths updated it before the refresh was confirmed, so a failed
trigger or a BUSY timeout left it describing content that was never
displayed.

That misdescription compounds: the shadow is sent to the controller as
CMD_DATA_START_OLD, so the per-pixel transitions get computed from an
image the panel never held, and draw_bitmap() diffs against it, so a
region matching a wrong shadow is treated as clean and never repainted.

Both paths now commit only after wait_while_busy() confirms. refresh_full()
also sends new data straight from the render buffer, which drops a
full-framebuffer copy from the path.
2026-07-31 22:09:45 +02:00
Crazypedia
94deee8875
fix(gdeq031t10): reset the panel at the start of a full init (#603) 2026-07-30 23:07:25 +02:00
Ken Van Hoeylandt
29e80cfd65
T-Deck Max & Pro support updates (#582)
- Created kernel driver for T-Deck Max & Pro display (needs work, doesn't refresh reliably on T-Deck Pro)
- Created T-Deck Pro device implementation (incubating)
2026-07-24 00:17:48 +02:00