ESP32-S3 RGB LCD modes of operation
Posted: Fri May 05, 2023 6:36 pm
Hello guys. I am trying to connect an RGB LCD (800x480) to my ESP32-S3-DevKitC-1-N8R2 module. I have two questions regarding the implementation:
1. I am using single frame-buffer mode located in PSRAM. According to the documentation, 8bit data width should be supported by writing this param:However, when I do this, then esp_lcd_panel_draw_bitmap function stops working. I debugged this a little, and I can see that inside rgb_panel_draw_bitmap function located in esp_lcd_panel_rgb.c file (which is called) section is missing, so it skips this part entirely. Is this a bug or is this on purpose?
2. In double frame-buffer mode it is mentioned in the docs that
Thanks in advance!
1. I am using single frame-buffer mode located in PSRAM. According to the documentation, 8bit data width should be supported by writing this param:
Code: Select all
data_width = 8
Code: Select all
if (1 == bytes_per_pixel) {
2. In double frame-buffer mode it is mentioned in the docs that
How is that supposed to work? How do I select which buffer to write to (for example using esp_lcd_panel_draw_bitmap function) and how do I signal for the buffers to be switched?The frame buffer that the CPU write to and the frame buffer that the EDMA read from are guaranteed to be different and independent. The EDMA will only switch between the two frame buffers when the previous write operation is finished and the current frame has been sent to the LCD. The downside of this mode is that, you have to maintain the synchronization between the two frame buffers.
Thanks in advance!