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
2024-01-13 14:15:53 +01:00
2024-01-13 14:15:53 +01:00
2024-01-13 14:15:53 +01:00
2023-12-27 13:57:20 +01:00
2024-01-02 23:47:49 +01:00
2023-12-25 12:42:06 +01:00
2024-01-13 14:15:53 +01:00
2024-01-13 14:15:53 +01:00

Overview

Tactility is a front-end application platform for ESP32. It is mainly intended for touchscreen devices. It provides an application framework that is based on code from the Flipper Zero project.

Tactility provides:

  • A hardware abstraction layer
  • UI capabilities (via LVGL)
  • An application platform that can run apps and services

Requirements:

  • ESP32 (any?)
  • esp-idf 5.1.2 or a newer v5.1.x
  • a display (connected via SPI or I2C)

Status: Alpha

Technologies

UI is created with lvgl via esp_lvgl_port.

LCD and input drivers are based on esp_lcd and esp_lcd_touch.

Supported Hardware

Devices

Predefined configurations are available for:

  • Yellow Board: 2.4" with capacitive touch (2432S024C) (see AliExpress 1, 2)
  • LilyGo T-Deck (see lilygo.cc, AliExpress)
  • (more will follow)

Other configurations can be supported, but they require you to set up the drivers yourself:

Guide

Until there is proper documentation, here are some pointers:

  • Sample application: bootstrap and app
  • Tactility: the main platform with default services and apps
  • Furi: the core platform code, based on Flipper Zero firmware

Building Firmware

First we have to select the correct device:

  1. If you use CLion, close it and delete the cmake-build-debug folder.
  2. Run idf.py fullclean to remove any cache from previous builds (or delete build folder manually)
  3. Copy the sdkconfig.board.YOUR_BOARD into sdkconfig. Use sdkconfig.defaults if you are setting up a custom board.

Now you can run idf.py flash monitor

License

GNU General Public License Version 3

Description
An operating system for ESP32 devices.
Readme 59 MiB
Languages
C++ 61.4%
C 31.5%
Python 3.9%
HTML 1.6%
CMake 1.5%
Other 0.1%