18 Commits

Author SHA1 Message Date
Ken Van Hoeylandt
50bd6e8bf6
Merge develop into main branch (#137)
* SdCard HAL refactored (#135)

- Refactor SdCard HAL
- introduce Lockable

* Screenshot and FatFS improvements (#136)

- Fix screenshots on ESP32
- Improve Screenshot service
- Convert Screenshot app to class-based instead of structs
- Screenshot app now automatically updates when task is finished
- Enable FatFS long filename support

* Re-use common log messages (#138)

For consistency and binary size reduction

* Toolbar spinner should get margin to the right

* More TactilityC features (#139)

* Rewrote Loader

- Simplified Loader by removing custom threa
- Created DispatcherThread
- Move auto-starting apps to Boot app
- Fixed Dispatcher bug where it could get stuck not processing new
messages

* Hide AP settings if the AP is not saved

* Missing from previous commit

* Replace LV_EVENT_CLICKED with LV_EVENT_SHORT_CLICKED

* Refactored files app and created InputDialog (#140)

- Changed Files app so that it has a View and State
- Files app now allows for long-pressing on files to perform actions
- Files app now has rename and delete actions
- Created InputDialog app
- Improved AlertDialog app layout
2024-12-27 23:12:39 +01:00
Ken Van Hoeylandt
f34440eb6f
Fixes and improvements (#132)
- Fix glitch when turning on WiFi: It would temporarily show "No networks found" right before starting the first scan.
- Fix spinner to use Assets.h
- Replace statusbar battery icons 
- Better statusbar icon for when WiFi is on but not connected
- Replace statusbar WiFi icons and Wifi Manage RSSI/lock icons
- Fix for crash when timer is null in I2cScanner
- Deprecate Spacer
- Fixes for toolbar layout (simplified)
- Improved ImageViewer app: center image and add filename text on the bottom
- Add LV debug params to sdkconfig.developer
- Disabled LV spinner, msgbox and window widgets. These have equivalents in Tactility.
2024-12-17 23:32:43 +01:00
Ken Van Hoeylandt
415442e410
Support for building and running external apps (#112) 2024-12-08 16:46:19 +01:00
Ken Van Hoeylandt
e86a11b7e2
App improvements (#105) 2024-12-04 23:06:03 +01:00
Ken Van Hoeylandt
d06137ba76
Enable FreeRTOS SMP (multicore) (#90) 2024-11-25 21:57:20 +01:00
Ken Van Hoeylandt
62d30e8b7b
Revert to LVGL 9.0.0 (#64)
* Revert "Update ESP LCD Touch dependencies (#63)"

This reverts commit cbd0355cec25e9d0f83f328ac2cae78e0e3b83e3.

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

This reverts commit 52d769854f6805407f7ee08adaa78b3a406fa13e.

* Revert "Various updates (#60)"

This reverts commit a8a664703b131963222d2035a3a85ecede29e633.
2024-10-28 23:08:24 +01:00
Ken Van Hoeylandt
52d769854f
Updated board configs for LVGL changes (#62) 2024-10-28 21:53:40 +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
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
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
64a01df750
Wifi support and much more (#9)
* add wifi service

* updates for service/app registry changes

* wifi wip

* basic wifi functionality

radio on/off is working
scanning state is working

* fix for wifi switch state

* reduce singleton usage

* various improvements

* improved error handling for low memory issues

* working scanning

* various improvements

* various improvements and fixes

+ added auto-start support in Config

* allow hardwareconfig customizations

* fix for rgb format

* increased lvgl fps

17ms works but 16ms makes the touch events hang for some reason

* layout improvements

* wip on multi-screen view

* basic connection dialog

* more connection logic

* created proper app stack and lifecycle

* cleanup

* cleanup

* cleanup lv widgets

* proper toolbar implementation

* split up wifi apps

* wip

* revert naming

* wip

* temp fix for internal disconnect

* added bundle

* app/service vs appdata/servicedata

* working wifi connect parameters
2024-01-13 14:15:53 +01:00
Ken Van Hoeylandt
28bd80c1f1
Rename project to tactility (#7)
* wifi wip

* renamed project to Tactility

* renamed code files and defines

* changed prefixes to tt_

* removed wifi wip code
2024-01-06 12:24:38 +01:00
Ken Van Hoeylandt
8336316133
Added Lilygo T-Deck support & more (#4)
* added lilygo t-deck

restructured boards
implemented HardwareConfig
implemented lilygo t-deck lcd and touch drivers
added sdkconfig defaults for supported boards

* cleanup

* added esp32s3 job

* build job names updated

* wip

* partial revert

* update readme and build.yml

* updated build.yaml with fix for quotes

* use esp-idf 5.1.2

* improvements and fixes

* fixes for display code

* made config const

* various improvements
2024-01-05 17:01:39 +01:00
Ken Van Hoeylandt
bb047b4a5f added missing fonts 2024-01-03 14:35:28 +01:00
Ken Van Hoeylandt
48d2fd6c2d implemented basic desktop 2024-01-03 14:13:13 +01:00
Ken Van Hoeylandt
c0824af966 added data partitions and app loading logic 2024-01-02 16:55:17 +01:00
Ken Van Hoeylandt
f0cfd3c34d implemented gui and view_port
using flipper source (adapted)
disabled key input for now
disabled non-fullscreen drawing for now
2023-12-27 23:53:19 +01:00
Ken Van Hoeylandt
f4088f5762 various improvements
stopped using private header folder (for ease of development - for now)
implemented basic gui service (WIP)
added sdkconfig.defaults to the repo
updated docs
2023-12-27 13:57:20 +01:00