#ifndef __GT811_H_
#define __GT811_H_

#include "stm32f7xx_hal.h"

#define  GT811_MAX_WIDTH		((uint16_t)1024)    	//Touchscreen pad max width
#define  GT811_MAX_HEIGHT		((uint16_t)600)     	//Touchscreen pad max height

#define GT811_CMD_WR				0XBA									//写数据命令
#define GT811_CMD_RD   			0XBB									//读数据命令
#define GT811_EXCHG_XY			1											//调转XY坐标

#define GT811_MAX_TOUCH    	5											//电容触摸屏最大支持的点数
#define GT811_READ_XY_REG 	0x721  								//读取坐标寄存器 
#define GT811_CONFIG_REG   	0x6A2									//配置参数起始寄存器

#define GT811_RST_CLK()			__GPIOD_CLK_ENABLE()
#define GT811_RST_PORT			GPIOD
#define GT811_RST_PIN				GPIO_PIN_11

#define GT811_DEBUG 				1

typedef struct
{ 
	volatile uint8_t Flag;
	uint8_t		Count;
	uint8_t		Static;
	uint8_t		TouchPointFlag;	
	uint16_t 	x[GT811_MAX_TOUCH];										//触摸X坐标
	uint16_t 	y[GT811_MAX_TOUCH];										//触摸Y坐标
 	uint8_t		ppr[GT811_MAX_TOUCH];									//触摸点的压力	
}GT811_Device;

extern GT811_Device 	GT811_Dev;

uint8_t GT811_Init(void);	    										//初始化GT811						 
void GT811_Scan(void);														//扫描GT811	

#endif /*__GT811_H_*/
