lvgl_esp32_drivers/lvgl_touch/Kconfig
2021-07-08 11:04:07 +02:00

515 lines
14 KiB
Plaintext

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"
config LV_I2C_TOUCH_PORT_1
bool
prompt "I2C port 1"
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