TinyGPU
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TouchDriverXPT2046 Class Reference

XPT2046 resistive touch controller. More...

#include <TouchDriverArduino.h>

Inheritance diagram for TouchDriverXPT2046:
Inheritance graph
[legend]
Collaboration diagram for TouchDriverXPT2046:
Collaboration graph
[legend]

Public Member Functions

 TouchDriverXPT2046 (SPIClass &spi, int8_t csPin, int8_t irqPin=-1, uint16_t zThreshold=400)
 
bool begin () override
 Initialize the controller.
 
bool isTouched () override
 Return whether the panel currently appears touched.
 
bool getPoint (Point &outPoint) override
 Read the current touch point.
 
void setZThreshold (uint16_t threshold)
 
uint16_t getZThreshold () const
 
- Public Member Functions inherited from TouchDriver
virtual ~TouchDriver ()=default
 
virtual bool begin ()=0
 Initialize the controller.
 
virtual bool isTouched ()=0
 Return whether the panel currently appears touched.
 
virtual bool getPoint (Point &outPoint)=0
 Read the current touch point.
 
virtual bool getSecondPoint (Point &outPoint)
 Read a second, simultaneous touch point, for multi-touch gestures (pinch/rotate).
 
void setRotation (Rotation rotation)
 
Rotation getRotation () const
 
bool setCalibration (const CalibrationData &cal)
 Set and validate calibration.
 
const CalibrationData & getCalibration () const
 
bool hasCalibration () const
 

Additional Inherited Members

- Protected Member Functions inherited from TouchDriver
Point mapCoordinates (int16_t rawX, int16_t rawY, uint16_t pressure=255) const
 Convert raw controller coordinates into logical display space.
 
- Static Protected Member Functions inherited from TouchDriver
static bool validateCalibration (const CalibrationData &cal)
 
static int32_t clamp32 (int32_t value, int32_t minimum, int32_t maximum)
 Clamp an integer to an inclusive range.
 
static int32_t mapRange (int32_t value, int32_t inMin, int32_t inMax, int32_t outMin, int32_t outMax)
 Map an integer from one range to another.
 
- Protected Attributes inherited from TouchDriver
Rotation rotation_ = Rotation::Deg0
 
CalibrationData calibration_
 
bool hasCalibration_ = false
 

Detailed Description

XPT2046 resistive touch controller.

Uses SPI.

XPT2046 command mapping: 0x90 = Y position 0xD0 = X position 0xB1 = Z1 0xC1 = Z2

Constructor & Destructor Documentation

◆ TouchDriverXPT2046()

TouchDriverXPT2046 ( SPIClass &  spi,
int8_t  csPin,
int8_t  irqPin = -1,
uint16_t  zThreshold = 400 
)
inline

Member Function Documentation

◆ begin()

bool begin ( )
inlineoverridevirtual

Initialize the controller.

The driver does NOT initialize the SPI/I2C bus itself. The application is responsible for calling Wire.begin(), SPI.begin(), and configuring any board-specific bus pins.

Implements TouchDriver.

◆ getPoint()

bool getPoint ( Point &  outPoint)
inlineoverridevirtual

Read the current touch point.

Returns
true if a valid touch point was obtained.

Implements TouchDriver.

◆ getZThreshold()

uint16_t getZThreshold ( ) const
inline

◆ isTouched()

bool isTouched ( )
inlineoverridevirtual

Return whether the panel currently appears touched.

For controllers without an IRQ pin this may perform a controller read.

Implements TouchDriver.

◆ setZThreshold()

void setZThreshold ( uint16_t  threshold)
inline

The documentation for this class was generated from the following file: