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.
 
 
 
 
 
 

821 lines
17 KiB

#ifndef __BSP_h
#define __BSP_h
#include "LT768.h"
#include "LT768_Lib.h"
#include "uart.h"
#include "rtc.h"
#include "SinCosTable.h"
#include "QR_Encode.h"
#include "module_select.h"
#include "bsp_user.h"
#include "w25qxx.h"
#include "w25n01.h"	
#include "GBK.h"																			  //2019
#include "pit32_drv.h"
																			  
#define SPI_X       1   // 选择LT768的SPI
#define CLK_DIV     0   // SPI的分频系数
#define OK  0
#define MAIN_BUFF   LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*1
#define LAY_BUFF1 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*2		//加载使用
#define LAY_BUFF2 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*3		//加载使用	  
#define LAY_BUFF3 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*4		//加载使用	  
#define LAY_BUFF4 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*5   //NandFlash使用    
#define LAY_BUFF5 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*6		//未使用	
#define LAY_BUFF6 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*7		//Nand Flash		文本显示
#define LAY_BUFF7 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*8   //目前切换页面缓存使用   弹窗页面使用
#define LAY_BUFF8 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*9   //未使用    
#define LAY_BUFF9	  LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*10  //环形进度条silide使用   //键盘光标使用  
#define LAY_BUFF10 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*11	//未使用
#define LAY_BUFF11 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*12	//目前键盘按键效果使用 + 编码器使用
#define LAY_BUFF12 	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*13     //文本滚动———占用两个层
#define LAY_BUFF14	LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*15
#define slideMune_BUFF   LCD_XSIZE_TFT*LCD_YSIZE_TFT*(2+TFT_bitcolor)*9
extern u32 Display_Layer;
extern u8 Flash_type;
/****ModBus运行变量*****/
extern u16 Cnt_ModbusTX;
extern u16 Sum_ModbusTX;
/*图片信息*/
extern u16 pic_id ;
extern u16 pic_id_temp;
extern u32 pic_add ;
extern u16 pic_w ;
extern u16 pic_h ;
extern u32 pic_len ;
extern u8 pic_flag ;
/*******变量空间*/
extern volatile u8 var_temp[];
extern volatile u8 var[];
extern u8 config_buff[];  //变量buff
extern char Display_buff[];
extern u16 Curve_buff[Curve_Size][1024]; 	//曲线数据缓冲区:8个通道,共16KB
extern u16 Curve_count[Curve_Size];			//曲线长度
extern u8 curve_update_flag[Curve_Size];		//曲线更新标志位
/****************/
/**背光变量*/
extern u16 gDutyBuf[];
extern u8 gDutyflag;
extern u8 Auto_Backlight;  //自动背光
extern u8 Backlight_On;
extern u8 Backlight_Off;	
extern u16 Backlight_time;
extern u32	Backlight_count;
extern u8 Backlight_flag;
extern u8 Backlight_first_touch;
extern u8 Backlight_touch;
/*自动背光*/
void BackLight_control(void);
/**********/
 
