1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/drivers
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
..
ad7746 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
adcxx1c examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ads101x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
adt7310 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
adxl345 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
aip31068 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
apa102 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
apds99xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
apds99xx_full examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at24cxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at24mac examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at25xxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at30tse75x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at86rf2xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at86rf2xx_aes examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
at86rf215 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ata8520e examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
atwinc15x0 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bh1750 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bh1900nux examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bme680 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bmp180 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bmx055 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bmx280 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
bq2429x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
candev examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cc110x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cc2420 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cc2538_rf tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ccs811 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ccs811_full examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
cst816s examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dac_dds tests/driver_dac_dds: make use of imath 2023-06-05 19:09:02 +02:00
dcf77 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dfplayer examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dht examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
disp_dev tests/drivers/disp_dev: fix off by one in display area 2023-07-22 18:37:02 +02:00
dose examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds18 tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ds75lx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds1307 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds3231 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ds3234 tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
dsp0401 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
dynamixel examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
edbg_eui tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
enc28j60 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
encx24j600 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
epd_bw_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
epd_bw_spi_disp_dev examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
esp_eth tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ethos examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
feetech examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ft5x06 tests/drivers/ft5x06: introduce FT5X06_POLLING_MODE 2023-08-25 17:32:24 +02:00
fxos8700 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
gp2y10xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
grove_ledbar examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hd44780 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hdc1000 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hih6130 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hm330x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hmc5883l examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hsc examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
hts221 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ili9341 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ina2xx tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
ina3221 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
io1_xplained examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ir_nec examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
isl29020 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
isl29125 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
itg320x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
jc42 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
kw2xrf tests/drivers: fix broken symlinks and paths 2023-05-12 16:36:40 +02:00
l3g4200d examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
l3gxxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lc709203f examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lis2dh12 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lis3dh examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lis3mdl examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lm75 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lpd8808 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lpsxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lsm6dsl examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
lsm303dlhc examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ltc4150 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mag3110 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
matrix_keypad examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mcp47xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mfrc522 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mhz19 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mma8x5x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mma7660 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
motor_driver tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
mpl3115a2 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mpu9x50 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mq3 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mrf24j40 tests/drivers: fix broken symlinks and paths 2023-05-12 16:36:40 +02:00
mtd_at24cxxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mtd_at25xxx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mtd_flashpage tests: update tests for MSP430 CPU 2023-06-19 14:49:55 +02:00
mtd_mapper examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
mtd_raw examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
my9221 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
nrf24l01p_lowlevel examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
nrf24l01p_ng examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
nrf802154 tests/drivers/nrf802154: build for nrf52840dk by default 2023-05-12 16:36:40 +02:00
nrfmin tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
nvram_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
opt3001 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pca9633 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pca9685 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pcd8544 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pcf857x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ph_oem examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pir examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pn532 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
pulse_counter examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
qmc5883l examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
rn2xx3 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sam0_eth tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
saul examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
saul_drivers tests: move remaining driver related applications to tests/drivers 2023-05-10 11:58:32 +02:00
scd30 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sdcard_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sdmmc tests: add test app for periph_sdmmc 2023-08-08 10:03:57 +02:00
sdp3x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sds011 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
seesaw_soil examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
servo examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sgp30 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sht1x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sht2x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sht3x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
shtcx tests/drivers/shtcx: don't repeat last string on error 2023-08-02 15:58:05 +02:00
si70xx examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
si114x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
si1133 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sm_pwm_01c examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
soft_spi examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
soft_uart examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sps30 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
srf02 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
srf04 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
srf08 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
st7735 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
stm32_eth tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00
stmpe811 tests/drivers/stmpe811: introduce STMPE811_POLLING_MODE 2023-08-13 17:11:54 +02:00
sx126x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sx127x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
sx1280 treewide: replace occurrences of tests/driver_ with new path 2023-05-06 15:38:21 +02:00
tcs37727 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tmp00x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
touch_dev tests/drivers/touch_dev: introduce TOUCH_DEV_POLLING 2023-08-12 13:21:48 +02:00
touch_dev_gestures tests/drivers/touch_dev_gestures: add gesture recognition test 2023-08-31 20:12:33 +02:00
tps6274x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tsl2561 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
tsl4531x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
vcnl40x0 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
veml6070 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
vl6180x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
w5100 examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
ws281x examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
xbee examples and tests: add atmega8 to relevent Makefile.ci 2023-07-11 21:22:02 +02:00
Makefile.drivers_common tests/drivers: move all driver tests into own folder 2023-05-04 12:45:07 +02:00