53 #define d4dtch_resistive_ID 1
58 #if (D4D_MK_STR(D4D_LLD_TCH) == d4dtch_resistive_ID)
71 static unsigned char D4DTCH_Init_Resistive(
void);
72 static unsigned char D4DTCH_DeInit_Resistive(
void);
74 static unsigned char D4DTCH_GetPositionRaw_Resistive(
unsigned short *TouchPositionX,
75 unsigned short *TouchPositionY);
88 D4DTCH_Init_Resistive,
89 D4DTCH_GetPositionRaw_Resistive,
90 D4DTCH_GetRawLimits_Resistive,
91 D4DTCH_DeInit_Resistive
105 static unsigned char TchScr_GetFilteredAxis(
D4DTCHHW_PINS pinId,
unsigned short *Res)
108 unsigned short wRes, wSum;
109 unsigned short wADCReading;
110 unsigned short wMaxLimit;
111 unsigned char tmp, tmp_res;
113 unsigned char sample_margin;
117 sample_margin = (
unsigned char)(p_limits->
rawDataScale / 256);
118 wMaxLimit = (
unsigned short)(p_limits->
rawDataScale - sample_margin);
134 if(wADCReading < p_limits->touchMinX)
138 if(wADCReading > wMaxLimit)
140 #if(D4D_MCU_TYPE != D4D_MK)
147 wSum -= wSample[AVERAGE_BUFF_LEN - 1];
150 for(tmp = (AVERAGE_BUFF_LEN - 1); tmp > 0 ;tmp--)
152 wSample[tmp] = wSample[tmp - 1];
156 wSample[0] = wADCReading;
159 wRes = (
unsigned short)(wSum / AVERAGE_BUFF_LEN);
162 if(cnt > AVERAGE_BUFF_LEN)
168 if((wRes > (wSample[tmp] - sample_margin)) && (wRes < (wSample[tmp] + sample_margin)))
175 if(tmp_res >= (AVERAGE_BUFF_LEN - 2)) {
196 static unsigned char D4DTCH_Init_Resistive(
void)
222 static unsigned char D4DTCH_DeInit_Resistive(
void)
252 static unsigned char D4DTCH_GetPositionRaw_Resistive (
unsigned short *TouchPositionX,
253 unsigned short *TouchPositionY)
256 unsigned short tmpRes;
257 unsigned char tmpCnt;
258 unsigned char bSampleComplete = 0;
259 unsigned short tmp_delay;
281 #if(D4D_MCU_TYPE != D4D_MK)
295 #if(D4D_MCU_TYPE != D4D_MK)
306 *TouchPositionY = tmpRes;
323 #if(D4D_MCU_TYPE != D4D_MK)
346 #if(D4D_MCU_TYPE != D4D_MK)
359 #if(D4D_MCU_TYPE != D4D_MK)
369 *TouchPositionX = tmpRes;
386 return bSampleComplete;
389 #endif //(D4D_MK_STR(D4D_LLD_TCH) == d4dtch_resistive_ID)
Switch on the pin for read by ADC.
Analog touch screen X- signal.
D4D driver - resistive touch screen driver function header file.
D4DTCHHW_PINS
D4D low level MCU types definition for analog resistive touch screen signals.
D4D low level touch screen interface API structure.
D4D Driver main header file.
D4D Driver private header file.
Switch pin to input mode (equivalent to high-Z)
D4D low level touch screen limitation structure.
Switch pin to output mode.
#define NULL
Type definition of null pointer.
Set pin output register to logic 1.
Switch off the pin for read by ADC.
unsigned short rawDataScale
The scale mask of ADC convertor.
Analog touch screen X+ signal.
Set pin output register to logic 0.
D4D driver - resistive touch screen driver function header file.
Analog touch screen Y- signal.
Analog touch screen Y+ signal.