Драйвер экрана
This commit is contained in:
57
tsc2046.h
Normal file
57
tsc2046.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#include "eeprom.h"
|
||||
#include "mbed.h"
|
||||
|
||||
class TSC2046 {
|
||||
public:
|
||||
TSC2046(EEPROM* mem, PinName MOSI, PinName MISO, PinName SCK, PinName CS, PinName INT);
|
||||
|
||||
void GetXY(int32_t* X, int32_t* Y);
|
||||
|
||||
uint16_t getXd1(void);
|
||||
uint16_t getXd2(void);
|
||||
uint16_t getXd3(void);
|
||||
uint16_t getYd1(void);
|
||||
uint16_t getYd2(void);
|
||||
uint16_t getYd3(void);
|
||||
|
||||
void setXt1(uint32_t xt1);
|
||||
void setXt2(uint32_t xt2);
|
||||
void setXt3(uint32_t xt3);
|
||||
void setYt1(uint32_t yt1);
|
||||
void setYt2(uint32_t yt2);
|
||||
void setYt3(uint32_t yt3);
|
||||
void setCalibrated();
|
||||
bool getCalibrated();
|
||||
|
||||
bool DetectTouch();
|
||||
|
||||
void coeffCalc();
|
||||
|
||||
void GetRawXY(uint16_t* X, uint16_t* Y);
|
||||
|
||||
private:
|
||||
struct
|
||||
{
|
||||
volatile int32_t cali_A;
|
||||
volatile int32_t cali_B;
|
||||
volatile int32_t cali_C;
|
||||
volatile int32_t cali_D;
|
||||
volatile int32_t cali_E;
|
||||
volatile int32_t cali_F;
|
||||
volatile uint8_t touchIsCalibrated;
|
||||
uint8_t tmp;
|
||||
} touchCoeff;
|
||||
|
||||
uint32_t xt1;
|
||||
uint32_t xt2;
|
||||
uint32_t xt3;
|
||||
uint32_t yt1;
|
||||
uint32_t yt2;
|
||||
uint32_t yt3;
|
||||
|
||||
SPI* tpPort;
|
||||
DigitalOut* tpCS;
|
||||
DigitalIn* tpInt;
|
||||
EEPROM* eeprom;
|
||||
uint16_t readValue(uint16_t port);
|
||||
};
|
||||
Reference in New Issue
Block a user