CST816D.h 706 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef _CST816D_H
  2. #define _CST816D_H
  3. #include "driver/i2c.h"
  4. #include "driver/gpio.h"
  5. #define I2C_ADDR_CST816D 0x15
  6. // Gestures
  7. typedef enum {
  8. None = 0x00, // No gesture
  9. SlideDown = 0x01, // Slide down
  10. SlideUp = 0x02, // Slide up
  11. SlideLeft = 0x03, // Slide left
  12. SlideRight = 0x04, // Slide right
  13. SingleTap = 0x05, // Single tap
  14. DoubleTap = 0x0B, // Double tap
  15. LongPress = 0x0C // Long press
  16. } GESTURE_t;
  17. typedef struct {
  18. int sda_pin;
  19. int scl_pin;
  20. int rst_pin;
  21. int int_pin;
  22. i2c_port_t i2c_port;
  23. } CST816D_t;
  24. void CST816D_init(CST816D_t *dev);
  25. bool CST816D_getTouch(CST816D_t *dev, uint16_t *x, uint16_t *y, uint8_t *gesture);
  26. #endif