diff --git a/glcd.c b/glcd.c index acf779df..6e511a23 100644 --- a/glcd.c +++ b/glcd.c @@ -69,17 +69,11 @@ static __inline uint16_t lcdReadReg(uint16_t lcdReg) { } uint16_t lcdGetHeight(void) { - if(PORTRAIT) - return lcd_height; - else if(LANDSCAPE) - return lcd_width; + return lcd_height; } uint16_t lcdGetWidth(void) { - if(PORTRAIT) - return lcd_width; - else if(LANDSCAPE) - return lcd_height; + return lcd_width; } static void lcdSetCursor(uint16_t x, uint16_t y) { diff --git a/touchpad.c b/touchpad.c index d34ea308..fee95c44 100644 --- a/touchpad.c +++ b/touchpad.c @@ -13,7 +13,7 @@ void tpInit(void) { spiStart(&SPID1, &spicfg); } -uint16_t tpReadX(void) { +static uint16_t readX(void) { uint8_t txbuf[1]; uint8_t rxbuf[2]; uint16_t x; @@ -27,12 +27,10 @@ uint16_t tpReadX(void) { x = rxbuf[0] << 4; x |= rxbuf[1] >> 4; - x = (((lcdGetWidth()-1) * x)/2048); - return x; } -uint16_t tpReadY(void) { +static uint16_t readY(void) { uint8_t txbuf[1]; uint8_t rxbuf[2]; uint16_t y; @@ -46,8 +44,32 @@ uint16_t tpReadY(void) { y = rxbuf[0] << 4; y |= rxbuf[1] >> 4; - y = (((lcdGetHeight()-1) * y)/2048); + return y; +} + +uint16_t tpReadX(void) { + uint32_t results; + uint16_t i, x; + + for(i=0; iBSRR = 1 << (TP_CS + (a ? 0 : 16))) void tpInit(void);