ESP32-S3 RGB LCD modes of operation

cornelius
Posts: 1
Joined: Fri May 05, 2023 5:08 pm

ESP32-S3 RGB LCD modes of operation

Postby cornelius » 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:

Code: Select all

data_width = 8
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)

Code: Select all

if (1 == bytes_per_pixel) {
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
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.
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?

Thanks in advance!

Who is online

Users browsing this forum: No registered users and 104 guests