Commit Graph

126 Commits

Author SHA1 Message Date
Ken Van Hoeylandt 369180cb5a M5Stack sdcard cleanup (#72) 2024-11-07 23:34:45 +01:00
Ken Van Hoeylandt 67b9fc710a M5stack CoreS3 support (#71) 2024-11-07 23:17:26 +01:00
Ken Van Hoeylandt 68aa34ad14 Use Bundle consistently (#70) 2024-11-04 21:19:24 +01:00
Ken Van Hoeylandt c11d63ef2d Introduce touch offset (#69) 2024-11-03 22:51:02 +01:00
Ken Van Hoeylandt 28c456e2d9 Add power enabled check to power API (#68) 2024-11-03 22:30:41 +01:00
Ken Van Hoeylandt 632d7ccccf Implemented power management (#67)
- Implemented HAL for for power management
- Implemented the Power app (accessible via Settings app)
- Implemented status bar icon for battery status
2024-11-02 23:40:26 +01:00
Ken Van Hoeylandt 6520655795 Revert to ESP-IDF v5.2 (#66) 2024-10-30 22:01:40 +01:00
Ken Van Hoeylandt 5412f929c5 Reintroduce LVGL-related changes (#65) 2024-10-28 23:23:13 +01:00
Ken Van Hoeylandt 62d30e8b7b Revert to LVGL 9.0.0 (#64)
* Revert "Update ESP LCD Touch dependencies (#63)"

This reverts commit cbd0355cec.

* Revert "Updated board configs for LVGL changes (#62)"

This reverts commit 52d769854f.

* Revert "Various updates (#60)"

This reverts commit a8a664703b.
2024-10-28 23:08:24 +01:00
Ken Van Hoeylandt cbd0355cec Update ESP LCD Touch dependencies (#63) 2024-10-28 21:53:56 +01:00
Ken Van Hoeylandt 52d769854f Updated board configs for LVGL changes (#62) 2024-10-28 21:53:40 +01:00
Ken Van Hoeylandt 272082319b Update M5Stack dependencies to 0.1.17 (#61)
Using develop branch commit for M5Unified due to a required compilation
fix on that branch
2024-10-20 00:16:03 +02:00
Ken Van Hoeylandt a8a664703b Various updates (#60)
- update lvgl to v9.2.0
- update esp_lvgl_port to v2.3.3
- various code correctness improvements
2024-10-19 22:52:08 +02:00
Ken Van Hoeylandt 5f8149c198 Update ESP-IDF to v5.3.1 (#59) 2024-09-23 22:32:41 +02:00
Ken Van Hoeylandt a67ae35aae Headless improvements (#58)
- Refactored headless init
- Cleanup of statusbar updater
2024-09-23 21:46:29 +02:00
Ken Van Hoeylandt fd27799826 Fix screenshot app (#57)
Make it part of the correct platform build
2024-08-31 18:10:52 +02:00
Ken Van Hoeylandt 660833f2ec Updated docs (#56) 2024-08-31 18:05:30 +02: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 69a0c01686 Gitmodule branch removals (#53)
- Specify commits for git submodules, not branches
- Use official M5GFX git repository
2024-02-28 08:13:19 +01:00
Ken Van Hoeylandt c3d2083399 LVGL 9 as submodule (#52) 2024-02-28 07:59:30 +01:00
Ken Van Hoeylandt a2e2c0ad67 Mbedtls as submodule (#51) 2024-02-28 07:19:29 +01:00
Ken Van Hoeylandt b22ce5210a Freertos kernel submodule fix (#50) 2024-02-28 06:46:49 +01:00
Ken Van Hoeylandt dc0c8915b0 ESP-IDF 5.2 (#49)
- Updated IDF from 5.1.2 to 5.2
- Updated FreeRTOS from 10.4.6 to 10.5.1
- Updated M5GFX with bugfix for IDF 5.2
- FreeRTOS-Kernel is now a submodule
2024-02-27 08:15:58 +01:00
Ken Van Hoeylandt d58f131033 M5Stack Core2 support (#48) 2024-02-22 18:26:11 +01:00
Ken Van Hoeylandt 473fb673bd Update to LVGL 9.0.0 (#47)
- Updated LVGL from 8.3 to 9.0 (removed example/docs/demo folders)
- Updated esp_lvgl_port  to current status of the `lvgl9` branch on `esp-bsp`: https://github.com/espressif/esp-bsp/tree/lvgl9
- Updated all boards and drivers
- Removed `libs/lv_drivers` subproject as SDL is now supported by LVGL directly (although keyboard input seems broken)
- Updated `libs/lv_screenshot`
- Fixed the way `tt_statusbar` widget works due to behaviour change in LVGL
- Updated other lvgl code
2024-02-18 17:40:02 +01:00
Ken Van Hoeylandt 5fef25fb13 Various improvements (#46)
- Specify IDF SDK version in a safer way
- Fix for crash when polling SD card presence (Need to implement a universal locking mechanism later on)
- Updated `ideas.md`
- SD card task prio set to low
2024-02-17 17:41:56 +01:00
Ken Van Hoeylandt de34cbfd7a Added GPIO app (#45)
- Implemented GPIO app
- LVGL now allocates freely (as opposed to using a fixed-size buffer): when it goes OOM, it just deletes image cache and starts behaving erratically.
2024-02-13 22:40:17 +01:00
Ken Van Hoeylandt bec24614d3 Cleanup (#44)
* remove incorrect usages of TT_UNUSED
* updated readme
2024-02-12 22:01:46 +01:00
Ken Van Hoeylandt 159118f19a Cleanup (#43)
- Updated README.md, screenshot layout
- Cleanup of incorrect `TT_UNUSED` usage
2024-02-11 22:53:59 +01:00
Ken Van Hoeylandt 3250943345 Screenshot app & service (#42)
- Added screenshot app & service (PC-only for now)
- Updated docs with screenshots and new device photo
- Add fake statusbar icons for PC/sim build
- added `lv_screenshot` library based on `lv_100ask_screenshot` from https://github.com/100askTeam/lv_lib_100ask
- T-Deck WiFi is now allocated into SPI RAM
- Created `tt_service_find()` to find services by their id
2024-02-11 22:40:53 +01:00
Ken Van Hoeylandt 0bdc4bd32f Fix for crash when no SPI memory available (#41) 2024-02-11 18:15:10 +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 9327d61427 Improved System Info app (#39) 2024-02-10 23:51:03 +01:00
Ken Van Hoeylandt 6dc8b897d6 Display orientation setting (#38)
- Implemented display orientation in Display app
- Increased LVGL task stack for T-Deck
2024-02-10 22:51:59 +01:00
Ken Van Hoeylandt 03aa8f62ba Updated desktop icons (#37) 2024-02-10 21:29:52 +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 93e4378a9e Various improvements (#34)
* Cleanup function declarations
* Align window toolbar title to the left
2024-02-04 17:59:25 +01:00
Ken Van Hoeylandt 69165263f1 Various improvements (#32)
- Set DPI for Waveshare S3 board
- Cleanup whitespace in test
- Replace FreeRTOS semaphore in `Loader` to `Mutex`
2024-02-03 15:45:53 +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 50e7fb92c8 Updated README.md (#29) 2024-01-31 22:37:30 +01:00
Ken Van Hoeylandt 77f386f0b9 Simplify Hello World apps and update docs (#28)
* Simplify Hello World apps
* Updated docs
2024-01-31 22:26:22 +01:00
Ken Van Hoeylandt 7f133e65c5 Added settings app (#27)
- Added Settings app to show all apps of type `AppTypeSettings`.
- Removed the `AppTypeSettings` apps from the Desktop app.
2024-01-31 21:00:46 +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 ae5c828f42 Cleanup of Waveshare board drivers 2024-01-28 22:39:29 +01:00
Ken Van Hoeylandt ddf46b07e9 SD card support for 2432S024C and some fixes (#24)
- Implemented SD card support for Yellow Board 2432S024C
- Fix for locking bug when showing gui keyboard
- T-Deck driver naming fixes
- Loader tag name consistency improvement
2024-01-28 21:52:05 +01:00
Ken Van Hoeylandt d27579848a SD card support (#23)
### General
- Added support for SD cards in `HadwareConfig`
- Properly disabled PC build for now (I was still getting error emails)
- Updated `README.md` with a device compatibility table

### T-Deck:
- Implemented SD card support
- Logging message cleanup
- Updated `config,h` with various new settings
- Reduced stack depth from `8096` to `5000`
2024-01-28 16:34:25 +01:00