Commit Graph

548 Commits

Author SHA1 Message Date
Ken Van Hoeylandt 3dfc27e93e Fixes for colours and margins in GPIO app and more (#284)
- Fixes for colours and margins in GPIO app
- Removed unused imports
2025-06-01 17:52:09 +02:00
Ken Van Hoeylandt e4ecec64c9 Reduced desktop icon sizes (#283)
This improves loading performance (and uses less memory on ESP32 devices
without PSRAM)
2025-06-01 17:11:29 +02:00
Shadowtrance ce96474d84 Cleanup of Notes.cpp (#282) 2025-05-27 08:08:04 +02:00
Ken Van Hoeylandt 2691dbb014 Implemented LaunchId and FileSelection, updated Notes (#281)
- Implemented `LaunchId` to keep track of the apps that are started
- Implemented `FileSelection` app to select existing and/or new files.
- Moved some re-usable file functionality to `tt::file::`
- Renamed `Files` app to `FileBrowser`
- Updated `Notes` app to use new `FileSelection` functionality, and cleaned it up a bit.
- General code cleanliness improvements
2025-05-25 22:11:50 +02:00
Ken Van Hoeylandt 74eb830870 Buildscript and kernel improvements (#280)
- Implemented `constexpr long int getMicros()` in `Kernel.h`
- Changed `secondsToTicks()`, `minutesToTicks()` and `bool isIsr()` to `constexpr`
- Added more relevant build info
2025-05-24 17:27:37 +02:00
Shadowtrance 870924229a Switch to dark theme (#278) 2025-05-06 19:52:55 +02:00
Ken Van Hoeylandt b2647f46bb Cleanup (#277) 2025-04-11 21:56:16 +02:00
Shadowtrance d1c1a3a369 Add Notes app (#276) 2025-04-11 21:35:29 +02:00
Ken Van Hoeylandt a5090ec194 Refactor display app (#275)
- Moved more code into class
- Refactored some logic
- UI is more dynamic: hide elements that are not supported by the hardware (gamma and/or brightness slider)
2025-04-08 22:38:03 +02:00
Ken Van Hoeylandt f67cb241b7 SDK fixes (#272)
- Fix for `ExternalApps/HelloWorld/build.sh`
- Fix portability issue with regards to the SDK release script
2025-04-03 23:38:47 +02:00
Ken Van Hoeylandt b2d4dc5ecb Simplify AppList (#271)
Remove categories, disable HelloWorld app
2025-04-03 23:06:54 +02:00
Shadowtrance a7c5d6a2ee Add Calculator app (#270)
Add Calculator app

Originally created by @maxbrito500 and tweaked/updated by me.
2025-04-03 18:28:15 +02:00
Ken Van Hoeylandt 08029a84dd Various fixes and improvements (#269)
- Bump version for next release
- Fix default gamma for CYD 2432S032C
- Remember gamma curve setting from Display settings app
- Add UART to Core2 (still has no voltage on Grove port, though)
- LVGL performance improvements: pin to second core and set task priority to "critical"
- Fix build warnings, including deprecations
- Removed deprecated `Thread` constructor
- Fix WaveShare S3 display: Some displays would show a white screen at 12MHz, so I'm putting it back to the
official config values.
2025-04-01 23:42:56 +02:00
Ken Van Hoeylandt eb4e9f9649 Fixes and cleanup (#266)
- Fix issue with GT911 driver: fixed a crash and an init issue
- Cleanup of unused code
2025-03-31 15:59:50 +02:00
Ken Van Hoeylandt 3f1bfee3f5 Various improvements (#264)
- Replace C function pointers with C++ `std::function` in `Thread`, `Timer` and `DispatcherThread`
- Rename `SystemEvent`-related functions
- WiFi: fix auto-connect when WiFi disconnects from bad signal
- WiFi: fix auto-connect when WiFi fails to auto-connect
- WiFi: implement disconnect() when tapping connected WiFi ap in WiFi management app
2025-03-30 21:59:31 +02:00
Ken Van Hoeylandt d72852a6e2 Merge TactilityHeadless into Tactility (#263)
There currently is no practical use to have TactilityHeadless as a subproject. I'm merging it with the Tactility project.
2025-03-30 10:54:36 +02:00
Ken Van Hoeylandt d0ca3b16f8 GPS refactored (#262)
- Refactored GPS service and HAL: GPS is no longer part of the HAL configuration. You can now add configure new GPS devices from the GPS settings app.
- T-Deck adds a boot hook to check if a GPS configuration exists and adds it when the config is empty.
- Implemented the concept of ObjectFile to read/write arrays of a raw data type (e.g. struct) to disk.
- Implemented more file utils (e.g. to create all directories of a path)
2025-03-30 01:14:22 +01:00
Ken Van Hoeylandt 81ece6f2e7 Revert GT911 driver update (#261) 2025-03-29 19:10:33 +01:00
Ken Van Hoeylandt 49a46f6236 ESP-NOW service (#259)
Implemented Chat app with ESP-NOW service.

The Chat app was originally created by @maxbrito500 and adapted by me.
2025-03-29 10:45:34 +01:00
Ken Van Hoeylandt 358954f8be Update esp_lcd_touch_gt911 to v1.1.3 (#256)
This fixes a crash.
https://github.com/ByteWelder/Tactility/issues/255
2025-03-23 22:05:53 +01:00
Ken Van Hoeylandt 59ab11d498 Fix release-sdk.sh (#254) 2025-03-23 17:04:29 +01:00
Ken Van Hoeylandt ebd2c7c6f9 Build improvements (#250)
- Fix case for board configs
-  CMake now only builds a single board instead of all boards for the selected SOC. This makes it quicker to compile a single firmware.
2025-03-16 22:04:03 +01:00
Shadowtrance 7f33364bf4 Shadowtrance board updates (#249)
* Shadowtrance board updates

External i2c disabled by default.
Added UART and GPS

* Update CYD8048S043C.cpp

Removed GPS entry

* Update JC2432W328C.cpp

Removed GPS entry

* Update JC8048W550C.cpp

Removed GPS entry

---------

Co-authored-by: Ken Van Hoeylandt <git@kenvanhoeylandt.net>
2025-03-15 17:01:49 +01:00
Ken Van Hoeylandt 0ebc022946 New board: Waveshare ESP32 S3 Touch LCD 4.3" (#248) 2025-03-14 23:55:48 +01:00
Ken Van Hoeylandt f85d0239ff Board implementations and fixes (#247)
- Implemented Elecrow Crowpanel Basic 5.0"
- Implemented Elecrow Crowpanel Advance 5.0"
- Implemented CYD 2432S032C
- Fix for CYD 4848S040C rendering drift (lower transfer speed)
- Fix for SD card locking mechanism for various boards
2025-03-14 22:37:09 +01:00
PabloPL 21936f7e9e Fix issue with External I2C power on M5Stack Core S3. (#246)
It's just https://github.com/espressif/esp-bsp/commit/214ce6f191fae75ae4b3872b295eebb58b9fd0a0 adapted to Tactility source code.
All credits to original author of fix.

Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
2025-03-13 21:33:31 +01:00
Ken Van Hoeylandt 19521791c5 CYD 4848S040C improvements and more (#245)
4848S040C:
- Fix SD card CS pin setting for 
- Fixes for colour
- Implement PwmBacklight driver 

Other:
- Fix for TouchDevice type
- Show landscape launcher for square displays
2025-03-12 23:45:49 +01:00
Shadowtrance ef410086d9 Implemented board CYD-4848S040C (#244) 2025-03-12 18:16:03 +01:00
Shadowtrance 2d535fec2a RGB Display Improvements (#243)
* 550 Buffer size

* 043 to use the RgbDisplay driver too

Both rgb displays are pretty snappy (as snappy as 800 * 480 can be on an esp32)
2025-03-12 08:15:12 +01:00
Ken Van Hoeylandt 778e003d4d Shadowtrance board implementations (#241)
Adapted from pull request https://github.com/ByteWelder/Tactility/pull/238
- JC2432W328C - ST7789 - CST820 (816) 240x320 - 2.8 inch
- ESP32-8048S043C - ST7262 - GT911 800x480 - 4.3 inch
- JC8048W550C - ST7262 - GT911 800x480 - 5 inch
2025-03-11 21:21:44 +01:00
Ken Van Hoeylandt 85a6ad3bbe Keyboard improvements (#240)
- Renamed various keyboard functions so it's easier to differentiate hardware versus software keyboard functionality
- Created `Tactility/lvgl/Keyboard.h` as a proxy  for the internal `Gui` service.
- Implemented `tt_lvgl_keyboard.h` in `TactilityC`.
2025-03-10 00:21:49 +01:00
Ken Van Hoeylandt 13d7e84ef3 Implement Serial Console app & more (#239)
- Implemented new app: Serial Console
- `Uart::writeString()`: fixed 2 mutex bugs
- `AlertDialog::start()` with default "OK" button added
- Created `tt::lvgl::defaultLockTime` for re-use
- Removed various usages of deprecated `lvgl::obj_set_style_no_padding()`
- Implemented `hal::uart::getNames()` to list all interface names
2025-03-07 21:58:52 +01:00
Ken Van Hoeylandt 83a82be901 Simplify I2C and SPI code (#237) 2025-02-26 17:47:19 +01:00
Ken Van Hoeylandt b85ef7a2e7 UART refactored (#236)
`Uart` is now an abstract class with a `UartEsp` and a `UartPosix` implementation.
2025-02-26 17:13:37 +01:00
Ken Van Hoeylandt de46401d85 Loader refactored (#235)
- Moved all Loader functionality into Loader class
- Improvement for Dispatcher construction
- Dispatcher and DispatcherThread: you can now specify the timeout when calling `dispatch()`. Default timeout is max timeout.
2025-02-23 16:08:00 +01:00
Ken Van Hoeylandt bd2786b122 Updated elf_loader library to latest from GitHub (#234) 2025-02-22 23:57:45 +01:00
Ken Van Hoeylandt 6d1d08944b LVGL improvements for TactilityC (#233)
- Expose various `lv_event`-related functions
- Expose `tt::lvgl::toolbar`-related functions
- Update sample app and improved docs
2025-02-22 23:12:03 +01:00
Ken Van Hoeylandt 70d36131f6 Implemented CrowPanel Basic 3.5" (#232) 2025-02-22 22:43:49 +01:00
Ken Van Hoeylandt b14887d5fb New board: Elecrow CrowPanel Advance 3.5" (#231)
- Implement CrowPanel Advance 3.5"
- New driver subproject: ILI9488
- New driver subproject: GT911
- Refactor T-Deck to use new driver subproject
- Fix for `flash.ps1`: don't set flash speed
2025-02-22 19:09:15 +01:00
Ken Van Hoeylandt 44b366b557 Update esp_lvgl_port (#230)
Updated to espressif/esp-bsp@531ad57
https://github.com/espressif/esp-bsp/commit/531ad57f6abe178d6b43d898fac495c59747803f
2025-02-22 17:23:56 +01:00
Ken Van Hoeylandt ee88a563dc Fix for display settings (#229) 2025-02-22 16:39:17 +01:00
Shadowtrance 09cdf07b7c Bring the ST7789 driver inline with the ILI934x driver (#228)
more configuration options as not every display / board is the same.
2025-02-22 13:53:48 +01:00
Ken Van Hoeylandt d29e47f0eb Logging improvements & other cleanup (#227) 2025-02-21 14:38:51 +01:00
Ken Van Hoeylandt 933bc5fb97 Driver improvements (#226)
- Created driver subprojects: `FT5x06`, `FT6x36`, `CST816S`.
- Refactored existing projects to use new drivers.
- Improve `PwmBacklight` driver: expose frequency, channel id and timer id
- Update `build-and-release-all.sh` for recent board addition
2025-02-20 22:41:56 +01:00
Ken Van Hoeylandt 6e8fbae62b New board: Elecrow CrowPanel Basic 2.8" (#225)
- Implemented Elecrow CrowPanel Basic 2.8"
- Change default "invert" setting for ILI934x driver from `true` to `false`
- Created `Xpt2046` driver subproject
- Refactored unPhone to use new `Xpt2046` driver subproject
2025-02-19 22:41:39 +01:00
Ken Van Hoeylandt 0563e42dc9 New board: Elecrow CrowPanel Avance 2.8" (#224)
- Added new board
- Extracted ST7789 driver and backlight PWM driver into separate subprojects
- Refactored T-Deck to use the shared driver modules
- Fix bug in WiFi service: searching for APs was broken
2025-02-19 21:01:13 +01:00
Ken Van Hoeylandt 5055fa7822 Improved GPS Settings app and GPS service (#222)
- Fixes and improvements to `GpsSettings` app, `GpsDevice` and `GpsService`
- Implemented location/GPS statusbar icon
- Added app icon
- Added support for other GPS models (based on Meshtastic code)
2025-02-18 22:07:37 +01:00
Ken Van Hoeylandt ad2cad3bf1 Renamed getLvglSyncLock() to getSyncLock() (#221) 2025-02-14 00:06:52 +01:00
Shadowtrance 6e77d5027f Windows Build and release scripts (#220) 2025-02-13 12:08:16 +01:00
Ken Van Hoeylandt 55bfb9fe3b Lockable renamed to Lock (#219)
Also changed usage from unique_ptr to class value.
2025-02-12 22:28:22 +01:00