commit
02d351f898
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -56,3 +56,7 @@ dkms.conf
|
||||||
|
|
||||||
# ESP-IDF build dir
|
# ESP-IDF build dir
|
||||||
build
|
build
|
||||||
|
|
||||||
|
# Kconfig files
|
||||||
|
sdkconfig
|
||||||
|
sdkconfig.old
|
||||||
|
|
|
@ -154,34 +154,12 @@ bool lvgl_spi_driver_init(int host,
|
||||||
int dma_channel,
|
int dma_channel,
|
||||||
int quadwp_pin, int quadhd_pin)
|
int quadwp_pin, int quadhd_pin)
|
||||||
{
|
{
|
||||||
int dma_chan = 0 /* SPI_DMA_DISABLED */;
|
assert((0 <= host) && (SPI_HOST_MAX > host));
|
||||||
|
|
||||||
#if defined (CONFIG_IDF_TARGET_ESP32)
|
|
||||||
assert((SPI_HOST <= host) && (VSPI_HOST >= host));
|
|
||||||
const char *spi_names[] = {
|
|
||||||
"SPI_HOST", "HSPI_HOST", "VSPI_HOST"
|
|
||||||
};
|
|
||||||
|
|
||||||
dma_chan = dma_channel;
|
|
||||||
#elif defined (CONFIG_IDF_TARGET_ESP32S2)
|
|
||||||
assert((SPI_HOST <= host) && (HSPI_HOST >= host));
|
|
||||||
const char *spi_names[] = {
|
|
||||||
"SPI_HOST", "", ""
|
|
||||||
};
|
|
||||||
|
|
||||||
dma_chan = dma_channel;
|
|
||||||
#elif defined (CONFIG_IDF_TARGET_ESP32C3)
|
|
||||||
assert((SPI1_HOST <= host) && (SPI3_HOST >= host));
|
|
||||||
const char *spi_names[] = {
|
const char *spi_names[] = {
|
||||||
"SPI1_HOST", "SPI2_HOST", "SPI3_HOST"
|
"SPI1_HOST", "SPI2_HOST", "SPI3_HOST"
|
||||||
};
|
};
|
||||||
|
|
||||||
dma_chan = 3 /* SPI_DMA_CH_AUTO */;
|
ESP_LOGI(TAG, "Configuring SPI host %s", spi_names[host]);
|
||||||
#else
|
|
||||||
#error "Target chip not selected"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Configuring SPI host %s (%d)", spi_names[host], host);
|
|
||||||
ESP_LOGI(TAG, "MISO pin: %d, MOSI pin: %d, SCLK pin: %d, IO2/WP pin: %d, IO3/HD pin: %d",
|
ESP_LOGI(TAG, "MISO pin: %d, MOSI pin: %d, SCLK pin: %d, IO2/WP pin: %d, IO3/HD pin: %d",
|
||||||
miso_pin, mosi_pin, sclk_pin, quadwp_pin, quadhd_pin);
|
miso_pin, mosi_pin, sclk_pin, quadwp_pin, quadhd_pin);
|
||||||
|
|
||||||
|
@ -189,17 +167,16 @@ bool lvgl_spi_driver_init(int host,
|
||||||
|
|
||||||
spi_bus_config_t buscfg = {
|
spi_bus_config_t buscfg = {
|
||||||
.miso_io_num = miso_pin,
|
.miso_io_num = miso_pin,
|
||||||
.mosi_io_num = mosi_pin,
|
.mosi_io_num = mosi_pin,
|
||||||
.sclk_io_num = sclk_pin,
|
.sclk_io_num = sclk_pin,
|
||||||
.quadwp_io_num = quadwp_pin,
|
.quadwp_io_num = quadwp_pin,
|
||||||
.quadhd_io_num = quadhd_pin,
|
.quadhd_io_num = quadhd_pin,
|
||||||
.max_transfer_sz = max_transfer_sz
|
.max_transfer_sz = max_transfer_sz
|
||||||
};
|
};
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Initializing SPI bus...");
|
ESP_LOGI(TAG, "Initializing SPI bus...");
|
||||||
esp_err_t ret = spi_bus_initialize(host, &buscfg, dma_chan);
|
esp_err_t ret = spi_bus_initialize(host, &buscfg, (spi_dma_chan_t)dma_channel);
|
||||||
assert(ret == ESP_OK);
|
assert(ret == ESP_OK);
|
||||||
|
|
||||||
return ESP_OK != ret;
|
return ESP_OK != ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,9 +64,7 @@ extern "C" {
|
||||||
|
|
||||||
#define ENABLE_TOUCH_INPUT CONFIG_LV_ENABLE_TOUCH
|
#define ENABLE_TOUCH_INPUT CONFIG_LV_ENABLE_TOUCH
|
||||||
|
|
||||||
#if defined (CONFIG_LV_TFT_DISPLAY_SPI1_HOST)
|
#if defined (CONFIG_LV_TFT_DISPLAY_SPI2_HOST)
|
||||||
#define TFT_SPI_HOST SPI1_HOST
|
|
||||||
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI2_HOST)
|
|
||||||
#define TFT_SPI_HOST SPI2_HOST
|
#define TFT_SPI_HOST SPI2_HOST
|
||||||
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI3_HOST)
|
#elif defined (CONFIG_LV_TFT_DISPLAY_SPI3_HOST)
|
||||||
#define TFT_SPI_HOST SPI3_HOST
|
#define TFT_SPI_HOST SPI3_HOST
|
||||||
|
@ -86,12 +84,10 @@ extern "C" {
|
||||||
#define DISP_SPI_TRANS_MODE_SIO
|
#define DISP_SPI_TRANS_MODE_SIO
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_HSPI)
|
#if defined (CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST)
|
||||||
#define TOUCH_SPI_HOST HSPI_HOST
|
#define TOUCH_SPI_HOST SPI2_HOST
|
||||||
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_VSPI)
|
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST)
|
||||||
#define TOUCH_SPI_HOST VSPI_HOST
|
#define TOUCH_SPI_HOST SPI3_HOST
|
||||||
#elif defined (CONFIG_LV_TOUCH_CONTROLLER_SPI_FSPI)
|
|
||||||
#define TOUCH_SPI_HOST FSPI_HOST
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Handle the FT81X Special case */
|
/* Handle the FT81X Special case */
|
||||||
|
@ -107,7 +103,7 @@ extern "C" {
|
||||||
// Detect the use of a shared SPI Bus and verify the user specified the same SPI bus for both touch and tft
|
// Detect the use of a shared SPI Bus and verify the user specified the same SPI bus for both touch and tft
|
||||||
#if defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI) && TP_SPI_MOSI == DISP_SPI_MOSI && TP_SPI_CLK == DISP_SPI_CLK
|
#if defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI) && TP_SPI_MOSI == DISP_SPI_MOSI && TP_SPI_CLK == DISP_SPI_CLK
|
||||||
#if TFT_SPI_HOST != TOUCH_SPI_HOST
|
#if TFT_SPI_HOST != TOUCH_SPI_HOST
|
||||||
#error You must specify the same SPI host (HSPI, VSPI or FSPI) for both display and touch driver
|
#error You must specify the same SPI host (SPIx_HOST) for both display and touch driver
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define SHARED_SPI_BUS
|
#define SHARED_SPI_BUS
|
||||||
|
|
|
@ -469,13 +469,10 @@ menu "LVGL TFT Display controller"
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "TFT SPI Bus." if LV_TFT_DISPLAY_PROTOCOL_SPI
|
prompt "TFT SPI Bus." if LV_TFT_DISPLAY_PROTOCOL_SPI
|
||||||
default LV_TFT_DISPLAY_SPI3_HOST if LV_PREDEFINED_DISPLAY_TTGO && \
|
default LV_TFT_DISPLAY_SPI2_HOST
|
||||||
!IDF_TARGET_ESP32S2
|
|
||||||
help
|
help
|
||||||
Select the SPI Bus the TFT Display is attached to.
|
Select the SPI Bus the TFT Display is attached to.
|
||||||
|
|
||||||
config LV_TFT_DISPLAY_SPI1_HOST
|
|
||||||
bool "SPI1_HOST"
|
|
||||||
config LV_TFT_DISPLAY_SPI2_HOST
|
config LV_TFT_DISPLAY_SPI2_HOST
|
||||||
bool "SPI2_HOST"
|
bool "SPI2_HOST"
|
||||||
config LV_TFT_DISPLAY_SPI3_HOST
|
config LV_TFT_DISPLAY_SPI3_HOST
|
||||||
|
|
|
@ -67,17 +67,14 @@ menu "LVGL Touch controller"
|
||||||
prompt "Touch Controller SPI Bus."
|
prompt "Touch Controller SPI Bus."
|
||||||
depends on LV_TOUCH_DRIVER_PROTOCOL_SPI
|
depends on LV_TOUCH_DRIVER_PROTOCOL_SPI
|
||||||
|
|
||||||
default LV_TOUCH_CONTROLLER_SPI_VSPI if !IDF_TARGET_ESP32S2
|
default LV_TOUCH_CONTROLLER_SPI2_HOST
|
||||||
default LV_TOUCH_CONTROLLER_SPI_FSPI if IDF_TARGET_ESP32S2
|
|
||||||
help
|
help
|
||||||
Select the SPI Bus the TFT Display is attached to.
|
Select the SPI Bus the touch controller is attached to.
|
||||||
|
|
||||||
config LV_TOUCH_CONTROLLER_SPI_HSPI
|
config LV_TOUCH_CONTROLLER_SPI2_HOST
|
||||||
bool "HSPI"
|
bool "SPI2_HOST"
|
||||||
config LV_TOUCH_CONTROLLER_SPI_VSPI
|
config LV_TOUCH_CONTROLLER_SPI3_HOST
|
||||||
bool "VSPI" if !IDF_TARGET_ESP32S2
|
bool "SPI3_HOST"
|
||||||
config LV_TOUCH_CONTROLLER_SPI_FSPI
|
|
||||||
bool "FSPI" if IDF_TARGET_ESP32S2
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
menu "Touchpanel (XPT2046) Pin Assignments"
|
menu "Touchpanel (XPT2046) Pin Assignments"
|
||||||
|
|
Loading…
Reference in a new issue