-
Notifications
You must be signed in to change notification settings - Fork 51
Description
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.