The FT6 driver does a hardware ID check, which fails on the CoreS3 but
not on Stackchan for some reason. FT5 works on Stackchan, so we'll use
that for all devices, just like M5GFX does.
* Bluetooth LE addition
* fixes
* use the psram!
helps a little on S3 (t-deck)
* custom device name
* Update symbols.c
* Feedback + fixes
Fixes external app start/stop server (child devices)
Fixes BtManage causing a full system hang upon disabling bt when a device is connected to the host.
* updoot
* more updoot
* move back!
* Revert "move back!"
This reverts commit d3694365c634acc5db62ac59771c496cb971a727.
* fix some of the things
* Addressing feedback? hmm
* Fixes
Bug 1 — Reconnect loop / Reconnect not working fixed
Bug 2 — Name-only advertising overwrites HID advertising
Bug 3 — BleHidDeviceCtx leak on re-enable
Enhancement — HID device auto-start on radio re-enable
* stuff...
* update for consistency with others
* fix crashes
and some bonus symbols
* a few symbols, i2c speed, cdn message
100kHz i2c speed seems to be more compatible with m5stack modules...and probably in general.
cdn message no longer applies
* Hide BT Settings when bt not enabled
* Addressing things and device fixes
* Missed one!
* stuff
* Optional internal pull-ups for SD/MMC pins in DTS
* Selectable on‑chip LDO channel for SD/MMC power (can be disabled)
* Added several sensor/driver modules to generic ESP32 device configurations so that they become part of the SDKs
* SD card mount now prints card information for clearer diagnostics
* Fix for bug DTS boolean parsing. Improved tests to catch these issues.
* Expanded SDK integration test to include new modules and headers
* Modularized packaging to generate per‑module build files and include driver assets
Font size set to 18 for 800x480 displays
Fix web server dashboard not rendering when sdcard isn't present
Added new driver modules
- BM8563 RTC
- RX8130CE RTC
- MPU6886 IMU
- QMI8658 IMU
- M5PM1 Power Management Chip
Applied the above modules to applicable devicetrees.
Added new device: M5Stack StickS3
Added new M5Stack Tab5 St7123 variant.
ButtonControl changed to use interupts and xQueue, added AppClose action.
And some bonus symbols of course, the apps are hungry for symbols.
- UiDensity moved to lvgl-module
- Deleted tt_hal and tt_hal_gpio (breaks apps, but will fix those right after merging)
- Added I2C 8 bit register operations
- Added device.properties to simulator
- Improved Tab5 hardware init, implement audio
- Add README.md to kernel
**New Features**
* Runtime font accessors and new symbol fonts for text, launcher, statusbar, and shared icons.
* Added font height base setting to device.properties
* Text fonts now have 3 sizes: small, default, large
**Improvements**
* Renamed `UiScale` to `UiDensity`
* Statusbar, toolbar and many UI components now compute heights and spacing from fonts/density.
* SSD1306 initialization sequence refined for more stable startup.
* Multiple image assets replaced by symbol-font rendering.
* Many layout improvements related to density, font scaling and icon scaling
* Updated folder name capitalization for newer style
* **New Features**
* Added Material Design symbol fonts and LVGL font aliases for launcher, status bar, and shared UI icons.
* **Style**
* Migrated app icons across the UI to the new symbol font system.
* Updated launcher button sizing, font styling, recoloring and icon text color for consistency.
* Default text/icon font macros set for consistent sizing across the UI.
* **Documentation**
* Updated third‑party notices to include Material Design Icons links.
Auto starts the web server in AP mode with generated SSID and Password.
For small devices.... or any i guess.
Hidden by default.
May need adjustments to suit even smaller screens than the waveshare GEEK.
And a few symbols for good measure. :)
* **Refactor**
* GPIO subsystem moved to a descriptor-based model for per-pin ownership and runtime pin management; many platform drivers now acquire/release descriptors.
* Device trees and drivers now use GPIO phandle-style pin specifications across all boards and all drivers.
* **Behavior**
* Device list now encodes per-device status (ok/disabled); boot will skip disabled devices accordingly.
* **Deprecation**
* Legacy GPIO HAL marked deprecated and replaced with descriptor-based interfaces.
* **Chores**
* Bindings and platform configs updated to the new GPIO pin-spec format.
* Updated runtime gating to enable LilyGO T-Deck specific apps and services
* New device compatibility and model-detection APIs
* Added a buffer-overflow error code and message
* Updated GitHub Actions checkout to v4
* Adjusted an LVGL-related library version
* Device config now emits a T-Deck workaround flag when applicable
* Removed internal developer comments and minor cleanups
* **DevicetreeCompiler**
* Binding properties now support default values.
* Compiler returns meaningful exit codes and reports errors more clearly.
* Stronger validation of device configurations with unified error handling.
* Added integration tests and a dedicated Devicetree test workflow.
* **Changes**
* Platform binding schemas updated: some fields made required, others gained explicit defaults.
* Many device-tree files simplified by removing unused/placeholder pin and transfer-size entries.
* **Documentation**
* Removed several outdated TODO items.
- Implement SPI devices in dts files for all devices
- Removed `tt::hal::spi` HAL and its configurations
- Fix for devicetree generator "boolean" support
- Remove unused custom locks in all `DisplayDevice` implementations
- Fixed some bugs with devices
- Updated XPT2046 driver
- Fix for `WifiEsp` deadlock
- Export a lot of new `math.h` symbols with `tt_init.cpp`
- Created `SpiDeviceLock` in `TactilityCore` as a wrapper for kernel SPI locking
- Improved `TactilityKernel` SPI driver.
- Add kernel support for SPI driver
- Add kernel support for UART driver
- Implemented ESP32 UART kernel driver
- Update existing UART-related code in Tactility to use new kernel driver
- Remove UART from tt::hal::Configuration
- Remove tt_hal_uart functionality but keep functions for now
- Update devicetrees for UART changes
- Kernel mutex and recursive mutex: improved locking API design
- Other kernel improvements
- Added device_exists_of_type() and device_find_by_name()
* Implement pagination for file entries in View class
* Add resolveDirentFromListIndex method and refactor entry handling in View class
* Fix current_start_index calculation in View::update to prevent out-of-bounds access
* **New Features**
* Added a full SDK integration test suite with a minimal sample app and automated multi-platform build/run flows.
* Added a new CLI build tool to orchestrate SDK download, build, packaging, and device install/run.
* **Documentation**
* Added typography design token suggestion to ideas.
* **Chores**
* Updated CI to run SDK integration prep and test steps.
* Adjusted build artifact paths, license mappings, and repository ignore rules (including .tactility).
* **New Features**
* Added public accessors for querying module/device start and ready state.
* **Refactor**
* Internal state moved to opaque internal objects; module/device/driver initializers now explicitly initialize internal pointers.
* Lifecycle handling updated to construct/destruct internal state and use accessors.
* **Tests**
* Tests updated to use public accessors and explicit construct/destruct lifecycle calls.
* **Chores**
* Test build/include paths and small metadata updated.