You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

108 rivejä
2.0 KiB

/*******************************************************************************
  * Copyright(c) 2023 Levetop Semiconductor Co.,Led. All rights reserved.
  * @file     data.h
  * @author   UartTFT Application Team
  * @version  V1.0.0
  * @date     2023-02-24
  * @brief
 ********************************************************************************/
#ifndef _data_h
#define _data_h
#include "type.h"
#include "module_select.h"
extern volatile uint8_t var[];
#if R_TOUCH_FLAG
#include "rtp.h"
#endif
#if FT_TOUCH_FLAG
#include "ft5216.h"
#endif
#define RX_SIZE (4096 + 2) // Macro used to control USART receiving data
typedef struct
{
	uint8_t Flag; // Data receiving completion flag
	uint8_t Buf[RX_SIZE];
	uint16_t Count;
} USART_RX_INFO;
extern USART_RX_INFO gUsartRx; // For serial port reception
#if (UARTBUS_OPTION == 3 || UARTBUS_OPTION == 4)
typedef struct
{
	uint8_t Flag; // Data receiving completion flag
	uint8_t Buf[2048 + 20];
	uint16_t Count;
} Hid_RX_INFO;
extern Hid_RX_INFO gHidRx; // For serial port reception
#endif
#define CT_MAX_TOUCH 5 // Number of points supported by capacitive screen
typedef struct
{
	uint8_t (*scan)(void);	  // Scan the touch screen;
	uint8_t sta;			  // Status flag,  0:Not pressed	1:First press	2:Keep pressing
	uint16_t x[CT_MAX_TOUCH]; // Screen coordinates
	uint16_t y[CT_MAX_TOUCH]; // Screen coordinates
	uint16_t px;			  // Physical coordinates
	uint16_t py;			  // Physical coordinates
	uint8_t flag; // Read from flash. When the value is 0x5a, it means that there are four parameters in flash
	float xfac;
	float yfac;
	float xoff;
	float yoff;
} TP_INFO;
extern TP_INFO gTpInfo; 
typedef union
{
	float x;
	char s[4];
} TP_TEST;
typedef union
{
	float xfac;
	char s[4];
} TP_xfac;
typedef union
{
	float xoff;
	char s[4];
} TP_xoff;
typedef union
{
	float yfac;
	char s[4];
} TP_yfac;
typedef union
{
	float yoff;
	char s[4];
} TP_yoff;
extern TP_xfac gTpxfac;
extern TP_xoff gTpxoff;
extern TP_yfac gTpyfac;
extern TP_yoff gTpyoff;
extern uint8_t First_press;
extern uint16_t First_pressX, First_pressY;
#endif