Troubles migrating from ESP32-S3-LCD-EV-Board v1.4 to ESP32-S3-LCD-EV-Board v1.5

romaincgs
Posts: 2
Joined: Tue Jun 25, 2024 3:55 pm

Troubles migrating from ESP32-S3-LCD-EV-Board v1.4 to ESP32-S3-LCD-EV-Board v1.5

Postby romaincgs » Wed Jun 26, 2024 1:47 pm

Hello,

I'm trying to solve some issues with embedded software. The code has been flashed on an ESP32-S3-LCD-EV-Board v1.4, and it worked well: everything was displayed fine. Now, I don't have any ESP32-S3-LCD-EV-Board v1.4 and need to use an ESP32-S3-LCD-EV-Board v1.5. I have been trying to solve the issue for some time now and can't figure it out, which is why I am reaching out to this forum. I am not used to forums, so please excuse me if I don't provide everything you need to help me.

I've tried flashing this example: https://github.com/espressif/esp-dev-ki ... mart_panel on my board, and it works fine. I've been recording the logs sent by the ESP while booting. Here are the parts of the logs concerning the display with both software:

Logs of example:

Code: Select all

.[0;32mI (80) bsp_probe: Detect module with 16MB PSRAM.[0m
.[0;32mI (81) bsp_probe: Detect sub_board2 with 480x480 LCD (GC9503), Touch (FT5x06).[0m
.[0;32mI (89) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0.[0m
.[0;32mI (98) bsp_sub_board: Install panel IO.[0m
.[0;32mI (102) lcd_panel.io.3wire_spi: Panel IO create success, version: 1.0.1.[0m
.[0;32mI (109) bsp_sub_board: Initialize RGB panel.[0m
.[0;33mW (1722) lcd_panel.io.3wire_spi: Delete but keep CS line inactive.[0m
.[0;32mI (1742) gc9503: LCD panel create success, version: 3.0.1.[0m
.[0;32mI (1746) bsp_lvgl_port: Create LVGL task.[0m
.[0;32mI (1746) bsp_lvgl_port: Starting LVGL task.[0m
.[0;32mI (1762) bsp_extra_board: BLINK_GPIO setting 4.[0m
.[0;32mI (1762) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0.[0m
.[0;32mI (1770) ES8311: Work in Slave mode.[0m
.[0;32mI (1773) ES7210: Work in Slave mode.[0m
.[0;32mI (1793) ES7210: Enable ES7210_INPUT_MIC1.[0m
.[0;32mI (1794) ES7210: Enable ES7210_INPUT_MIC2.[0m
Logs of my app:

Code: Select all

.[0;32mI (00:00:00.190) bsp_probe: Detect module with 16MB PSRAM.[0m
.[0;32mI (00:00:00.196) bsp_probe: Detect sub_board2 with 480x480 LCD (GC9503), Touch (FT5x06).[0m
.[0;32mI (00:00:00.205) gpio: GPIO[3]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0.[0m
.[0;32mI (00:00:00.215) bsp_sub_board: Install panel IO.[0m
.[0;32mI (00:00:00.220) lcd_panel.io.3wire_spi: Panel IO create success, version: 1.0.1.[0m
.[0;32mI (00:00:00.228) bsp_sub_board: Initialize RGB panel.[0m
.[0;33mW (00:00:01.897) lcd_panel.io.3wire_spi: Delete but keep CS line inactive.[0m
D (00:00:01.925) lcd_panel.rgb: new rgb panel(0) @0x3fcaf1b8, num_fbs=2, fb_size=460800, bb0 @0x0, bb1 @0x0, bb_size=0.[0m
D (00:00:01.925) lcd_panel.rgb: fb[0] @0x3c170d40.[0m
D (00:00:01.929) lcd_panel.rgb: fb[1] @0x3c1e1580.[0m
.[0;32mI (00:00:01.934) gc9503: LCD panel create success, version: 3.0.1.[0m
D (00:00:01.941) lcd_panel.rgb: rgb panel(0) start, pclk=16000000Hz.[0m
D (00:00:01.947) lcd_panel.io.i2c: new i2c lcd panel io @0x3fcb0364.[0m
.[0;32mI (00:00:01.955) bsp_lvgl_port: LVGL buffer size: 93KB.[0m
.[0;32mI (00:00:01.962) bsp_lvgl_port: Create LVGL task.[0m
.[0;32mI (00:00:01.965) bsp_lvgl_port: Starting LVGL task.[0m
.[0;33mW (00:00:01.991) S3-LCD-EV-BOARD: This board doesn't support changing the brightness of the LCD.[0m
.[0;32mI (00:00:02.084) APP-GUI: LCD initialization done.[0m
Here's the code linked to this part in my app:
  1. ```cpp
  2. #include "esp_log.h"
  3. #include "bsp/esp32_s3_lcd_ev_board.h"
  4. #include "lvgl.h"
  5. #include "ui/ui.h"
  6. #include "freertos/FreeRTOS.h"
  7. #include "string.h"
  8. #include "freertos/task.h"
  9. #include "freertos/queue.h"
  10. #include "version.h"
  11. #include "esp_ota_ops.h"
  12. #include "esp_sleep.h"
  13. #include "driver/rtc_io.h"
  14. #include "soc/rtc.h"
  15. [...]
  16.  
  17. void app_main(void)
  18. {
  19.     banner();
  20.  
  21.     #if ENABLE_GUI_TOUCH == 1
  22.     /* Initialize I2C (for touch and audio) */
  23.     bsp_i2c_init();
  24.     #endif
  25.  
  26.     /* Initialize display and LVGL */
  27.     lv_disp_t * disp = bsp_display_start();
  28.     bsp_display_rotate(disp, LV_DISP_ROT_270);
  29.  
  30.     /* Turn on display backlight */
  31.     bsp_display_backlight_on();
  32.  
  33.     /* Add and show objects on display */
  34.     app_lvgl_display();
  35.  
  36.     ESP_LOGI(TAG, "LCD initialization done.");
  37.     [...]
  38. }
  39. ```
Tell me if I can provide anything else that could help you help me!

romaincgs
Posts: 2
Joined: Tue Jun 25, 2024 3:55 pm

Re: Troubles migrating from ESP32-S3-LCD-EV-Board v1.4 to ESP32-S3-LCD-EV-Board v1.5

Postby romaincgs » Tue Jul 02, 2024 9:29 am

I found the problem : when upgrading from lcd V1.4 to V1.5, 4 pins have been swapped but the librairy (espressif__esp32_s3_lcd_ev_board v2.1.0) was changing only two of them.
The issue have been reported.
If I'm not wrong and we need to wait for Espressif to update the library, here's what must be changed :
In the file bsp_sub_board.c you need to add
  1.             io_config.line_config.scl_expander_pin = BSP_I2C_SCL_R16;
  2.             io_config.line_config.sda_expander_pin = BSP_I2C_SDA_R16;
Please see the picture to see where to add these lines.
Attachments
Capture d’écran 2024-07-02 à 10.58.06.png
Changes in bs_sub_board.c
Capture d’écran 2024-07-02 à 10.58.06.png (85.99 KiB) Viewed 2943 times

Who is online

Users browsing this forum: Majestic-12 [Bot] and 27 guests