1LCD 2=== 3 4Introduction 5------------ 6 7ESP chips can generate various kinds of timings that needed by common LCDs on the market, like SPI LCD, I80 LCD (a.k.a Intel 8080 parallel LCD), RGB LCD, I2C LCD, etc. The ``esp_lcd`` component is officially to support those LCDs with a group of universal APIs across chips. 8 9Functional Overview 10------------------- 11 12In ``esp_lcd``, an LCD panel is represented by :c:type:`esp_lcd_panel_handle_t`, which plays the role of an **abstract frame buffer**, regardless of the frame memory is allocated inside ESP chip or in external LCD controller. Based on the location of the frame buffer, the LCD panel allocation functions are mainly grouped into the following categories: 13 14- ``RGB LCD panel`` - is simply based on a group of specific synchronous signals indicating where to start and stop a frame. 15 16- ``Controller based LCD panel`` involves multiple steps to get a panel handle, like bus allocation, IO device registration and controller driver install. 17 18After we get the LCD handle, the remaining LCD operations are the same for different LCD interfaces and vendors. 19 20Application Example 21------------------- 22 23LCD examples are located under: :example:`peripherals/lcd`: 24 25* Jpeg decoding and LCD display - :example:`peripherals/lcd/tjpgd` 26* LVGL porting and animation UI - :example:`peripherals/lcd/lvgl` 27 28API Reference 29------------- 30 31.. include-build-file:: inc/lcd_types.inc 32.. include-build-file:: inc/esp_lcd_types.inc 33.. include-build-file:: inc/esp_lcd_panel_io.inc 34.. include-build-file:: inc/esp_lcd_panel_ops.inc 35.. include-build-file:: inc/esp_lcd_panel_rgb.inc 36.. include-build-file:: inc/esp_lcd_panel_vendor.inc 37