e52112376f
For discussion see #70
515 lines
14 KiB
Plaintext
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
|
|
|
|
|
|
|