SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
TouchDrvCST816.hpp
Go to the documentation of this file.
1
29#pragma once
30
31#include "../SensorBuildOpt.h"
32#if !SENSORLIB_EXCLUDE_TOUCH_CST816
33
34#include "TouchDrvInterface.hpp"
35
36static constexpr uint8_t CST816_SLAVE_ADDRESS = (0x15);
37
39{
40public:
46 TouchDrvCST816() = default;
47
52 ~TouchDrvCST816() = default;
53
61 void sleep() override;
62
68 const TouchPoints &getTouchPoints() override;
69
75 const char *getModelName() override;
76
83 void disableAutoSleep() ;
84
90 void enableAutoSleep() ;
91
92private:
93 bool initImpl(uint8_t) override;
94
95 void beforeBegin() override
96 {
99 }
100
101protected:
102 static constexpr uint8_t CST8xx_REG_STATUS = (0x00);
103 static constexpr uint8_t CST8xx_REG_XPOS_HIGH = (0x03);
104 static constexpr uint8_t CST8xx_REG_XPOS_LOW = (0x04);
105 static constexpr uint8_t CST8xx_REG_YPOS_HIGH = (0x05);
106 static constexpr uint8_t CST8xx_REG_YPOS_LOW = (0x06);
107 static constexpr uint8_t CST8xx_REG_DIS_AUTOSLEEP = (0xFE);
108 static constexpr uint8_t CST8xx_REG_CHIP_ID = (0xA7);
109 static constexpr uint8_t CST8xx_REG_FW_VERSION = (0xA9);
110 static constexpr uint8_t CST8xx_REG_SLEEP = (0xE5);
111 static constexpr uint8_t CST816S_CHIP_ID = (0xB4);
112 static constexpr uint8_t CST816T_CHIP_ID = (0xB5);
113 static constexpr uint8_t CST716_CHIP_ID = (0x20);
114 static constexpr uint8_t CST820_CHIP_ID = (0xB7);
115 static constexpr uint8_t CST816D_CHIP_ID = (0xB6);
116 static constexpr uint8_t MAX_FINGER_NUM = (1);
117};
118
119#endif
TouchDrvCST816()=default
Constructor for the touch driver.
void sleep() override
Puts the touch driver to sleep.
static constexpr uint8_t CST8xx_REG_SLEEP
static constexpr uint8_t MAX_FINGER_NUM
const TouchPoints & getTouchPoints() override
Get the touch points.
void enableAutoSleep()
Enable auto sleep mode.
static constexpr uint8_t CST820_CHIP_ID
static constexpr uint8_t CST8xx_REG_DIS_AUTOSLEEP
static constexpr uint8_t CST816D_CHIP_ID
static constexpr uint8_t CST8xx_REG_XPOS_LOW
static constexpr uint8_t CST816S_CHIP_ID
static constexpr uint8_t CST8xx_REG_XPOS_HIGH
static constexpr uint8_t CST8xx_REG_FW_VERSION
void disableAutoSleep()
Disable auto sleep mode.
~TouchDrvCST816()=default
Destructor for the touch driver.
static constexpr uint8_t CST8xx_REG_STATUS
static constexpr uint8_t CST8xx_REG_CHIP_ID
static constexpr uint8_t CST716_CHIP_ID
const char * getModelName() override
Get the model name.
static constexpr uint8_t CST8xx_REG_YPOS_HIGH
static constexpr uint8_t CST8xx_REG_YPOS_LOW
static constexpr uint8_t CST816T_CHIP_ID
Abstract base class for touch screen drivers.
virtual uint8_t getPoint(int16_t *x_array, int16_t *y_array, uint8_t get_point=1) __attribute__((deprecated("use getTouchPoints instead of getPoint")))
Retrieve touch point coordinates (deprecated).
TouchPinsCfg _pinsCfg
Configuration for reset and interrupt pins.
Container for touch point data and optional gesture information.