Skip to content

ESP32_Display_Panel touch cannot be used with esp_lvgl_port #253

@osmeest

Description

@osmeest

When trying to integrate ESP32_Display_Panel and esp_lvgl_port to get access to LVGL 9, I discovered that the two components are not compatible. Indeed, esp_lvgl_port is meant to integrate with esp_tcd and esp_lcd_touch. Using the Board/Lcd/ControlPanelHandle (as io_handle) and RefreshPanelHandle (as panel_handle) works.

However, it is impossible to use the touch panel support from ESP32 Display Panel since it does not use the standard esp_lcd_touch interface. Instead it includes its own reimplementation of the API. And since it does not provide the esp_lcd_touch.h, esp_lvgl_port refuses to include its touch panel support (ESP_LVGL_PORT_TOUCH_COMPONENT is not defined because esp_lcd_touch.h is found).

Adding esp_lcd_touch to the idf-component.yml does not work because it conflicts with ESP32_display_panel's own implementation of esp_lcd_touch.

Since esp_lcd_touch is the standard interface for touch panel drivers, it seems that ESP32_display_panel should depend on it instead of providing its own interface. This would ease the usage of ESP32_display_panel for devices like Viewe SmartRing for which the component is the best integrated driver package.

Going one step further, one way wonder why ESP32_display_panel does not include other drivers that are present in the ESP IDF component registry.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions