461 Commits

Author SHA1 Message Date
Ken Van Hoeylandt
134e0b34b6
Fix for simulator build and improve ESP-IDF build (#432) 2025-12-22 21:16:51 +01:00
Shadowtrance
6c4a9975a4
Added TactilityC symbols (#429) 2025-12-18 09:45:53 +01:00
Ken Van Hoeylandt
776e3cd4c0
Fix Wi-Fi provisioning from /data (#428)
- Import from `/data/settings` instead of `/data`
- Removed unnecessary functions
- Header syntax cleanup
2025-12-17 14:38:29 +01:00
Ken Van Hoeylandt
76686e5c90
Fix for sdkconfig generation with device.py (#426) 2025-12-06 15:22:53 +01:00
Ken Van Hoeylandt
cbaa32c27e
Add LVGL lv_obj_ functions (#425) 2025-12-06 12:02:41 +01:00
NellowTCS
65d3d55cc4
Various fixes and improvements (#424)
- Read WiFi provisioning from /data
- Fix for finding apps at /data
- Expose more LVGL functions with TactilityC
2025-12-05 13:18:23 +01:00
Shadowtrance
62124541e9
WT32 SC01 Plus (#416) 2025-11-28 17:40:24 +01:00
NellowTCS
8de88dd3fd
Software Rotation for ST7789 i8080 Driver (#422) 2025-11-27 22:40:33 +01:00
Ken Van Hoeylandt
c6cc4034df
Fix for CDN publishing script (#423) 2025-11-25 20:42:43 +01:00
Ken Van Hoeylandt
b565d56029
Implement support for ESP32 C6 and P4 SOCs (#421)
- Implement generic ESP32 devices
- Updated GitHub Actions to first build the SDKs. These are now based on the generic device implementations and the build act as a filter before compiling the dozens of other devices. It should save on resources when boards fail to compile.
- Adapted code to C6 and P4 differences, heavily borrowed from from https://github.com/ByteWelder/Tactility/pull/394 written by @marciogranzotto, with some changes of my own
- Updated `device.py` to make the `[display]` section optional
2025-11-24 19:28:07 +01:00
Ken Van Hoeylandt
fec8033fd7
Fixes for minitar related to app install (#420) 2025-11-24 00:22:12 +01:00
Ken Van Hoeylandt
6ab6ae5686
Merge develop into main (#419)
- Apply IRAM optimization to all platforms instead of only ESP32
- Implement performance optimizations
- Created `tt::hal::uart::open(uart_port_t)`
2025-11-23 00:11:08 +01:00
Ken Van Hoeylandt
eba1f8955a
Merge develop into main (#418)
- WiFi code cleanup
- When WifiConnect opens and SSID is filled in, automatically focus on the password field
- When no touch screen is present, toolbar close buttons should be automatically selected
- When `device.py` selects a device, print it on screen
2025-11-14 23:29:20 +01:00
Ken Van Hoeylandt
a4f4784ed9
Add low memory warning (#417) 2025-11-14 15:43:00 +01:00
Ken Van Hoeylandt
dddca1ea76
Generate commit hash and timestamp for CDN (#415) 2025-11-14 00:23:25 +01:00
Ken Van Hoeylandt
c1ff024657
Rename Boards/ to Devices/ (#414) 2025-11-13 23:50:43 +01:00
Shadowtrance
c7c9618f48
Waveshare GEEK (#413) 2025-11-13 22:32:02 +01:00
Ken Van Hoeylandt
0df6b78bd6
CDN script fixes (#412) 2025-11-12 23:28:16 +01:00
Ken Van Hoeylandt
7918451699
Replace sdkconfig with device.properties (#411) 2025-11-12 22:36:08 +01:00
NellowTCS
8335611796
Board Support: Heltec v3 (#407) 2025-11-05 09:04:40 +01:00
Shadowtrance
0d8c0a37cc
LilyGo T-Display (#406)
+ expose lvglSwapBytes setting for the St7789Display driver.
+ updated all relevant boards accordingly.
2025-11-02 16:56:03 +01:00
NellowTCS
ab2aa2c4d4
Access to the "/data" partition via USB Mass Storage (#405) 2025-11-02 16:26:35 +01:00
Ken Van Hoeylandt
e2ec39304c
Fixes for enums in TactilityC (#404) 2025-11-01 09:38:32 +01:00
Ken Van Hoeylandt
569cce38fa
Implement automatic CDN publishing (#403) 2025-10-31 23:39:41 +01:00
Ken Van Hoeylandt
9ae3e48600
Create bundle-firmware action for release branch (#401) 2025-10-30 22:46:52 +01:00
Shadowtrance
388c2cfe4b
BigTreeTech Panda Touch / K Touch (#402) 2025-10-30 22:09:09 +01:00
NellowTCS
adea6678a5
New board: T-Display S3 (no touch) (#398) 2025-10-29 20:12:46 +01:00
Ken Van Hoeylandt
4a343e58cc
Update version to 0.6.0 (#400) v0.6.0 2025-10-29 19:25:59 +01:00
Ken Van Hoeylandt
61277e74b8
Align board project names with board ids (#399)
To avoid keeping track of a list that maps board project names to board ids.
Because of this change, we don't have to manually edit `boards.cmake` anymore when adding a new board.
2025-10-28 09:07:54 +01:00
Ken Van Hoeylandt
efd3c6041c
Cardputer adv and more (#395)
- Fixed TCA8418 driver
- Updated T-Lora Pager for TCA driver fixes
- Fixed issues with T-Lora keyboard driver
- Implemented Cardputer Adv
- Cleanup of Cardputer (regular)
- Fix sdkconfig for E32R28T and E32R32P
- Disable Wi-Fi on boot (was accidentally pushed before)
2025-10-28 00:39:31 +01:00
NellowTCS
647678ff82
New board: CYD-E32R32P (#393) 2025-10-27 19:59:53 +01:00
Ken Van Hoeylandt
8115ca4fd9
Merge develop into main (#392)
- Refactor `Ili934xDisplay` to use `EspLcdSpiDisplay` as base class
- Update `St7789Display` for changes to `EspLcdDisplayV2` related to ILI934x driver
- Updated all board driver implementations for ILI934x driver changes
- Simplified board configurations:
  - All boards now have a `Configuration.cpp`
  - All board config's headers are removed
  - Removed `Boards.h`
- Fix for untar-ing large files
- Increase main task stack size to avoid stackoverflow when downloading apps in App Hub
- Reduce SPI frequency for ST7789 displays (according to spec)
2025-10-26 23:26:28 +01:00
Ken Van Hoeylandt
db6d3b4acb
Merge develop into main (#391)
## Improvements

- Created new base driver classes: `EspLcdDisplayV2' and `EspLcdSpiDisplay`
- Updated `St7789Display` to implement `EspLcdSpiDisplay`
- Updated all boards with ST7789 display

## Fixes

- Ensure that `tmp/` is created on startup (for all writeable filesystems)
- Fix for `lv_list` padding on small screen devices
- Fix for `PreferencesEsp` not processing result when writing string to NVS

## Other

- Remove unused build scripts
2025-10-26 13:50:17 +01:00
Ken Van Hoeylandt
37420db000
Update GitHub actions to use matrices (#389) 2025-10-25 22:34:30 +02:00
Ken Van Hoeylandt
b067978c16
Change cJSON submodule source (#388) 2025-10-25 20:56:29 +02:00
Ken Van Hoeylandt
09f8031bff
Fix for open Wi-Fi (#387)
Don't encrypt password if there's no password set
2025-10-25 18:57:43 +02:00
Giasone
1450ca319d
Add CYD-2432S028RV3 board support (#385) 2025-10-25 18:16:55 +02:00
Ken Van Hoeylandt
c139300a58
Thread+locking improvements and more (#386) 2025-10-25 18:08:46 +02:00
Ken Van Hoeylandt
d0d05c67ca
PR review fixes (#384) 2025-10-25 13:47:43 +02:00
Ken Van Hoeylandt
f660550f86
App hub and more (#383)
- Added `AppHub` app
- Added `AppHubDetails` app
- Added `cJSON` dependency
- Renamed `AppSim` module to `FirmwareSim`
- Added extra `tt::app::alertdialg::start()`
- Renamed `addApp()`, `removeApp()`, `findAppById()` and `getApps()` to `addAppManifest()`, `removeAppManifest()`, `findAppManifestById()` and `getAppManifests()`
- Added `tt::lvgl::toolbar_clear_actions()`
- Added `tt::network::EspHttpClient` as a thread-safe wrapper around `esp_http_client`
- Added `tt::network::http::download()` to download files
- Added `tt::network::ntp::isSynced()`
- When time is synced, the timestamp is stored in NVS flash. On boot, it is restored. This helps SSL connections when doing a quick reset: when WiFi reconnects, the user doesn't have to wait for NTP sync before SSL works.
- Added `tt::json::Reader` as a `cJSON` wrapper
- Added `int64_t` support for `Preferences`
- Added `int64_t` support for `Bundle`
- Added dependencies: `cJSON`, `esp-tls`
- When time is synced via NTP, disable time sync.
- Added docs to 'tt::file::` functions
- Added `tt::string::join()` that works with `std::vector<const char*>`
- Fixed `tt::file::getLastPathSegment()` for the scenario when a path was passed with only a single segment
- Set `CONFIG_ESP_MAIN_TASK_STACK_SIZE=5120` (from about 3k) for all boards
- Set `CONFIG_MBEDTLS_SSL_PROTO_TLS1_3=y` for all boards
2025-10-25 00:20:48 +02:00
Ken Van Hoeylandt
e9384e0c11
Merge develop into main (#381)
Various fixes and improvements
2025-10-22 23:15:33 +02:00
Ken Van Hoeylandt
9c5a427a34
Merge develop into main (#377)
- Extract web server from `DevelopmentService` into a separate class: `HttpServer`
- Export more functions in `tt_init.cpp`
2025-10-16 18:59:23 +02:00
Ken Van Hoeylandt
d8346998ce
Merge develop into main (#368)
New boards:
- LilyGO T-Dongle S3
- M5Stack StickC Plus
- M5Stack StickC Plus2

New drivers:
- AXP192: power control via I2C
- ButtonControl: GPIO button input as LVGL device

Other changes:
- Updated implementation of AXP192 driver for Core2 board
- Fix launcher UX for vertical layout
- Fix error when properties file had an empty line
- Add `__floatsidf` to `tt_init.cpp`
2025-10-14 20:39:23 +02:00
Ken Van Hoeylandt
3a59540365
Export more functions with TactilityC (#367) 2025-10-09 23:42:28 +02:00
Ken Van Hoeylandt
d25603166a
Merge develop into main (#365)
### TactilityC
- Create UART HAL
- Refactor locking APIs
- Bind new C++ functionality
- Bind new LVGL functionality

### Apps
- Remove Serial Console as it has been ported as an external app
2025-10-08 23:16:45 +02:00
Ken Van Hoeylandt
17b4fc6a47
Created app settings and app details applications (#364) 2025-10-07 22:13:01 +02:00
Ken Van Hoeylandt
45a8379426
Changed TactilityC/TactilitySDK license from MIT to Apache V2.0 license (#363) 2025-10-05 23:07:09 +02:00
Ken Van Hoeylandt
1e4234d895
Refactored app registration (#362)
`AppManifest` is renamed to `AppRegistration` because it was confusing with the actual app manifest (as in: the properties file).
Instead of passing a pointer, we're now passing the struct by value.
I also moved some files around in `TactilityC/`.
2025-10-05 21:02:34 +02:00
Ken Van Hoeylandt
2cb413c3d1
Merge develop into main (#361) 2025-10-05 19:37:59 +02:00
Ken Van Hoeylandt
5777a1381b
Remove GPIO and Calculator app (#360) 2025-10-05 19:00:05 +02:00