Tactility/.claude/rules/architecture-layers.md
Ken Van Hoeylandt d6b1d15e56
Various improvements (#614)
- Auto-select widgets in Launcher and apps with toolbars on devices without touch.
- Improved USB HID input reliability, cleanup
- Updated PSRAM settings to improve boot stability on supported devices.
- Prevented duplicate Wi-Fi event subscriptions during screen rebuilds.
- Updated docs
- Fixes in WifiManage and WifiConnect
- Reduced main task stack size
- Moved USB HID stack size to PSRAM when available
- app_manager_find_manifest() now returns a copy instead of a pointer
2026-08-13 20:30:47 +02:00

670 B

Architecture: Layer Stack (bottom to top)

  • TactilityKernel — C API kernel: device/driver/module lifecycle, concurrency primitives (thread, mutex, timer, dispatcher), filesystem, logging. Header convention: <tactility/*.h> (lowercase snake_case).
  • TactilityFreeRtos — Thin C++ wrappers around FreeRTOS primitives.
  • Tactility — Main OS layer: app framework, service framework, LVGL integration, networking and services (Wi-Fi, BLE, NTP, ESP-NOW), settings, i18n.
  • TactilityC — C bindings (tt_*.h) for Tactility, used by side-loaded ELF apps on ESP32. Deprecated, replaced by TactilityKernel.
  • Firmware — Entry point (app_main).