Files
Peter Siegmund 09037c6df0 initial ESP-IDF project
Signed-off-by: Peter Siegmund <peter@rdkr.com>
2024-05-29 23:03:43 +02:00

50 lines
790 B
C++

#pragma once
#ifndef ARDUINO
#error touch.h requires the Arduino framework
#endif
#include <Arduino.h>
#include <Wire.h>
#define TOUCH_SLAVE_ADDRESS 0x5A
class TouchClass
{
typedef struct {
uint8_t id;
uint8_t state;
uint16_t x;
uint16_t y;
} TouchData_t;
public:
bool begin(TwoWire &port = Wire, uint8_t addr = TOUCH_SLAVE_ADDRESS);
uint8_t scanPoint();
void getPoint(uint16_t &x, uint16_t &y, uint8_t index);
void sleep(void);
void wakeup(void);
TouchData_t data[5];
private:
void clearFlags(void);
void readBytes(uint8_t *data, uint8_t nbytes);
uint8_t _address;
bool initialization = false;
TwoWire *_i2cPort;
};