2019-08-20 11:15:56 +01:00
|
|
|
#ifndef FT6236
|
|
|
|
#define FT6236
|
|
|
|
|
|
|
|
#define FT6236_MODE_NORMAL 0x00
|
|
|
|
#define FT6236_MODE_TEST 0x04
|
|
|
|
#define FT6236_MODE_SYSTEM 0x01
|
|
|
|
|
|
|
|
#define FT6236_BUFFER_SIZE 0x1E // 30 bytes buffer
|
|
|
|
#define FT6236_MAX_BUTTONS 1 // 50 buttons should be enough for just about any page
|
|
|
|
|
|
|
|
struct TouchLocation {
|
|
|
|
uint16_t y; // we swop x and y in position because we're using the screen in portrait mode
|
|
|
|
uint16_t x;
|
|
|
|
};
|
|
|
|
|
|
|
|
void FT6236flushbuttonregister(void);
|
|
|
|
void FT6236registerbutton(uint16_t buttonid,uint16_t xmin,uint16_t ymin,uint16_t xmax, uint16_t ymax);
|
|
|
|
uint16_t FT6236GetButtonMask(void);
|
|
|
|
void FT6236begin(uint8_t i2c_addr);
|
|
|
|
uint8_t FT6236readTouchRegister( uint8_t reg );
|
|
|
|
uint8_t FT6236readTouchLocation( TouchLocation * pLoc, uint8_t num );
|
|
|
|
uint8_t FT6236readTouchAddr( uint8_t regAddr, uint8_t * pBuf, uint8_t len );
|
|
|
|
void FT6236writeTouchRegister( uint8_t reg, uint8_t val);
|
|
|
|
uint32_t FT6236dist(const TouchLocation & loc);
|
|
|
|
uint32_t FT6236dist(const TouchLocation & loc1, const TouchLocation & loc2);
|
|
|
|
bool FT6236sameLoc( const TouchLocation & loc, const TouchLocation & loc2 );
|
|
|
|
|
|
|
|
#endif
|