menu "LVGL Touch controller" config LV_TOUCH_CONTROLLER int default 0 if LV_TOUCH_CONTROLLER_NONE default 1 if LV_TOUCH_CONTROLLER_XPT2046 default 2 if LV_TOUCH_CONTROLLER_FT6X06 default 3 if LV_TOUCH_CONTROLLER_STMPE610 default 4 if LV_TOUCH_CONTROLLER_ADCRAW default 5 if LV_TOUCH_CONTROLLER_FT81X default 6 if LV_TOUCH_CONTROLLER_RA8875 default 7 if LV_TOUCH_CONTROLLER_GT911 choice prompt "Select a touch panel controller model." default LV_TOUCH_CONTROLLER_NONE help Select the controller for your touch panel. config LV_TOUCH_CONTROLLER_NONE bool "None" config LV_TOUCH_CONTROLLER_XPT2046 select LV_TOUCH_DRIVER_PROTOCOL_SPI bool "XPT2046" config LV_TOUCH_CONTROLLER_FT6X06 select LV_I2C_TOUCH bool "FT6X06" config LV_TOUCH_CONTROLLER_STMPE610 select LV_TOUCH_DRIVER_PROTOCOL_SPI bool "STMPE610" config LV_TOUCH_CONTROLLER_ADCRAW select LV_TOUCH_DRIVER_ADC bool "ADCRAW" config LV_TOUCH_CONTROLLER_FT81X select LV_TOUCH_DRIVER_PROTOCOL_SPI bool "FT81X" config LV_TOUCH_CONTROLLER_RA8875 select LV_TOUCH_DRIVER_DISPLAY bool "RA8875" config LV_TOUCH_CONTROLLER_GT911 select LV_I2C_TOUCH bool "GT911" endchoice config LV_TOUCH_DRIVER_PROTOCOL_SPI bool help Touch controller protocol SPI config LV_I2C_TOUCH bool help Touch controller protocol I2C config LV_TOUCH_DRIVER_ADC bool help Touch controller via ADC config LV_TOUCH_DRIVER_DISPLAY bool help Touch controller uses same interface/device as display (Note: Display must be initialized before touch) choice prompt "Touch Controller SPI Bus." depends on LV_TOUCH_DRIVER_PROTOCOL_SPI default LV_TOUCH_CONTROLLER_SPI_VSPI if !IDF_TARGET_ESP32S2 default LV_TOUCH_CONTROLLER_SPI_FSPI if IDF_TARGET_ESP32S2 help Select the SPI Bus the TFT Display is attached to. config LV_TOUCH_CONTROLLER_SPI_HSPI bool "HSPI" config LV_TOUCH_CONTROLLER_SPI_VSPI bool "VSPI" if !IDF_TARGET_ESP32S2 config LV_TOUCH_CONTROLLER_SPI_FSPI bool "FSPI" if IDF_TARGET_ESP32S2 endchoice menu "Touchpanel (XPT2046) Pin Assignments" depends on LV_TOUCH_CONTROLLER_XPT2046 config LV_TOUCH_SPI_MISO int prompt "GPIO for MISO (Master In Slave Out)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 35 if LV_PREDEFINED_PINS_38V1 default 19 help Configure the touchpanel MISO pin here. config LV_TOUCH_SPI_MOSI int prompt "GPIO for MOSI (Master Out Slave In)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 32 if LV_PREDEFINED_PINS_38V1 default 23 help Configure the touchpanel MOSI pin here. config LV_TOUCH_SPI_CLK int "GPIO for CLK (SCK / Serial Clock)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 26 if LV_PREDEFINED_PINS_38V1 default 18 help Configure the touchpanel CLK pin here. config LV_TOUCH_SPI_CS int "GPIO for CS (Slave Select)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 default 33 if LV_PREDEFINED_PINS_38V1 default 5 help Configure the touchpanel CS pin here. config LV_TOUCH_PIN_IRQ int "GPIO for IRQ (Interrupt Request)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 27 if LV_PREDEFINED_PINS_38V4 default 25 help Configure the touchpanel IRQ pin here. endmenu menu "Touchpanel Configuration (XPT2046)" depends on LV_TOUCH_CONTROLLER_XPT2046 config LV_TOUCH_X_MIN int prompt "Minimum X coordinate value." default 0 if LV_PREDEFINED_PINS_38V4 default 200 config LV_TOUCH_Y_MIN int prompt "Minimum Y coordinate value." default 0 if LV_PREDEFINED_PINS_38V4 default 120 config LV_TOUCH_X_MAX int prompt "Maximum X coordinate value." default 4095 if LV_PREDEFINED_PINS_38V4 default 1900 config LV_TOUCH_Y_MAX int prompt "Maximum Y coordinate value." default 4095 if LV_PREDEFINED_PINS_38V4 default 1900 config LV_TOUCH_XY_SWAP bool prompt "Swap XY." default y config LV_TOUCH_INVERT_X bool prompt "Invert X coordinate value." default y config LV_TOUCH_INVERT_Y bool prompt "Invert Y coordinate value." default y choice prompt "Select touch detection method." default LV_TOUCH_DETECT_IRQ help Select the controller for your touch panel. config LV_TOUCH_DETECT_IRQ bool "IRQ pin only" config LV_TOUCH_DETECT_IRQ_PRESSURE bool "IRQ pin and pressure" config LV_TOUCH_DETECT_PRESSURE bool "Pressure only" endchoice endmenu menu "Touchpanel Configuration (FT6X06)" depends on LV_TOUCH_CONTROLLER_FT6X06 config LV_FT6X36_SWAPXY bool prompt "Swap X with Y coordinate." default n config LV_FT6X36_INVERT_X bool prompt "Invert X coordinate value." default n config LV_FT6X36_INVERT_Y bool prompt "Invert Y coordinate value." default n endmenu menu "Touchpanel (STMPE610) Pin Assignments" depends on LV_TOUCH_CONTROLLER_STMPE610 config LV_TOUCH_SPI_MISO int prompt "GPIO for MISO (Master In Slave Out)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 35 if LV_PREDEFINED_PINS_38V1 default 19 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING default 19 help Configure the touchpanel MISO pin here. config LV_TOUCH_SPI_MOSI # TODO Fix default for ESP32C3 int prompt "GPIO for MOSI (Master Out Slave In)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 32 if LV_PREDEFINED_PINS_38V1 default 18 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING default 23 help Configure the touchpanel MOSI pin here. config LV_TOUCH_SPI_CLK int "GPIO for CLK (SCK / Serial Clock)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 26 if LV_PREDEFINED_PINS_38V1 default 5 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING default 18 help Configure the touchpanel CLK pin here. config LV_TOUCH_SPI_CS int "GPIO for CS (Slave Select)" range 0 39 if IDF_TARGET_ESP32 range 0 46 if IDF_TARGET_ESP32S2 range 0 21 if IDF_TARGET_ESP32C3 default 33 if LV_PREDEFINED_PINS_38V1 default 32 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING default 5 help Configure the touchpanel CS pin here. endmenu menu "Touchpanel Configuration (STMPE610)" depends on LV_TOUCH_CONTROLLER_STMPE610 config LV_TOUCH_X_MIN int prompt "Minimum X coordinate value." default 160 config LV_TOUCH_Y_MIN int prompt "Minimum Y coordinate value." default 230 config LV_TOUCH_X_MAX int prompt "Maximum X coordinate value." default 3800 config LV_TOUCH_Y_MAX int prompt "Maximum Y coordinate value." default 3800 config LV_TOUCH_XY_SWAP bool prompt "Swap XY." default n config LV_TOUCH_INVERT_X bool prompt "Invert X coordinate value." default y config LV_TOUCH_INVERT_Y bool prompt "Invert Y coordinate value." default y endmenu menu "Touchpanel (ADCRAW) Pin Assignments" depends on LV_TOUCH_CONTROLLER_ADCRAW config LV_TOUCHSCREEN_RESISTIVE_PIN_YU int prompt "GPIO Y+" default 26 if CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 default 26 help Configure the touchpanel Y+ pin. Can be a regular GPIO. config LV_TOUCHSCREEN_RESISTIVE_PIN_YD int prompt "GPIO/ADC Y-" default 32 if CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 default 32 help Configure the touchpanel Y- pin. Must be ADC input. config LV_TOUCHSCREEN_RESISTIVE_PIN_XL int prompt "GPIO X-" default 27 if CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 default 27 help Configure the touchpanel X- pin. Can be a regular GPIO. config LV_TOUCHSCREEN_RESISTIVE_PIN_XR int prompt "GPIO/ADC X+" default 33 if CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 default 33 help Configure the touchpanel X- pin. Must be ADC input. endmenu menu "Touchpanel Configuration (ADCRAW)" depends on LV_TOUCH_CONTROLLER_ADCRAW config LV_TOUCH_X_MIN int prompt "Minimum X coordinate value." default 160 config LV_TOUCH_Y_MIN int prompt "Minimum Y coordinate value." default 230 config LV_TOUCH_X_MAX int prompt "Maximum X coordinate value." default 3800 config LV_TOUCH_Y_MAX int prompt "Maximum Y coordinate value." default 3800 config LV_TOUCH_XY_SWAP bool prompt "Swap XY." default n config LV_TOUCH_INVERT_X bool prompt "Invert X coordinate value." default y config LV_TOUCH_INVERT_Y bool prompt "Invert Y coordinate value." default y endmenu menu "Touchpanel Configuration (RA8875)" depends on LV_TOUCH_CONTROLLER_RA8875 config LV_TOUCH_X_MIN int prompt "Minimum X coordinate ADC value" range 0 1023 default 0 config LV_TOUCH_Y_MIN int prompt "Minimum Y coordinate ADC value" range 0 1023 default 0 config LV_TOUCH_X_MAX int prompt "Maximum X coordinate ADC value" range 0 1023 default 1023 config LV_TOUCH_Y_MAX int prompt "Maximum Y coordinate ADC value" range 0 1023 default 1023 config LV_TOUCH_XY_SWAP bool prompt "Swap XY" default n config LV_TOUCH_INVERT_X bool prompt "Invert X coordinate value" default n config LV_TOUCH_INVERT_Y bool prompt "Invert Y coordinate value" default n config LV_TOUCH_RA8875_SAMPLE_TIME int prompt "TP Sample Time Adjusting" range 0 7 default 0 config LV_TOUCH_RA8875_ADC_CLOCK int prompt "ADC Clock Setting" range 0 7 default 0 config LV_TOUCH_RA8875_WAKEUP_ENABLE bool prompt "Touch Panel Wakeup Enable" default n config LV_TOUCH_RA8875_EXTERNAL_VREF bool prompt "TP ADC Use External Reference Voltage Source" default n config LV_TOUCH_RA8875_DEBOUNCE_ENABLE bool prompt "De-bounce Circuit Enable for Touch Panel Interrupt" default y endmenu menu "Touchpanel Configuration (GT911)" depends on LV_TOUCH_CONTROLLER_GT911 config LV_GT911_SWAPXY bool prompt "Swap X with Y coordinate." default y config LV_GT911_INVERT_X bool prompt "Invert X coordinate value." default n config LV_GT911_INVERT_Y bool prompt "Invert Y coordinate value." default y endmenu choice prompt "Select an I2C port for the touch panel" default LV_I2C_TOUCH_PORT_0 depends on LV_I2C_TOUCH config LV_I2C_TOUCH_PORT_0 bool prompt "I2C port 0" help I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu Component config->I2C Port Settings. config LV_I2C_TOUCH_PORT_1 bool prompt "I2C port 1" help I2C is shared peripheral managed by I2C Manager. In order to configure I2C Manager (pinout, etc.) see menu Component config->I2C Port Settings. endchoice config LV_I2C bool default y if LV_I2C_TOUCH config LV_I2C_TOUCH_PORT int default 1 if LV_I2C_TOUCH_PORT_1 default 0 endmenu