Device migrations, drivers and fixes (#571)

Device migrations:

- cyd-4848S040c
- guition-jc1060p470ciwy
- guition-jc2432w328c
- guition-jc3248w535c (known issue with display and touch, Shadowtrance will look into it)
- guition-jc8048w550c
- heltec-wifi-lora-32-v3
- lilygo-tdeck-max (excluding graphics)
- lilygo-tdisplay
- lilygo-tdisplay-s3
- lilygo-tdongle-s3
- lilygo-tlora-pager

Driver migrations:

- Implemented haptic driver interface in kernel
- AXS15231b
- BQ25896
- BQ27220
- CST328
- CST6xx
- DRV2605
- JD9165
- Custom LilyGO driver for T-Lora Pager
- SSD1306
- ST7701
- ST7735
- SY6970
- TCA8418

Fixes/improvements:

- Boot app: support for multiple power devices, improved UI
- lvgl_devices and related code: fixes for mapping
- Support for arrays in dts parser
This commit is contained in:
Ken Van Hoeylandt
2026-07-18 15:01:42 +02:00
committed by GitHub
parent 3b5a401594
commit d896657bf9
290 changed files with 9113 additions and 6719 deletions
+9 -1
View File
@@ -37,8 +37,16 @@ void lvgl_devices_attach() {
// sized to 1/10th of the vertical resolution; it fits comfortably everywhere,
// including boards with PSRAM that could afford full-frame.
uint16_t vres = display_get_resolution_y(kernel_display_device);
// _SWAPPED variants need it outright; plain BGR565 panels have also been found on real
// hardware to need it alongside their MADCTL BGR bit (see st7735-module/st7789-module).
enum DisplayColorFormat color_format = display_get_color_format(kernel_display_device);
bool swap_bytes = color_format == DISPLAY_COLOR_FORMAT_RGB565_SWAPPED ||
color_format == DISPLAY_COLOR_FORMAT_BGR565_SWAPPED ||
color_format == DISPLAY_COLOR_FORMAT_BGR565;
struct LvglDisplayConfig lvgl_display_config = {
.buffer_height = vres > 10 ? vres / 10 : vres
.buffer_height = vres > 10 ? vres / 10 : vres,
.swap_bytes = swap_bytes,
.force_full_frame = display_has_capability(kernel_display_device, DISPLAY_CAPABILITY_REQUIRES_FULL_FRAME)
};
if (lvgl_display_add(kernel_display_device, &lvgl_display_config, &lvgl_display) == ERROR_NONE) {
LOG_I(TAG, "Bound %s to LVGL", kernel_display_device->name);