Project restructuring: add tactility-headless (#55)

- Created `tactility-headless` to support ESP32 firmwares that don't require graphics
- `tactility` subproject now contains both PC and ESP32 code (to avoid having to split up `tactility` and `tactility-headless` into separate projects, which would result in a very complex dependency tree)
- `tactility` subproject is now defined as component for ESP32 and as regular module for PC
- Improvements for dispatcher
- Added `project-structure.puml` to docs
- `Gui` service now depends on `Loader` service instead of the reverse
- Added `statusbar_updater` service for updating Wi-Fi and SD card icons
This commit is contained in:
Ken Van Hoeylandt
2024-08-31 17:56:28 +02:00
committed by GitHub
parent b659d5b940
commit 27730260e0
85 changed files with 841 additions and 275 deletions
+2 -3
View File
@@ -14,7 +14,7 @@
- App lifecycle docs mention on_create/on_destroy but app lifecycle is on_start/on_stop
- Explore LVGL9's FreeRTOS functionality
- Explore LVGL9's ILI93414 driver for 2.4" Yellow Board
# Core Ideas
- Make a HAL? It would mainly be there to support PC development. It's a lot of effort for supporting what's effectively a dev-only feature.
- Support for displays with different DPI. Consider the layer-based system like on Android.
@@ -22,7 +22,7 @@
- 2 wire speaker support
- tt_app_start() and similar functions as proxies for Loader app start/stop/etc.
- tt_app_set_result() for apps that need to return data to other apps (e.g. file selection)
- Introduce co-routines for calling wifi/lvgl/etc functionality.
- Wi-Fi using dispatcher to dispatch its main functionality to the dedicated Wi-Fi CPU core (to avoid main loop hack)
# App Improvement Ideas
- Sort desktop apps by name.
@@ -30,7 +30,6 @@
# App Ideas
- File viewer (images, text... binary?)
- GPIO status viewer
- BlueTooth keyboard app
- Chip 8 emulator
- BadUSB
+23
View File
@@ -0,0 +1,23 @@
@startuml
skinparam componentStyle uml1
[tactility] as t
note right of t : to build and use graphical apps
[tactility-headless] as theadless
note right of theadless : to build and use background services
[tactility-core] as tcore
note right of tcore : defines, data types, logging, async, etc.
package "Applications" {
[app-sim] as appsim
[app-esp] as appesp
}
note right of appesp : app-esp depends on the board \n projects for configuration
[t] ..> [theadless]
[theadless] ..> [tcore]
[appsim] ..> [t]
[appesp] ..> [t]
@enduml