/****配置参数变量*****/
extern u8 buzzer;
extern u16 Start_page;
extern u8 SCI_C0;	
extern u8 SCI_C1;
extern u8 CRC_Enable_Flag;
extern u8 CRC_Feedback_Flag;
extern u8 Screen_DIR;	
extern u8 TFT_bitcolor;	
/********************/
void LT_ReceiveCmd(u8 *buf);	
void LT_ModBus_REG_Cmd(void);	
void Display_page(u16 id);
void download_page(u16 id,u16 Layer_width,u16 sdram_x,u16 sdram_y);
void Display_Icon(u16 id, u16 x,u16 y,u8 Display_mode);
void LT_ReadFlash(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead);
void reg_operation(u16 addr);		//寄存器操作
/****变量显示****/
void LT_Print_zk_ASCII
(
 unsigned long FlashAddr     		  // 字库源地址(Flash)    
,unsigned long ShowAddr           // 显示层的地址
,unsigned short width             // 显示层的宽度
,unsigned char W_Size          		// 设置字体宽度
,unsigned char H_Size          		// 设置字体高度
,unsigned char Alignment					//对齐方式  0左对齐,1右对齐,2居中
,unsigned long FontColor          // 字体的颜色
,unsigned short Xs                // 文本框起始x位置
,unsigned short Ys                // 文本框起始y位置
,unsigned char *c                 // 数据缓冲的首地址
);
void data_display(u8 type,u8 *buff);    //变量显示
extern u8 data_D_num ;  //用于记录数据显示的宽度
/**********************************/
/*文本显示*/
void text_display(u8 type ,u8 *buff);   
void LT_Print_zk_Font
(	
unsigned short encode         			// 编码类型
,unsigned long FlashAddr     				// 字库源地址(Flash)    
,unsigned long ShowAddr             // 显示层的地址
,unsigned short width               // 显示层的宽度
,unsigned char W_Size          			// 设置字体宽度
,unsigned char H_Size          			// 设置字体高度
,unsigned char Alignment						// 对齐方式
,unsigned long FontColor            // 字体的颜色
,unsigned char star									// 显示*号
,unsigned short Xs                  // 文本框起始x位置
,unsigned short Ys                  // 文本框起始y位置
,unsigned short Xe                  // 文本框结束x位置
,unsigned short Ye                  // 文本框结束y位置
,unsigned char dis_x                // x方向间距
,unsigned char dis_y                // y方向间距
,unsigned char *c                   // 数据缓冲的首地址
,unsigned short len_max 	
);
/***********/
void icon_display(u8 type,u8 *buff);		//icon显示
void qr_code(u8 type,u8 *buff);		//二维码显示
/**/
void pic_date_display(u8 type,u8 *buff);	//图片数据显示
extern u8 pdata_D_num;		//用于记录图片数据显示的的宽度
/**/
void progress_bar(u8 type,u8 *buff);  //进度条
void Circular_progress_bar(u8 type,u8 *buff);	//环形进度条 
void bit_control(u8 type,u8 *buff); //位变量控制
/***编码器*/
void get_encoder(u8 type,u8 *buff,u16 addr);	//编码器
void encoder(void);
extern u8 gEncoderFlag;
extern u16 Check_box_add ;
extern u8 Check_box_flag;
extern u8 Encoder_num ;
extern u8 Encoder_read_Flag, Encoder_Freetime ;
extern u8 knob_dir , SW_flag , Enc0 ,Enc1, SW_flag4 , key_time;
extern u16 Encoder_time;
extern u8 Double_click_interval;
extern u8 Long_press ,Encoder_type;
/*********/
/*gif显示*/
extern u8 Gif_num;
extern u8 Gif_flag;
typedef struct                
{
	u32 addr;
	u32 total;
	u16 p_add;
	u16 x;								//起始显示地址
	u16 y;
	u16 w;
	u16 h;
	u16 gif_id;
	u16 reset_En;         //0x0000:停止时,不复位动画图标起始值(动画图标显示从 ICON_Start到 ICON_End 间的一个任意值开始显示)。
														//0x0001:停止时,复位动画图标起始值(动画图标显示将固定从ICON_Start开始显示)。
	u8 t_d;             //帧时间间隔
	u8 t_c;							//记录时间
	u8 p_c;
	u16 V_stop;        //变量为该值时显示固定图标。
	u16 V_start;        //变量为该值时自动显示动画图标。
	u16 V_once;				//播放一次结束
	u8 mode ;
	u8 flag;
	u16 var_addr[8];
	u16 var[8];
}Gif_Info;
extern Gif_Info gGif_Info[];
void gif_display(u8 type,u8 *buff);     
void show_gif(void);
u8 LT_ShowGifPicture(u8 num);
/*RTC显示*/
extern u8 RTC_num;	
extern u8 RTC_flag;
typedef struct                
{
	u16 x;					
	u16 y;
	u16 ID_start;        //变量为该值时显示固定图标。
	u8 mode ;
	u16 Len_last;
}RTC_Info;
extern RTC_Info gRTC_Info[];
void RTC_display(u8 type,u8 *buff);
void show_RTC(void);
/************/
/*时钟显示*/
extern u8 Clock_num;	 
extern u8 Clock_flag;
typedef struct                
{
	u16 x;					
	u16 y;
	u16 Image_BG;       
	u8 L_hour;
	u8 S_hour;	
	u8 W_hour;
	u32 Color_hour;
	u8 L_min;
	u8 S_min;	
	u8 W_min;
	u32 Color_min;	
	u8 L_sec;
	u8 S_sec;	
	u8 W_sec;
	u32 Color_sec;
	u16 x_pic;
	u16 y_pic;
	u16 w_pic;	
	u16 h_pic;
	u32 addr_pic;
	u32 len_pic;
	u8 flag_pic;
	
	u16 x_cen;
	u16 y_cen;
	u16 w_cen;	
	u16 h_cen;
	u32 addr_cen;
	u32 len_cen;
	u8 flag_cen;	
}Clock_Info;
extern Clock_Info gClock_Info[];
void DrawPoint_Buffer_alphablend(int buff_x, int buff_y, float alpha, UINT32 color, UINT16 canvas) ;
void Clock_display(u8 type,u8 *buff);
void show_Clock(void);
extern u32 Lay_temp ;
/***************/
/*文字滚动*/
extern u8 Scroll_num; 
extern u8 Scroll_flag;
//extern u8 Scroll_flag;
typedef struct                
{
	u16 x;					
	u16 y;
	u16 xe;			
	u16 ye;	
	u16 w;
	u16 h;
	u16 len;		//滑动内容的总像素长度
	u16 cnt;		//记录滚动的像素偏移量
	u8 flag;		//是否滚动
	u16 y_offset;	//记录文本内容在缓冲区的y坐标偏移量
	u8 t_d;			//帧时间间隔
	u8 t_c;			//记录时间
	u16 gap;		//尾部与开头的间距	
	u8 transparent;	//是否显示背景色
	u8 scroll_en;	//是否滚动
	u8 pixel_format; //灰阶
	u32 bcolor;
}Scroll_Info;
extern Scroll_Info gScroll_Info[];
void text_scroll(u8 type,u8 *buff);
void scroll_text(void);
/***********************/
/*曲线图*/
extern u8 curve_num;
extern u8 curve_flag;
typedef struct                
{
	u16 xs;								
	u16 ys;			
	u16 xe;			
	u16 ye;			
	u16 Y_Central;	//纵轴中间值绝对坐标		
	u16 VD_Central;	//纵轴中间基准值		
	u32 color;		//曲线颜色		
	u16 MUL_Y;		//放大/缩小倍数:MUL_Y/256	
	u8 channel;		//通道	
	u8 Dis_HOR;		//点间距	
	u8 Width;		//曲线粗细
	u8 group;		//组编号
	u8 dir;			//方向	
}Curve_Info;
extern Curve_Info gCurve_Info[];
void Curve_display(u8 type,u8 *buff);
void Display_Curve(void);
/**********/
/*计数显示*/
typedef struct                
{
	u16 v_add;
	u16 t_add;
	u16 c_add;
	u16 x;					
	u16 y;
	u16 ID_start;        
	u8 dis_mode ;
	u8 dir;
	u8 end_mode;
	u8 end_feedback;
	u16 var_addr[8];
	u16 var[8];
	u16 last_w;
}Count_Info;
extern Count_Info gCount_Info[];
extern u8 Count_sum;
extern u8 Count_flag;
void Saving_counting_parameters(void);
u8 Display_Count(u8 i);
void show_Count(void);
void count_display(u8 type,u8 *buff);
typedef struct
{
	u16 v_add;
	u16 t_add;
	u16 c_add;
	u8 dir;
	u8 end_feedback;
	u16 var_addr[8];
	u16 var[8];
}Record_count_Info;
extern Record_count_Info gRecord_count_Info[];
extern u8 Record_count;
/*************************/
//触控部分
/*触控公用*/
extern u8 button_Press_flag ;
extern u8 Button_Key_Code_Flag;
extern u16  Button_Key_Code;
/*********/
extern u8 buzzer_start ;
extern u8 buzzer_10ms_count ;
void touch_buzzer(void);
/***基础触控*/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 Xs;					//左上角坐标
	u16 Ys;
	u16 Xe;					//右下角坐标
	u16 Ye;
	u16 Keyvalue;   //键值
	u16 id;         //图标id
	u16 press_id;
	u16 Next_id;
}Basci_Info;
extern Basci_Info gBasci_Info[];
extern u8 Basci_count;
extern u8 Basci_flag;
extern u8 Basci_num;
void Basic_touch(void);
/*************/
/*增量调节*/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 Xs;					//左上角坐标
	u16 Ys;
	u16 Xe;					//右下角坐标
	u16 Ye;
	u16 p_add;			//变量指针地址
	u8 p_tpye; 	  //变量类型
	u8 Adj_mode;         //图标id
	u8 Return_Mode;	//阈值返回
	u16 Adj_step; 	//调节步长
	signed short V_min;			//下限
	signed short V_max;			//上限
	u8 key_mode;		//按压模式 ,0连续调节,1只调节一次
	u16 id;
	u16 press_id;
}Adj_Info;
extern Adj_Info gAdj_Info[];
extern u8 Adj_count;
extern u8 Adj_flag ;
extern u8 Adj_num ;
extern u8 Adj_time ;
extern u8 Adj_loop ;
void Adj_touch(void);
/***********/
/*滑动调节*/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 x1;					//底图坐标
	u16 y1;					//底图坐标
	u16 bgid;				//背景图id
	u16 x2;					//进度图x
	u16 y2;					//进度条y
	u16 slideid;		//进度图id
	u16 Xs;					//滑动左上角坐标
	u16 Ys;
	u16 Xe;					//滑动右下角坐标
	u16 Ye;
	u16 p_add;			//变量指针地址
	u16 arrowid;		//触控头id
	u8 direction;   //滑动方向
	u16 lastx;
	u16 lasty;
	u16 dx;
	u16 dy;
	signed short V_min;			//下限
	signed short V_max;			//上限
}Slide_Info;
extern Slide_Info gSlide_Info[];
extern u8 Slide_count;
extern u8 Slide_flag;
extern u8 slide_first_touch;
extern u8 slide_num;	
void Disp_slide(u8 i);
void Progress_bar_sliding(void);
/********/
/*数据输入*/
typedef struct                   
{
	u16 Code;    	//功能码        
	u8 len;       //长度
	u16 Xs;				//左上角坐标
	u16 Ys;
	u16 Xe;				//右下角坐标
	u16 Ye;
	u16 p_add;		//变量指针地址
	u8 p_tpye; 	  //变量类型
	u8 I_num;			//整数位
	u8 D_num;			//小数位
	u16 kb_x;			//键盘显示位置
	u16 kb_y;			//键盘显示位置
	u16 dp_x;			//数据显示位置
	u16 dp_y;			//数据显示位置
	u8 zk_id;
	u8 zk_w;
	u8 zk_h;
	u8 cursor_color;
	u16 kb_id;
	u8 Limite_EN;			//0xFF:启用输入范围限制
	signed int V_min;			//下限
	signed int V_max;			//上限
	u8 Alig; 		//数据输入左右对齐
	u32 fcolor;
}Dio_Info;
extern Dio_Info gDio_Info[];
extern u8 Dio_count;
extern u8 Dio_num;
extern u8 Dio_flag;
void data_input(void);
/***********/
/*键盘按键*/
typedef struct                   
{
	u16 Code;    	//功能码        
	u8 len;       //长度
	u16 Xs;				//左上角坐标
	u16 Ys;
	u16 Xe;				//右下角坐标
	u16 Ye;
	u16 Keyvalue;		//键值
	u16 press_id; 	  //变量类型
	
}Kb_Info;
extern Kb_Info gKb_Info[];
extern u8 Kb_count;
extern u8 Kb_num;
extern u8 Kb_flag;
extern u8 DioKb_flag;
extern u8 dot_flag;
extern u8 i_len;
extern u8 d_len;
extern u16 input_len;
extern u8 neg_flag;
extern u16 input_w;
extern u8 cur_w;
extern u16 cur_x;
extern u16 cur_y;
extern u16 Cusor_time;
extern u8 Cusor_sw;
/***********/
/*滑动菜单*/
typedef struct                   
{
	u16 Code;    	//功能码        
	u8 len;       //长度
	u16 p_add;		//变量指针
	u16 Xs;				//左上角坐标
	u16 Ys;
	u16 Xe;				//右下角坐标
	u16 Ye;
	u16 L1;		
	u16 L2; 
	u8 dir;
	u16 frontID;	//高亮图片ID
	u16 bgID;			//背景图片ID
	u8 flag ;
	u16 V_max;
	u16 V_min;
	u16 step;
	signed short pos;		//用于记录位置
	
}SldMenu_Info;
extern SldMenu_Info gSldMenu_Info[];
extern u8 sldmenu_count;
extern u8 sldmenu_num;
extern u8 sldmenu_flag;
extern u8 SLDMfirsttouch;
extern u16 lastx;
extern u16 lasty;
extern u16 Sldw;
extern u16 Sldh;
extern u8 sld_mum;
void slideMune(void);
void DL_menu(u8 num);
void dp_menu(u8 num);
/****************/
/***手势滑动*/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 page[4];
	u16 value[4];
}Gesture_Info;
extern Gesture_Info gGesture_Info;
extern u8 Gesture_press;		
extern u8 Gesture_direction;	
extern u8 Gesture_flag;
void Gesture_touch(void);
/**滑动屏幕**/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 page[2];
	u16 value[2];
	u16 ys;
	u16 ye;
}Sld_sc_Info;
extern Sld_sc_Info gSld_sc_Info;
extern u8 Ges_sc_flag;
extern u8 gFirstTouch;
void slide_screen(void);
/***********/
/*圆环滑动*/
typedef struct                   
{
	u16 Code;    	//功能码        
	u8 len;       //长度
	u16 p_add;		//变量指针
	u16 x;				//左上角坐标
	u16 y;				
	u16 frontID;	//高亮图片ID
	u16 bgID;			//背景图片ID
	u16 arrowid;  //触控头id
	u16 Sld_R;		//滑动半径
	u8 tp_R;			//触控半径
	u16 Vmin;
	u16 Vmax;
	u16 Sangle;
	u16	Eangle;
	u16 dx;
	u16 dy;
	u8 I_num;
	u8 D_num;
	u8 Alig;
	u8 zk_id;
	u32 color;
	u16 s_id;
	u16 e_id;
	u8 flag;
	
	u16 w1;
	u16 h1;
	u8 rm1;
	u16 x2;
	u16 y2;
	u16 w2;
	u16 h2;
	u8 rm2;
	u16 xR;
	u16 yR;
	
}RingSld_Info;
extern RingSld_Info gRingSld_Info[];
extern u8 RingSld_count;
extern u8 RingSld_firsttouch;
extern u8 RingSld_firstnum;
void DL_RingSld(u8 num);
void RingSld_Display(u8 num,u16 angle);
void RingSld_touch(void);
/********/
/*********ASCII录入*****/
typedef struct                   
{
	u16 Code;    	//功能码        
	u8 len;       //长度
	u16 Xs;				//左上角坐标
	u16 Ys;
	u16 Xe;				//右下角坐标
	u16 Ye;
	u16 p_add;		//变量指针地址
	u16 p_len; 	  //变量长度
	u8 scan_mode;	//录入模式
	u8 zk_id;			//字库id
	u8 zk_w;			//字体宽度
	u8 zk_h;			//字体高度
	u8 cursor_color;	//光标颜色
	u32 fcolor;
	u16 dp_x;			//文本显示位置
	u16 dp_y;			//文本显示位置
	u16 kb_id;  
	u16 kb_x;			//键盘显示位置
	u16 kb_y;			//键盘显示位置
	u8 input_mode;
	u32 zk_addr;
}Aio_Info;
extern Aio_Info gAio_Info[];
extern u8 Aio_count;
extern u8 Aio_num;
extern u8 Aio_flag;
extern u8 AioKb_flag;
extern u8 CapsLock;
void Ascii_input(void);
/*****************/
/**********GBK输入*****/
typedef struct                   
{
	u16 Code;    	//功能码        
	u8 len;       //长度
	u16 Xs;				//左上角坐标
	u16 Ys;
	u16 Xe;				//右下角坐标
	u16 Ye;
	u16 p_add;		//变量指针地址
	u16 p_len; 	  //变量长度
	u8 scan_mode;	//录入模式
	u8 zk_id;			//字库id
	u8 zk_w;			//字体宽度
	u8 zk_h;			//字体高度
	u8 cursor_color;	//光标颜色
	u32 fcolor;
	u16 dp_x;			//文本显示位置
	u16 dp_y;			//文本显示位置
	u32 pycolor;
	u8 py_zk;
	u8 py_w;
	u8 py_h;
	u16 py_x;			//PY显示位置
	u16 py_y;	
	u16 cn_x;
	u16 cn_y;
	u8 spacing ; 	//汉字显示间距
	u16 kb_id;  
	u16 kb_x;			//键盘显示位置
	u16 kb_y;			//键盘显示位置
	u8 input_mode;
	u32 zk_addr;
	u32 py_addr;
}GBKio_Info;
extern GBKio_Info gGBKio_Info[];
void GBK_input(void);
extern u8 GBKio_count ;
extern u8 GBKio_num ;
extern u8 GBKio_flag ;
extern u8 GBKioKb_flag ;
extern u8 GBK_PY_length ;  //拼音长度
extern u8 GBK_CN_EN ; 		 //中英文输入法使能
extern u8 GBK_PY_buff[] ; 
extern u16 GBK_PY_num ;
extern u8 GBK_len ;
extern u32 GBK_PY_addr ;
extern u8 GBK_linenum ;
/********************/
/*************变量修改****************/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 Xs;					//左上角坐标
	u16 Ys;
	u16 Xe;					//右下角坐标
	u16 Ye;
	u16 id;         //图标id
	u16 press_id;
	u16 Next_id;
	u16 var_addr[8];
	u16 var[8];
}VarKey_Info;
extern VarKey_Info gVarKey_Info[];
extern u8 VarKey_count;
extern u8 VarKey_flag;
extern u8 VarKey_num;
void VarKey_touch(void);
/************************************/
/***********弹出视窗*****/
typedef struct                   
{
	u16 Code;     	//功能码        
	u8 len;        	//长度
	u16 Xs;					//左上角坐标
	u16 Ys;
	u16 Xe;					//右下角坐标
	u16 Ye;
	u16 Keyvalue;   //键值
	u16 id;         //图标id
	u16 press_id;
	u16 pop_up_id;	
	u16 pop_up_x;
	u16 pop_up_y;
	u8 function;
	
}Pop_up_Info;
extern Pop_up_Info gPop_up_Info[];
extern u8 Pop_up_count;
extern u8 Pop_up_flag;
extern u8 Pop_up_num;
extern u8 Pop_up_press;
extern u16 Pop_up_x;
extern u16 Pop_up_y;
extern u16 Pop_up_id;
void pop_up_touch(void);
/************************/
#endif