github ByteWelder/Tactility v0.6.0

6 days ago

New boards

  • CYD-2432S028RV3
  • E32R32P
  • M5Stack Cardputer
  • M5Stack Cardputer v1.1
  • M5Stack Cardputer Adv
  • Waveshare S3 LCD 1.3"
  • Waveshare S3 Touch LCD 1.28"
  • Waveshare S3 Touch LCD 1.47"

App Hub

The App Hub app is basically a simple app store - and everything in it is free! 🎉
It's still very rudimentary:

You can list apps, view app details, install/update/uninstall them. There is no automatic update functionality yet. App updates are only mentioned in the app details screen.

Note: Don't close the app during installation, as the device eventually crashes after successfully installing the app. This will be addressed in the next Tactility update.

If you can't use the App Hub, or you want to install apps manually: extract them from the TactilityApps.zip below and put the .app files on an SD card. You can use the Files app to open the .app file and you will be prompted with a dialog to install them.

Apps are automatically installed to SD card when one is present. Otherwise they will be installed to /data.

New apps / app features

  • App Settings: uninstall apps (can also be done from within App Hub, if the app was installed from there)
  • App packaging: external apps files are now .app format, containing all relevant executables (for all supported hardware platforms), assets and a manifest.
  • Created the HAL for GPIO
  • When Tactility starts, it checks /data and all SD cards for installed apps. These apps become visible in the app list.
  • Introduce UI scaling: this applies user interface improvements to devices with very small screens. All apps are updated to work well on these devices.
  • Files app now supports deleting directories (recursively)
  • Development service now supports uninstall action

Improvements & fixes

  • I2C Scanner: Fix for crash when no I2C devices were found in the board configuration
  • Add I2C and UART configurations to CYD-2432S028R
  • External app errors now show up in an alert dialog on the device
  • Improved stability of file reading/writing
  • Development app/service: fix crash when sending large files
  • Technical improvements to LoaderService and GuiService
  • Keep track of launched apps and their response with LaunchId
  • Implement support for HttpdReq and esp_http_client, including SSL (up to v1.3)
  • Refactored the way that elf_loader exposes functionality to the external apps (pending PR at Espressif repo)
  • AppManifest changes (related to external apps)
  • Refactor/simplify AppPaths and ServicePaths. This is to make it work better with external apps.
  • Update dependencies (ESP-IDF, ILI9341 - maybe more)
  • App configuration is simplified
  • Board definitions are simplified. It now takes less manual actions to add a new board.
  • Created EstimatedPower driver and implemented it in all relevant boards (voltage-based "power remaining" estimate for the statusbar)
  • Fix for T-Lora Pager keyboard driver & device
  • Various fixes for Preferences
  • Fix for crash when connecting to open Wi-Fi

Other Changes

  • Removed Log app
  • Removed various internal apps to the TactilityApps repository for external apps.
  • /system isn't visible in the Files app anymore
  • /data and /system now use a 512 byte sector size instead of 4096. This allows for more small files on a relatively small storage budget.
  • Increase stack size for the main task: this fixes a stack overflow when installing apps
  • Update SPI frequencies of all boards so they don't exceed the official specifications anymore
  • Simplify GitHub actions by using matrices
  • Renamed App project to Firmware
  • Renamed AppSim project to FirmwareSim
  • Created re-usable web server (used for DevelopmentService and later for Wi-Fi setup mode)

TactilitySDK

Too much to sum up.

One of the major improvements is support for certain C++ STL features such as std::string, std::vector, std::stack and std::deque.

Known Issues

  • App Hub crashes when you close it during app installation (when spinner is visible). The app does seem to get installed succesfully before the crash happens.
  • CrowPanel Basic 3.5": Insufficient memory to load data into App Hub. You can manually download the apps and put them on an SD card to install them. A fix is expected in the future.
  • CrowPanel Advance 3.5": Insufficient memory to load data into App Hub. You can manually download the apps and put them on an SD card to install them. A fix is expected in the future.
  • Glitches on RGB screens when reading files (e.g. Waveshare LCD Touch 4.3")
  • Small Waveshare displays: Touch is either not available, not implemented or hard to use. You can install apps manually to the SD card, but there is no guide for that yet. Ask on Discord if you want help with this.

Don't miss a new Tactility release

NewReleases is sending notifications on new releases.