1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-17 05:32:45 +01:00
RIOT/drivers/Kconfig
bors[bot] 930811dc45
Merge #19884
19884: drivers/touch_dev_gestures: add gesture recognition for touch devices r=aabadie a=gschorcht

### Contribution description

This PR adds simple gesture recognition for touch devices accessed via the generic Touch Device API. It can be used in conjunction with device drivers that use either interrupts or polling mode. It supports up to two touches and the following gestures:
- Single and double tap at given position
- Long press and release given position
- Moving while pressed with current position
- Swipe left, right, up and down
- Zoom in (spread) and out (pinch)

Gesture recognition has been tested with:
- [x] `stm32f746g-disco` (works out of the box)
- [x] `stm32f723e-disco` (works out of the box)
- [x] `stm32f429i-disc1` (works on top of PR #19885)
- [x] `stm32l496g-disco` (works with my local LCD display changes waiting for PR #19825, not yet provided)
- [x] `esp32s3-wt32-sc01-plus` (new board, not yet provided)

### Testing procedure

Flash `tests/drivers/touch_dev_gestures` to a board with touch pane, for example:
```
BOARD=stm32f746g-disco make -j8 -C tests/drivers/touch_dev_gestures/ flash
```
PR #19885 is required for the `stm32f429i-disc1` board.

The output should look like this:
```
main(): This is RIOT! (Version: 2023.10-devel-121-g81c5c-drivers/touch_dev_gestures)
Single Tap X: 255, Y:154
Single Tap X: 253, Y:153
Double Tap X: 253, Y:149
Swipe right
Swipe down
Swipe left
Swipe up
Pressed    X: 257, Y:155
Moving     X: 257, Y:155
Moving     X: 257, Y:155
Moving     X: 259, Y:156
Moving     X: 262, Y:157
Moving     X: 266, Y:158
Moving     X: 269, Y:160
Moving     X: 273, Y:162
Moving     X: 276, Y:165
Moving     X: 278, Y:167
Moving     X: 278, Y:169
Moving     X: 278, Y:169
Released   X: 279, Y:172
```

### Issues/PRs references

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-01 12:57:14 +00:00

169 lines
4.2 KiB
Plaintext

# Copyright (c) 2020 HAW Hamburg
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
menu "Drivers"
rsource "saul/Kconfig"
menu "Actuator Device Drivers"
rsource "aip31068/Kconfig"
rsource "apa102/Kconfig"
rsource "dac_dds/Kconfig"
rsource "dfplayer/Kconfig"
rsource "dynamixel/Kconfig"
rsource "feetech/Kconfig"
rsource "grove_ledbar/Kconfig"
rsource "motor_driver/Kconfig"
rsource "mcp47xx/Kconfig"
rsource "my9221/Kconfig"
rsource "rgbled/Kconfig"
rsource "servo/Kconfig"
rsource "ws281x/Kconfig"
endmenu # Actuator Device Drivers
menu "Display Device Drivers"
rsource "disp_dev/Kconfig"
rsource "dsp0401/Kconfig"
rsource "hd44780/Kconfig"
rsource "ili9341/Kconfig"
rsource "lcd/Kconfig"
rsource "st7735/Kconfig"
rsource "touch_dev/Kconfig"
rsource "touch_dev_gestures/Kconfig"
endmenu # Display Device Drivers
menu "Miscellaneous Device Drivers"
rsource "at/Kconfig"
rsource "at24mac/Kconfig"
rsource "bq2429x/Kconfig"
rsource "cst816s/Kconfig"
rsource "ds1307/Kconfig"
rsource "ds3231/Kconfig"
rsource "ds3234/Kconfig"
rsource "edbg_eui/Kconfig"
rsource "io1_xplained/Kconfig"
rsource "pcf857x/Kconfig"
rsource "tps6274x/Kconfig"
rsource "uart_half_duplex/Kconfig"
rsource "usbdev_mock/Kconfig"
endmenu # Miscellaneous Device Drivers
rsource "Kconfig.net"
menu "Peripherals drivers"
rsource "periph_common/Kconfig"
rsource "rtt_rtc/Kconfig"
rsource "soft_spi/Kconfig"
rsource "soft_uart/Kconfig"
rsource "usbdev_synopsys_dwc2/Kconfig"
endmenu # Peripherals drivers
menu "Sensor Device Drivers"
rsource "ad7746/Kconfig"
rsource "adcxx1c/Kconfig"
rsource "ads101x/Kconfig"
rsource "adt7310/Kconfig"
rsource "adxl345/Kconfig"
rsource "apds99xx/Kconfig"
rsource "at30tse75x/Kconfig"
rsource "bh1750fvi/Kconfig"
rsource "bh1900nux/Kconfig"
rsource "bme680/Kconfig"
rsource "bmp180/Kconfig"
rsource "bmx055/Kconfig"
rsource "bmx280/Kconfig"
rsource "ccs811/Kconfig"
rsource "cst816s/Kconfig"
rsource "dcf77/Kconfig"
rsource "dht/Kconfig"
rsource "ds18/Kconfig"
rsource "ds75lx/Kconfig"
rsource "ft5x06/Kconfig"
rsource "fxos8700/Kconfig"
rsource "gp2y10xx/Kconfig"
rsource "hdc1000/Kconfig"
rsource "hih6130/Kconfig"
rsource "hmc5883l/Kconfig"
rsource "hm330x/Kconfig"
rsource "hsc/Kconfig"
rsource "hts221/Kconfig"
rsource "ina2xx/Kconfig"
rsource "ina3221/Kconfig"
rsource "isl29020/Kconfig"
rsource "isl29125/Kconfig"
rsource "itg320x/Kconfig"
rsource "jc42/Kconfig"
rsource "l3g4200d/Kconfig"
rsource "l3gxxxx/Kconfig"
rsource "lc709203f/Kconfig"
rsource "lis2dh12/Kconfig"
rsource "lis3dh/Kconfig"
rsource "lis3mdl/Kconfig"
rsource "lm75/Kconfig"
rsource "lpd8808/Kconfig"
rsource "lpsxxx/Kconfig"
rsource "lsm6dsl/Kconfig"
rsource "lsm303dlhc/Kconfig"
rsource "lsm303agr/Kconfig"
rsource "ltc4150/Kconfig"
rsource "mag3110/Kconfig"
rsource "matrix_keypad/Kconfig"
rsource "mfrc522/Kconfig"
rsource "mhz19/Kconfig"
rsource "mma8x5x/Kconfig"
rsource "mma7660/Kconfig"
rsource "mpl3115a2/Kconfig"
rsource "mpu9x50/Kconfig"
rsource "mq3/Kconfig"
rsource "opt3001/Kconfig"
rsource "pca9633/Kconfig"
rsource "pca9685/Kconfig"
rsource "pcd8544/Kconfig"
rsource "ph_oem/Kconfig"
rsource "pir/Kconfig"
rsource "pulse_counter/Kconfig"
rsource "qmc5883l/Kconfig"
rsource "scd30/Kconfig"
rsource "sdp3x/Kconfig"
rsource "sgp30/Kconfig"
rsource "sds011/Kconfig"
rsource "seesaw_soil/Kconfig"
rsource "sht1x/Kconfig"
rsource "sht2x/Kconfig"
rsource "sht3x/Kconfig"
rsource "shtcx/Kconfig"
rsource "si70xx/Kconfig"
rsource "si114x/Kconfig"
rsource "si1133/Kconfig"
rsource "sm_pwm_01c/Kconfig"
rsource "sps30/Kconfig"
rsource "srf02/Kconfig"
rsource "srf04/Kconfig"
rsource "srf08/Kconfig"
rsource "stmpe811/Kconfig"
rsource "tcs37727/Kconfig"
rsource "tmp00x/Kconfig"
rsource "tsl2561/Kconfig"
rsource "tsl4531x/Kconfig"
rsource "vcnl40x0/Kconfig"
rsource "veml6070/Kconfig"
rsource "vl6180x/Kconfig"
endmenu # Sensor Device Drivers
menu "Storage Device Drivers"
rsource "at24cxxx/Kconfig"
rsource "at25xxx/Kconfig"
rsource "mtd/Kconfig"
rsource "mtd_mapper/Kconfig"
rsource "mtd_sdcard/Kconfig"
rsource "nvram/Kconfig"
rsource "nvram_spi/Kconfig"
rsource "sdcard_spi/Kconfig"
rsource "sdmmc/Kconfig"
endmenu # Storage Device Drivers
endmenu # Drivers