257 Commits

Author SHA1 Message Date
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
Ken Van Hoeylandt
618f557a16
Simplify keyboard support (#22)
* simplify keyboard support

* removed cleanup code as it wasn't necessary

* improved docs
2024-01-28 00:04:47 +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
a2f0399c9f
Improved startup sequence (#20)
* Improved startup sequence

* updated comments/order
2024-01-27 16:28:48 +01:00
Ken Van Hoeylandt
ccbe6b7ab8
LilyGo T-Deck keyboard support & display driver improvements (#19)
* LilyGo T-Deck keyboard support

* reverse logic

* docs and readability

* cleanup

* optimize driver buffer

* cleanup
2024-01-27 12:34:02 +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
ed2d0cc78a
Move FreeRTOSConfig.h to app-sim (#17)
* Move FreeRTOSConfig.h to app-sim

* improved docs

* updated ideas.md and removed finished todos
2024-01-22 00:27:17 +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
18a5c5aa45
Move Config back to tactility project (#15) 2024-01-20 16:23:33 +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
0c724e2e68 Improved gitignore for cmake directory generation 2024-01-20 14:21:38 +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
Ken Van Hoeylandt
c830c66063 View and state updating simplified 2024-01-17 23:59:04 +01:00
Ken Van Hoeylandt
aa6f05e54c Use TT logging instead of ESP 2024-01-17 23:56:02 +01:00
Ken Van Hoeylandt
468bbdc308 Use CBC not ECB 2024-01-17 23:52:31 +01:00
Ken Van Hoeylandt
36f24776b1 Prepare code for non-ESP usage 2024-01-17 23:21:45 +01:00
Ken Van Hoeylandt
1ed7489088 Don't store ssid when encryption failed 2024-01-17 23:16:07 +01:00
Ken Van Hoeylandt
d8b22912e6 cross-platform logging 2024-01-17 22:49:25 +01:00
Ken Van Hoeylandt
6550fa4583 move mlib to libs folder 2024-01-17 21:45:57 +01:00