Implicit display roation when using TFT_eSPI library

I’m using an ESP32 Board with 240 px x 320 px TFT (touch) screen. Im using the TFT_eSPI library to access the screen.
I started a 1st project when I noticed that I was using an older (8.3) version of the LVGL library. So I migrated to version 9.1. I had to change some function names and definitions but finally the project was running again.
The only issue remains is that the screen is rotated.

One of the things that I found when using version 9.1 was that the LVGL library is already creating an instance of the TFT-eSPI class to control the screen when calling the lv_tft_espi_create() function. That’s fine, but in that function I also found the expression

dsc->tft->setRotation(3); /* Landscape orientation, flipped */

That’s why I see the (unwanted) screen rotation.

Here are my questions:

  • Why is an explicit rotation part of the initialization of the TFT-eSPI object? What is the idea behind it?
  • What I need is setRotation(0). What is the intended way to achieve that rotation?
  • I was not able to find documentation about this part of the library function. Is it somewhere?

A question that is related to this, though a slightly different topic.
I’m using TFT-eSPI also to handle the display’s touch screen. Since, at least for the display part, I do no longer create my own instance of the TFT-eSPI class but leave it to the LVGL library: how can I make use of the touch screen functions of that instance (e.g. the method getTouch)?
Is there documentation available?

Thank you very much

Christian

Having the exact same issue, setRotation() on the display object doesn’t change the rotation. Only removing the dsc->tft->setRotation(3); gives me proper orientation. Br Hari