#ifndef _CST816D_H #define _CST816D_H #include "driver/i2c.h" #include "driver/gpio.h" #define I2C_ADDR_CST816D 0x15 // Gestures typedef enum { None = 0x00, // No gesture SlideDown = 0x01, // Slide down SlideUp = 0x02, // Slide up SlideLeft = 0x03, // Slide left SlideRight = 0x04, // Slide right SingleTap = 0x05, // Single tap DoubleTap = 0x0B, // Double tap LongPress = 0x0C // Long press } GESTURE_t; typedef struct { int sda_pin; int scl_pin; int rst_pin; int int_pin; i2c_port_t i2c_port; } CST816D_t; void CST816D_init(CST816D_t *dev); bool CST816D_getTouch(CST816D_t *dev, uint16_t *x, uint16_t *y, uint8_t *gesture); #endif