Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIPI DSI LCD Panel Example: how to use ILI9881C panel in landscape orientation? (IDFGH-13779) #14639

Open
3 tasks done
dmartauz opened this issue Sep 27, 2024 · 1 comment
Open
3 tasks done
Assignees
Labels
Status: Opened Issue is new

Comments

@dmartauz
Copy link

dmartauz commented Sep 27, 2024

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report

I attempted to run following example on ESP32-P4 with ILI9881C display:
https://github.com/espressif/esp-idf/tree/master/examples/peripherals/lcd/mipi_dsi

To make it work, I had to comment out part of esp_lcd_ili9881c driver which queries ID as it got stuck at esp_lcd_panel_io_rx_param :

    uint8_t ID1, ID2, ID3;
    esp_lcd_panel_io_tx_param(io, ILI9881C_CMD_CNDBKxSEL, (uint8_t[]) {
        ILI9881C_CMD_BKxSEL_BYTE0, ILI9881C_CMD_BKxSEL_BYTE1, ILI9881C_CMD_BKxSEL_BYTE2_PAGE1
    }, 3);
    esp_lcd_panel_io_rx_param(io, 0x00, &ID1, 1);
    esp_lcd_panel_io_rx_param(io, 0x01, &ID2, 1);
    esp_lcd_panel_io_rx_param(io, 0x02, &ID3, 1);
    ESP_LOGI(TAG, "ID1: 0x%x, ID2: 0x%x, ID3: 0x%x", ID1, ID2, ID3);

After that I managed to run the example which was displayed in portrait orientation.
IMG_20240927_121306687_HDR

I then attempted to rotate the display using esp_lcd_panel_swap_xy() with following result:

E (1658) lcd_panel: esp_lcd_panel_swap_xy(50): swap_xy is not supported by this panel

I also tried to rotate the screen on LVGL level using lv_display_set_rotation() but this attempt failed as well.

In LVGL documentation I found: In lack of hardware display rotation support lv_draw_sw_rotate can be used to rotate the buffer in the flush_cb.

However I am not sure how to implement it correctly. Could you please provide an example?

@espressif-bot espressif-bot added the Status: Opened Issue is new label Sep 27, 2024
@github-actions github-actions bot changed the title MIPI DSI LCD Panel Example: how to use ILI9881C panel in landscape orientation? MIPI DSI LCD Panel Example: how to use ILI9881C panel in landscape orientation? (IDFGH-13779) Sep 27, 2024
@suda-morris
Copy link
Collaborator

duplicated with espressif/esp-bsp#400

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Opened Issue is new
Projects
None yet
Development

No branches or pull requests

4 participants