17 Commits

Author SHA1 Message Date
Ken Van Hoeylandt
8b6463d060
Wi-Fi improvements (#77)
Refactoring, new features and stability improvements.
2024-11-12 21:36:23 +01:00
Ken Van Hoeylandt
27730260e0
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
2024-08-31 17:56:28 +02:00
Ken Van Hoeylandt
b659d5b940
Added Dispatcher and fix sim (#54)
- Add dispatcher mechanism (a queue for function calls) and tests
- Added tests for MessageQueue
- Fix FreeRTOS config for simulator
- Explicit dependencies for touch-related libs, because minor version changes caused broken builds on CI.
2024-08-24 19:21:22 +02:00
Ken Van Hoeylandt
b22ce5210a
Freertos kernel submodule fix (#50) 2024-02-28 06:46:49 +01:00
Ken Van Hoeylandt
e0db8767c7
Align code style (#40)
- Mutex -> Mutex*
- Cleanup enum names
- Other small changes
2024-02-11 00:58:43 +01:00
Ken Van Hoeylandt
5558edccce
Statusbar improvements (#36)
- Added sdcard service: it updates a statusbar icon and it can auto-unmount sdcards that were physically ejected by the user.
- Added `is_mounted` check for sdcard drivers
- Refactored assets: moved them from `tactility-esp/` to `data/`
- Made assets work with sim build
- Refactored wifi statusbar icons
- Refactored wifi_manage app access point icons
- Support not having an initial image icon when registering a new icon in statusbars. When a statusbar icon is added, it is now visible/invisible depending on whether an image was specified.
- Keep track of app memory on app start to find memory leaks (needs fine-tuning in the future)
- `tt_init()` assigns `config_instance` earlier, so it can be used during service init
2024-02-09 23:53:29 +01:00
Ken Van Hoeylandt
29ea47a7ba
Improvements for Files app and statusbar icon (#35)
- Created `tt_get_platform()` to use with more complex platform checks aside from the `ESP_PLATFORM` preprocessor directive
- Expand PC/sim memory to 256k so we can load the max amount of entries in Files without memory issues. I decided to skip the LVGL buffer entirely so it's easier to catch memory leaks.
- Simplified logic in `files_data.c`
- Implement statusbar as a proper widget
- Implement statusbar widget for wifi service
- Implement statusbar widget for sdcard mounting/unmounting
2024-02-07 23:11:39 +01:00
Ken Van Hoeylandt
5880e841a3
Implemented Files app (#33)
- Created Files app to browse PC and ESP32 files.
- Refactored toolbars so it's now a proper widget and allows for changing its properties from the app
- Toolbar now has extra action buttons
- Settings app now has a proper icon
- Minor cleanup in Desktop app
2024-02-06 23:18:34 +01:00
Ken Van Hoeylandt
4f89918e91
Timer fixes & tests added 2024-02-02 22:19:36 +01:00
Ken Van Hoeylandt
47377439dd
Implement unit testing (#30)
- Create `test` and `tactility-core-tests` subprojects
- Created tests for `thread.c`
- Fixed issue with thread cleanup (see what I did there? :P)
- Removed functions from `thread.h` that did not exist anymore
- Updated `ideas.md`
2024-02-02 00:12:36 +01:00
Ken Van Hoeylandt
d171b9a231
Display brightness support (#26)
* cleanup

* brightness control and app

* cleanup

* persistant storage of display settings

* fix for missing include

* header cleanup

* fix pc build

* add docs

* move display app to tactility project
2024-01-31 20:39:12 +01:00
Ken Van Hoeylandt
7a7b31e426
Various improvements (#21)
* T-Deck stability and naming improvements

* allow main task to clean itself up

* remove unused includes

* various lvgl improvements

* added docs
2024-01-27 23:13:17 +01:00
Ken Van Hoeylandt
14eb43211d
Support for Waveshare S3 Touch LCD 4.3 (#18)
* initial changes for waveshare s3 touch support

* fix lvgl locking

* fix for lvgl locking

* cleaned up dependencies

* boards now depend on tactility instead of tactility-esp

* revert deletion

* remove component

* working touch&display driver

* added waveshare to github actions

* cleanup

* fix for driver

* fix for sim build

* build fixes

* updated docs

* updated docs

* attempt new sdl2 github action

* revert

* fixes for clion/cmdline build

environment wasn't parsed properly

* temporarily disable pc sim build
2024-01-26 21:36:21 +01:00
Ken Van Hoeylandt
d6baf40d0b
Implement LVGL with SDL for simulator (#16)
* Implemented LVGL with SDL for simulator

* cleanup

* added SDL to build

* build fix

* mutex fixes

* sim app cleanup and improvements

* docs updated

* fix for sdl?

* fix for SDL cmake setup
2024-01-21 22:27:00 +01:00
Ken Van Hoeylandt
e2209ccba8
Move app/service code from tactility-core to tactility (#14)
* Move app/service code from tactility-core to tactility

* fix formatting

* updated dev docs
2024-01-20 15:41:01 +01:00
Ken Van Hoeylandt
6bd65abbb4
Tactility modules refactored (#13)
* refactor modules

* moved esp_lvgl_port to libs/

* added missing file

* fix for sim build

* various sim/pc fixes

* lvgl improvements

* added missing cmake files
2024-01-20 14:10:19 +01:00
Ken Van Hoeylandt
a94baf0d00
Support for PC platform (#12)
* improvements for cross-platform compiling

* moved tactility-core to libs/

* splitup improvements

* remove git/gitmodules from freertos

* better platformbetter platform checks

* added build scripts

* delete mbedtls

* re-add mbedtls

* fixes and improvements

* added pc build

* simplify build scripts

* revert build scrpit

* updated builds

* fix for pc

* fix for pc

* fix for build
2024-01-19 17:39:30 +01:00