So, I got this working, and I thought that I should share for the next person who comes through facing the same issue:
First, I cloned-and-owned the code from lv_port_esp32:
$ git clone --recurse-submodules https://github.com/lvgl/lv_port_esp32.git
$ cd lv_port_esp32
$ source /home/peter/.platformio/penv/bin/activate
$ pio project init --board esp-wrover-kit
$ rm -rf src
Then, I opened the folder in VS Code, and updated the platform.ini
to contain:
[platformio]
src_dir = main
[env:esp-wrover-kit]
platform = espressif32
board = esp-wrover-kit
framework = espidf
In the PlatformIO sidebar menu, I chose Project Tasks/Platform/Run Menuconfig and made the following changes using menuconfig:
Component config
LVGL configuration
(320) Maximal horizontal resolution to support by the library.
(240) Maximal vertical resolution to support by the library.
[*] Swap the 2 bytes of RGB565 color. Useful if the display has a 8 bit interface (e.g. SPI).
LVGL TFT Display controller
Display orientation (Landscape)
TFT SPI Bus. (VSPI)
Display Pin Assignments
(23) GPIO for MOSI (Master Out Slave In)
[ ] GPIO for MISO (Master In Slave Out)
(18) GPIO for CLK (SCK / Serial Clock)
[*] Use CS signal to control the display
(5) GPIO for CS (Slave Select)
[*] Use DC signal to control the display
(2) GPIO for DC (Data / Command)
(4) GPIO for Reset
[ ] Enable control of the display backlight by using an GPIO.
I then wired the display to my ESP32 according to the pins listed above, and success!
If you have any questions, I am happy to answer them here.
Cheers!
Peter.