Device migrations, new drivers, cleanup (#567)

* **New Features**
  * Added native display support for ST7796, ILI9341, and ST7789 panels across supported boards.
  * Added FT5x06 and FT6x36 touchscreen support.
  * Generic PWM driver
  * ESP32 PWM driver
  * Generic RGB LED driver
  * RGB PWM LED driver
  * RGB GPIO LED driver
  * Implementation of RGB LED for various boards

* **Improvements**
  * Updated board hardware descriptions to use explicit display/touch/backlight device-tree bindings and disabled deprecated HAL usage.
  * Improved display and touch-driver cleanup to prevent stale resources and improve shutdown reliability.
  * Pinned esp-hosted library to a fixed version
 
* **Deletions**
  * Obsolete placeholder display
  * Legacy ILI9488 support.
  * ESP32-specific LEDC PWM implementation
This commit is contained in:
Ken Van Hoeylandt
2026-07-16 22:47:26 +02:00
committed by GitHub
parent 6fb2bb736c
commit 3b5a401594
175 changed files with 4218 additions and 1462 deletions
@@ -1,15 +0,0 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <tactility/bindings/bindings.h>
#include <tactility/drivers/esp32_ledc_backlight.h>
#ifdef __cplusplus
extern "C" {
#endif
DEFINE_DEVICETREE(esp32_ledc_backlight, struct Esp32LedcBacklightConfig)
#ifdef __cplusplus
}
#endif
@@ -2,13 +2,13 @@
#pragma once
#include <tactility/bindings/bindings.h>
#include <tactility/drivers/esp32_gpio_backlight.h>
#include <tactility/drivers/esp32_pwm_ledc.h>
#ifdef __cplusplus
extern "C" {
#endif
DEFINE_DEVICETREE(esp32_gpio_backlight, struct Esp32GpioBacklightConfig)
DEFINE_DEVICETREE(esp32_pwm_ledc, struct Esp32PwmLedcConfig)
#ifdef __cplusplus
}
@@ -1,18 +0,0 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <tactility/drivers/backlight.h>
#include <tactility/drivers/gpio.h>
#ifdef __cplusplus
extern "C" {
#endif
struct Esp32GpioBacklightConfig {
struct GpioPinSpec pin_backlight;
bool default_on;
};
#ifdef __cplusplus
}
#endif
@@ -2,18 +2,19 @@
#pragma once
#include <driver/ledc.h>
#include <tactility/drivers/backlight.h>
#include <tactility/drivers/gpio.h>
#include <tactility/drivers/pwm.h>
#ifdef __cplusplus
extern "C" {
#endif
struct Esp32LedcBacklightConfig {
struct GpioPinSpec pin_backlight;
uint32_t frequency_hz;
struct BrightnessLevelRange brightness_range;
uint8_t brightness_default;
struct Esp32PwmLedcConfig {
struct GpioPinSpec pin;
uint32_t period_ns;
uint32_t duty_ns;
bool inverted;
ledc_timer_bit_t duty_resolution;
ledc_timer_t ledc_timer;
ledc_channel_t ledc_channel;
};