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
2026-07-04 21:26:43 +02:00
2026-07-30 13:38:19 +02:00
2026-07-29 00:09:58 +02:00
2025-02-08 23:10:31 +01:00
2026-07-05 11:17:42 +02:00
2026-07-30 17:19:11 +02:00
2026-02-15 01:41:47 +01:00
2025-08-02 12:28:28 +02:00
2026-07-02 20:52:26 +02:00

Overview

Tactility is an operating system that focuses on the ESP32 microcontroller family.

See https://tactilityproject.org for more information.

photo of devices running Tactility  screenshot of launcher app

You can run built-in apps or start them from an SD card. It's easy to manage system settings:

screenshot off app list app  screenshot of settings app

License

GNU General Public License Version 3

Description
An operating system for ESP32 devices.
Readme 72 MiB
Languages
C++ 65.8%
C 28.4%
Python 3.3%
CMake 1.4%
HTML 1%