Replace sdkconfig with device.properties (#411)

This commit is contained in:
Ken Van Hoeylandt
2025-11-12 22:36:08 +01:00
committed by GitHub
parent 8335611796
commit 7918451699
85 changed files with 1022 additions and 2379 deletions
+13 -3
View File
@@ -2,17 +2,23 @@
## Before release
- Change ButtonControl to work with interrupts and xQueue
- TCA9534 keyboards should use interrupts
- GT911 drivers should use interrupts if it's stable
- Elecrow Basic & Advance 3.5" memory issue: not enough memory for App Hub
- App Hub crashes if you close it while an app is being installed
- Fix glitches when installing app via App Hub with 4.3" Waveshare
- Wi-Fi should connect to the access point with the strongest signal over similarly named APs
- Wi-Fi connect app should focus on password field when SSID was passed on
- Auto-select the close button of an app by default on non-touch devices?
- Calculator bugs (see GitHub issue)
- Try out speed optimizations: https://docs.espressif.com/projects/esp-faq/en/latest/software-framework/peripherals/lcd.html
(relates to CONFIG_ESP32S3_DATA_CACHE_LINE_64B that is in use for RGB displays via the `device.properties` fix/workaround)
## Higher Priority
- Wi-Fi should connect to the access point with the strongest signal over similarly named APs
- Wi-Fi connect app should focus on password field when SSID was passed on
- Fix Cardputer (original): use LV_KEY_NEXT and _PREV in keyboard mapping instead of encoder driver hack (and check GPIO app if it then hangs too)
- Logging with a function that uses std::format
- Calculator bugs (see GitHub issue)
- Expose http::download() and main dispatcher to TactiltyC.
- External app loading: Check the version of Tactility and check ESP target hardware to check for compatibility
Check during installation process, but also when starting (SD card might have old app install from before Tactility OS update)
@@ -28,6 +34,10 @@
- Support direct installation of an `.app` file with `tactility.py install helloworld.app <ip>`
- Support `tactility.py target <ip>` to remember the device IP address.
- minitar/untarFile(): "entry->metadata.path" can escape its confined path (e.g. "../something")
- Consider these defaults when PSRAM is present:
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y
CONFIG_SPIRAM_RODATA=y
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
## Medium Priority
+21 -22
View File
@@ -1,32 +1,31 @@
# Releasing Tactility
1. Update `version.txt` in the Tactility project and create a branch to start a build for it
2. Upload the new Tactility SDK to the CDN
1. Set the CDN to development mode. Alternatively: manually clear cache after uploading things.
2. Set the new version in the Tactility repository:
1. Update `version.txt` in the Tactility project and create a branch to start a build for it
2. Merge the branch and wait for a build.
3. Upload the new Tactility SDK to the CDN
1. Upload it to the [CDN](https://dash.cloudflare.com)
2. Update `sdk.json` from [TactilityTool](https://github.com/ByteWelder/TactilityTool) and upload it to [CDN](https://dash.cloudflare.com)
3. Update the [TactilityApps](https://github.com/ByteWelder/TactilityApps) with the new SDK and also release these to the CDN:
4. Update the [TactilityApps](https://github.com/ByteWelder/TactilityApps) with the new SDK and also release these to the CDN:
1. Download the `cdn-files.zip` from the pipelines
2. Upload them to the CDN at `apps/x.y.z/`
4. Download the latest firmwares [main branch](https://github.com/ByteWelder/Tactility/actions/workflows/build-firmware.yml)
5. Test the latest version of Tactility on several devices. Pay special attention to:
1. App Hub
2. Wi-Fi
6. Prepare a new version of [TactilityWebInstaller](https://github.com/ByteWelder/TactilityWebInstaller) locally:
1. Copy the GitHub firmwares into `scripts/` in the `TactilityWebInstaller` project
2. Run `python release-all.py`
3. Copy the unpacked files to `/rom/(device)/(version)/` and copy in `manifest.json` from existing release
1. **WARNING** If the partitions have changed, update the json!
4. Update the version in `manifest.json`
5. Update `version.json` for the device
7. Test the firmwares on all devices with the local web installer
8. If all went well: release the web installer
9. Test web installer in production (use popular devices)
10. Make a new version of the docs available at [TactilityDocs](https://github.com/ByteWelder/TactilityDocs)
11. Make a new [GitHub release](https://github.com/ByteWelder/Tactility/releases/new)
12. Double-check that all CDN/TactilityApps/Tactility repository changes are merged.
3. Also upload them to the CDN for the upcoming version, because the upcoming a.b.c version will also need some basic apps to download
5. Test the latest unstable version of Tactility on several devices using the [web installer](https://install.tactility.one). Pay special attention to:
1. The version of the unstable channel (should be updated!)
2. App Hub
3. Wi-Fi
6. Test the firmwares on all devices with the local web installer
7. Push a tag e.g. `v1.2.3` - the `v` prefix is crucial for the pipelines
8. The pipelines should now kick off a build that releases the build to the stable channel of the Web Installer. Verify that.
9. Make a new version of the docs available at [TactilityDocs](https://github.com/ByteWelder/TactilityDocs)
10. Make a new [GitHub release](https://github.com/ByteWelder/Tactility/releases/new)
11. Double-check that all CDN/TactilityApps/Tactility repository changes are merged.
12. Ensure that the CDN is not in development mode anymore.
### Post-release
1. Mention on Discord
2. Consider notifying vendors/stakeholders
3. Update SDK updates to CDN at [TactilityTool](https://github.com/ByteWelder/TactilityTool) and upload it to [CDN](https://dash.cloudflare.com)
2. Consider making a video with one of the devices, showcasing new features
3. Consider notifying vendors/stakeholders