⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ads7843_mydriver.h

📁 xscale pxa255 处理器
💻 H
字号:
/******************************************************************************
** File name :  ads7843.h
**     
** Description :
**     ADS7843(Touch Screen Controller)
**      
** Compile environment and method of compile & link
**      gcc version 2.95.2 20000313 (Debian GNU/Linux)
**
** Usage :
**      Touch screen controller Device Driver header file for 
**	Hyper104 Expansion Board 
**  
** License : 
**      This program is free software; you can redistribute it and/or modify
**      it under the terms of the GNU General Public License version 2 as
**      published by the Free Software Foundation
**
** Modification history :
**      Date        Version  Programmer & Tester   Modify issue
**      2002.5.1    0.1      Heo young Wook        Create
**
*******************************************************************************/

#define TS_NAME "ads7843"
#define TS_MAJOR 11

#define BUFSIZE 128
#define XLIMIT 160
#define YLIMIT 160

#define ADS7843_CLK             ADS7843_DCLK
#define ADS7843_CS              ADS7843_C
#define ADS7843_DIN             ADS7843_DI

#ifdef CONFIG_ARCH_XHYPER255B
#define ADS7843_BUSY            1
#define ADS7843_DOUT            4
#define ADS7843_PENIRQ          5
#elif defined(CONFIG_ARCH_XHYPER255A)
#define ADS7843_BUSY            1
#define ADS7843_DOUT            2
#define ADS7843_PENIRQ          3
#endif

#define ADS7843_START_BIT 	(1<<0) 
#define ADS7843_A2		(1<<1) 
#define ADS7843_A1 		(1<<2) 
#define ADS7843_A0 		(1<<3) 
#define ADS7843_MODE 		(1<<4) 
#define ADS7843_SER_DFR 	(1<<5)  
#define ADS7843_PD1 		(1<<6) 
#define ADS7843_PD0 		(1<<7)  

/* Ask for X conversion enable PENIRQ */
#define SPIMDATA_ASKX (ADS7843_START_BIT  | 	\
               		ADS7843_A2 	  | 	\
                	ADS7843_A1 	*0| 	\
                	ADS7843_A0 	  | 	\
                	ADS7843_MODE   	*0| 	\
                	ADS7843_SER_DFR *0| 	\
                	ADS7843_PD1 	*0| 	\
                	ADS7843_PD0 	*0) 

/* Ask for Y conversion enable PENIRQ */
#define SPIMDATA_ASKY (ADS7843_START_BIT  | 	\
                        ADS7843_A2 	*0| 	\
                        ADS7843_A1 	*0| 	\
                        ADS7843_A0 	  | 	\
                        ADS7843_MODE 	*0| 	\
                        ADS7843_SER_DFR *0| 	\
                        ADS7843_PD1 	*0| 	\
                        ADS7843_PD0 	*0)

/* Enable PENIRQ */
#define SPIMDATA_NOP (ADS7843_START_BIT | 	\
                        ADS7843_A2 	*0| 	\
                        ADS7843_A1 	*0| 	\
                        ADS7843_A0 	*0| 	\
                        ADS7843_MODE 	*0| 	\
                        ADS7843_SER_DFR *0| 	\
                        ADS7843_PD1 	*0| 	\
                        ADS7843_PD0 	*0)

#define ADS7843_CS_LOW   XHYPER255_ClearBit(0, ADS7843_CS) 
#define ADS7843_CS_HIGH  XHYPER255_SetBit(0, ADS7843_CS) 

//pressure是触摸笔的动作(按下,抬起,移动)
//x,y为横纵坐标的采样值(12位模式0~4095)
//millisecs为填充位,32位处理器上,为保证4字节对齐留下的填充位
typedef struct {
    short pressure;
    short x;
    short y;
    short millisecs;
} TS_EVENT;


static int raw_max_x, raw_max_y, res_x, res_y, raw_min_x, raw_min_y, xyswap;

static int cal_ok, x_rev, y_rev;

static char *dev_id = TS_NAME;

static DECLARE_WAIT_QUEUE_HEAD(queue);/*定义wait_queue_head_t类型的等待队列结构,注这不是wait_queue_t */ 
static struct timer_list timer;



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -