mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-06-19 04:15:06 +00:00
* 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
TactilityKernel
TactilityKernel is the core component of the Tactility project, providing a hardware abstraction layer (HAL) and essential kernel services for embedded systems.
Features
- Device and Driver Model: A flexible system for managing hardware devices and their corresponding drivers.
- Peripheral Support: Standard interfaces for common peripherals:
- GPIO (General Purpose Input/Output)
- I2C (Inter-Integrated Circuit)
- I2S (Inter-IC Sound)
- SPI (Serial Peripheral Interface)
- UART (Universal Asynchronous Receiver-Transmitter)
- Concurrency Primitives: Built-in support for multi-threaded environments, including:
- Threads and Dispatchers
- Mutexes and Recursive Mutexes
- Event Groups
- Timers
- Module System: Support for loadable modules that can export symbols and provide runtime-extensible functionality.
- Device Tree Integration: Utilizes a devicetree-like system for hardware configuration and initialization.
- Cross-Platform: Designed to run on both embedded platforms (such as ESP32) and desktop environments (Linux) for simulation and testing.