47 #error You must define the XPT2046 GPIO pin 170 Z = (4095 - Z2) + Z1;
221 int XC,YC, XL,YL, XD, YD;
244 if(XD > 20 || YD > 20)
276 int nearest_run(
int *v,
int size,
int minsamples,
int *count)
287 int min_noise = 65536;
296 for(j=i+1;j<size;++j)
312 if(run >= minsamples)
314 if((noise/run) <= min_noise/min_run)
319 average = sum/(run+1);
327 if(min_run >= minsamples)
343 int XS[XPT2046_SAMPLES+1];
344 int YS[XPT2046_SAMPLES+1];
363 if(Xavg >= 0 && Yavg >= 0)
367 #if XPT2046_DEBUG & 2 368 printf(
"X:%4d, Y:%4d, XN:%2d, YN:%d\n",
369 (
int)Xavg, (
int)Yavg, (
int)xcount,(
int)ycount);
398 if(T >= XPT2046_SAMPLES/2)
416 switch(xpt2046.
state)
522 float val, delta,
sum, sqsum;
532 for(i=0; i<size ; i++) {
540 Z->
mean = sum / (float) size;
542 for(i=0;i<size;++i) {
544 if(val < 0 || val > 4095)
546 delta = val - Z->
mean;
547 sqsum += (delta * delta);
549 val = sqsum / (float) (i - 1);
MEMSPACE int nearest_run(int *v, int size, int minsamples, int *count)
MEMSPACE int XPT2046_xy_filtered_test(uint16_t *X, uint16_t *Y)
void spi_begin(uint32_t clock, int pin)
SPI chip enable function Function waits for current tranaction to finish before proceeding.
Master include file for project Includes all project includes and defines here.
Cordic_T X
Main Cordic routine - used for basic trig and vector rotations We use fixed point numbers...
MEMSPACE int sdev(uint16_t *samples, int size, sdev_t *Z)
uint16_t XPT2046_read(uint8_t cmd)
MEMSPACE void XPT2046_spi_init(void)
uint16_t YQ[XPT2046_EVENTS+1]
void spi_end(uint8_t pin)
SPI chip disable function wait for current tranaction to finish!
void chip_select_init(uint8_t pin)
CHIP select HAL.
int XPT2046_xy_raw(uint16_t *X, uint16_t *Y)
MEMSPACE uint16_t sum(char *name)
sum of a file with 16bit hex and integer results
void spi_TXRX_buffer(const uint8_t *data, int count)
SPI write/read buffer.
MEMSPACE int XPT2046_xy_filtered(uint16_t *X, uint16_t *Y)
MEMSPACE int XPT2046_key(uint16_t *X, uint16_t *Y)
MEMSPACE void XPT2046_task(void)
uint16_t XQ[XPT2046_EVENTS+1]
MEMSPACE void XPT2046_key_flush(void)
MEMSPACE int printf(const char *format,...)
ili9341 driver inspired by Adafruit ili9341 code All code in this file has been rewritten by Mike Gor...
#define XPT2046_READ_Y
only need 4 commands for reading position or touch information
#define XPT2046_SAMPLES
number of time to read and average results