Adolfo Reyna 75178652e2 feat(lvgl+mdns): complete canvas API + fix GB blank render + mDNS browse API
lvgl-module/symbols.c:
- canvas: full LVGL9 docs API (get_buf, get_image, get_px, get_draw_buf,
  set_palette, copy_buf, init_layer, finish_layer, buf_size) – was only 5 symbols
- draw_buf: create/destroy/init/dup/copy/goto/clear/width_to_stride/align/palette/from_image/to_image
- cache: lv_draw_buf_invalidate_cache, flush_cache, lv_image_cache_drop – critical bugfix for
  GameBoy (and any direct framebuffer) where raw buf mutated but image cache stale -> FPS but no image.
- draw layer helpers, image scale/rotation/pivot/offset, transform scales for GB 2x/3x integer scaling

Reason blank screen: lv_canvas in LVGL9 is lv_image backed by draw_buf. Mutating raw pointer
without lv_image_cache_drop + invalidate_cache leaves stale texture. Timer was calling
lv_obj_invalidate only. Now exports needed symbols and app fixed to drop cache each frame.

mDNS (preserve from local WIP, sits on top of 60764979 'kidsOS-XXXX' mdns init):
- Tactility/network/Mdns.h/cpp: C++ browse + resolveHostname wrappers around esp-idf mdns 1.3.2
  (PTR query, txt records, address extraction, POSIX stub)
- TactilityC/tt_mdns.h/cpp: C copy-based API for ELF apps (TT_MDNS_MAX_RESULTS 32,
  capped addresses/txt, hostname->IP resolve)
- TactilityC/tt_init.cpp: export tt_mdns_is_available / browse / resolve_hostname symbols

Test plan:
- firmware build for es3c28p --dev
- release-sdk-current.py
- GameBoy app build against new SDK (0 missing symbols expected)
- push both branches to personal gitea
2026-07-20 12:32:00 -04:00
2026-07-04 21:26:43 +02:00
2025-02-08 23:10:31 +01:00
2026-07-05 11:17:42 +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

S
Description
No description provided
Readme 128 MiB
Languages
C++ 65%
C 28.9%
Python 3.5%
CMake 1.4%
HTML 1.1%