Simple test

Ensure your device works with this simple test.

examples/tsc2007_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2022 ladyada for Adafruit Industries
 2#
 3# SPDX-License-Identifier: Unlicense
 4
 5
 6import board
 7
 8import adafruit_tsc2007
 9
10# Use for I2C
11i2c = board.I2C()  # uses board.SCL and board.SDA
12# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
13
14irq_dio = None  # don't use an irq pin by default
15# uncomment for optional irq input pin so we don't continuously poll the I2C for touches
16# irq_dio = digitalio.DigitalInOut(board.A0)
17tsc = adafruit_tsc2007.TSC2007(i2c, irq=irq_dio)
18
19while True:
20    if tsc.touched:
21        point = tsc.touch
22        if point["pressure"] < 100:  # ignore touches with no 'pressure' as false
23            continue
24        print(f"Touchpoint: ({point['x']}, {point['y']}, {point['pressure']})")

Display Specific test

Initialize a display and set options so that axes are correct to rotation.

examples/tsc2007_3.5_feather_v2.py
 1# SPDX-FileCopyrightText: Copyright (c) 2024 Melissa LeBlanc-Williams for Adafruit Industries
 2#
 3# SPDX-License-Identifier: Unlicense
 4
 5
 6import board
 7import displayio
 8import fourwire
 9from adafruit_hx8357 import HX8357
10
11import adafruit_tsc2007
12
13# Initialize the Display
14displayio.release_displays()
15
16spi = board.SPI()
17tft_cs = board.D9
18tft_dc = board.D10
19
20display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs)
21display = HX8357(display_bus, width=480, height=320)
22
23# Use for I2C
24i2c = board.I2C()  # uses board.SCL and board.SDA
25# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
26
27tsc = adafruit_tsc2007.TSC2007(i2c, invert_x=True, swap_xy=True)
28
29while True:
30    if tsc.touched:
31        point = tsc.touch
32        if point["pressure"] < 100:  # ignore touches with no 'pressure' as false
33            continue
34        print(f"Touchpoint: ({point['x']}, {point['y']}, {point['pressure']})")