feat: add ESP32-S3 ST7789 LCD and GT911 wiring test

This commit is contained in:
2026-07-13 16:56:03 +08:00
commit 6c537e99a2
15 changed files with 1607 additions and 0 deletions

169
main/Kconfig.projbuild Normal file
View File

@@ -0,0 +1,169 @@
menu "Example Configuration"
choice EXAMPLE_LCD_CONTROLLER
prompt "LCD controller model"
default EXAMPLE_LCD_CONTROLLER_ST7789
help
Select LCD controller model
config EXAMPLE_LCD_CONTROLLER_ST7789
bool "ST7789"
config EXAMPLE_LCD_CONTROLLER_ST7735
bool "ST7735"
config EXAMPLE_LCD_CONTROLLER_ILI9341
bool "ILI9341"
config EXAMPLE_LCD_CONTROLLER_GC9A01
bool "GC9A01"
endchoice
config EXAMPLE_LCD_ST7735_H_RES
int "LCD horizontal resolution"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default 240 if EXAMPLE_LCD_CONTROLLER_ST7789
default 128 if EXAMPLE_LCD_CONTROLLER_ST7735
help
Horizontal active pixel count.
config EXAMPLE_LCD_ST7735_V_RES
int "LCD vertical resolution"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default 320 if EXAMPLE_LCD_CONTROLLER_ST7789
default 160 if EXAMPLE_LCD_CONTROLLER_ST7735
help
Vertical active pixel count.
config EXAMPLE_LCD_ST7735_X_GAP
int "LCD X offset"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default 0
help
Extra X offset used when the visible image is shifted.
config EXAMPLE_LCD_ST7735_Y_GAP
int "LCD Y offset"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default 0
help
Extra Y offset used when the visible image is shifted.
config EXAMPLE_LCD_ST7735_BGR_COLOR
bool "Use BGR color order"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default y
help
Disable this if red and blue are swapped on the panel.
config EXAMPLE_LCD_ST7735_INVERT_COLOR
bool "Invert LCD color"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default n
help
Enable this if the panel shows inverted colors.
config EXAMPLE_LCD_ST7735_MIRROR_X
bool "Mirror LCD X axis"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default n
config EXAMPLE_LCD_ST7735_MIRROR_Y
bool "Mirror LCD Y axis"
depends on EXAMPLE_LCD_CONTROLLER_ST7735 || EXAMPLE_LCD_CONTROLLER_ST7789
default n
config EXAMPLE_LCD_TOUCH_ENABLED
bool "Enable LCD touch"
default n
help
Enable this option if you wish to use display touch. You can select from touch controllers.
choice EXAMPLE_LCD_TOUCH_CONTROLLER
prompt "LCD touch controller model"
depends on EXAMPLE_LCD_TOUCH_ENABLED
default EXAMPLE_LCD_TOUCH_CONTROLLER_STMPE610
help
Select LCD touch controller model
config EXAMPLE_LCD_TOUCH_CONTROLLER_STMPE610
bool "STMPE610"
help
Touch controller STMPE610 connected via SPI.
config EXAMPLE_LCD_TOUCH_CONTROLLER_XPT2046
bool "XPT2046"
help
Touch controller XPT2046 connected via SPI.
config EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
bool "GT911"
help
Touch controller GT911 connected via I2C.
endchoice
config EXAMPLE_LCD_MIRROR_Y
int
default 1 if EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_XPT2046
default 0
help
This value is 1 if XPT2046 touch controller is selected, 0 otherwise.
config EXAMPLE_LCD_TOUCH_GT911_I2C_SDA
int "GT911 I2C SDA GPIO"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default 15
help
GPIO number for the GT911 I2C SDA signal.
config EXAMPLE_LCD_TOUCH_GT911_I2C_SCL
int "GT911 I2C SCL GPIO"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default 16
help
GPIO number for the GT911 I2C SCL signal.
config EXAMPLE_LCD_TOUCH_GT911_RST_GPIO
int "GT911 reset GPIO"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default 17
help
GPIO number for GT911 reset. Set to -1 if the pin is not connected.
config EXAMPLE_LCD_TOUCH_GT911_INT_GPIO
int "GT911 interrupt GPIO"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default 8
help
GPIO number for GT911 interrupt. Set to -1 if the pin is not connected.
config EXAMPLE_LCD_TOUCH_GT911_I2C_ADDR
hex "GT911 I2C address"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default 0x5D
help
GT911 address. Common values are 0x5D and 0x14.
config EXAMPLE_LCD_TOUCH_GT911_I2C_FREQ_HZ
int "GT911 I2C clock frequency"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default 400000
help
I2C clock frequency in Hz.
config EXAMPLE_LCD_TOUCH_GT911_SWAP_XY
bool "Swap GT911 X/Y coordinates"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default n
config EXAMPLE_LCD_TOUCH_GT911_MIRROR_X
bool "Mirror GT911 X coordinates"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default n
config EXAMPLE_LCD_TOUCH_GT911_MIRROR_Y
bool "Mirror GT911 Y coordinates"
depends on EXAMPLE_LCD_TOUCH_ENABLED && EXAMPLE_LCD_TOUCH_CONTROLLER_GT911
default n
endmenu