From d4625a1e6a21640a4eed51bf4f6162e611aac5c4 Mon Sep 17 00:00:00 2001 From: Tectu Date: Sun, 17 Jun 2012 01:30:12 +0200 Subject: restructure --- drivers/touchpad/ads7843_lld.c | 43 ++++++++++++++++++++++++++++++++++++++++++ drivers/touchpad/ads7843_lld.h | 15 +++++++++++++++ drivers/touchpad/xpt2046_lld.c | 43 ++++++++++++++++++++++++++++++++++++++++++ drivers/touchpad/xpt2046_lld.h | 15 +++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 drivers/touchpad/ads7843_lld.c create mode 100644 drivers/touchpad/ads7843_lld.h create mode 100644 drivers/touchpad/xpt2046_lld.c create mode 100644 drivers/touchpad/xpt2046_lld.h (limited to 'drivers/touchpad') diff --git a/drivers/touchpad/ads7843_lld.c b/drivers/touchpad/ads7843_lld.c new file mode 100644 index 00000000..76e11123 --- /dev/null +++ b/drivers/touchpad/ads7843_lld.c @@ -0,0 +1,43 @@ +#include "ads7843_lld.h" + +#ifdef TOUCHPAD_USE_ADS7843 + +__inline uint16_t lld_readX(void) { + uint8_t txbuf[1]; + uint8_t rxbuf[2]; + uint16_t x; + + txbuf[0] = 0xd0; + SET_CS(0); + spiSend(&SPID1, 1, txbuf); + spiReceive(&SPID1, 2, rxbuf); + SET_CS(1); + + x = rxbuf[0] << 4; + x |= rxbuf[1] >> 4; + + return x; +} + +__inline uint16_t lld_readY(void) { + uint8_t txbuf[1]; + uint8_t rxbuf[2]; + uint16_t y; + + txbuf[0] = 0x90; + SET_CS(0); + spiSend(&SPID1, 1, txbuf); + spiReceive(&SPID1, 2, rxbuf); + SET_CS(1); + + y = rxbuf[0] << 4; + y |= rxbuf[1] >> 4; + + return y; +} + +__inline uint16_t lld_readZ(void) { + return 0; +} + +#endif diff --git a/drivers/touchpad/ads7843_lld.h b/drivers/touchpad/ads7843_lld.h new file mode 100644 index 00000000..388aacc8 --- /dev/null +++ b/drivers/touchpad/ads7843_lld.h @@ -0,0 +1,15 @@ +#ifndef ADS7843_LLD_H +#define ADS7843_LLD_H + +#include "glcdconf.h" +#include "touchpad.h" + +#ifdef TOUCHPAD_USE_ADS7843 + +uint16_t lld_readX(void); +uint16_t lld_readY(void); +uint16_t lld_readZ(void); + +#endif +#endif + diff --git a/drivers/touchpad/xpt2046_lld.c b/drivers/touchpad/xpt2046_lld.c new file mode 100644 index 00000000..731ff8c5 --- /dev/null +++ b/drivers/touchpad/xpt2046_lld.c @@ -0,0 +1,43 @@ +#include "xpt2046_lld.h" + +#ifdef TOUCHPAD_USE_XPT2046 + +__inline uint16_t lld_readX(void) { + uint8_t txbuf[1]; + uint8_t rxbuf[2]; + uint16_t x; + + txbuf[0] = 0xd0; + SET_CS(0); + spiSend(&SPID1, 1, txbuf); + spiReceive(&SPID1, 2, rxbuf); + SET_CS(1); + + x = rxbuf[0] << 4; + x |= rxbuf[1] >> 4; + + return x; +} + +__inline uint16_t lld_readY(void) { + uint8_t txbuf[1]; + uint8_t rxbuf[2]; + uint16_t y; + + txbuf[0] = 0x90; + SET_CS(0); + spiSend(&SPID1, 1, txbuf); + spiReceive(&SPID1, 2, rxbuf); + SET_CS(1); + + y = rxbuf[0] << 4; + y |= rxbuf[1] >> 4; + + return y; +} + +__inline uint16_t lld_readZ(void) { + return 0; +} + +#endif diff --git a/drivers/touchpad/xpt2046_lld.h b/drivers/touchpad/xpt2046_lld.h new file mode 100644 index 00000000..ed7a0d09 --- /dev/null +++ b/drivers/touchpad/xpt2046_lld.h @@ -0,0 +1,15 @@ +#ifndef XPT2046_LLD_H +#define XPT2046_LLD_H + +#include "glcdconf.h" +#include "touchpad.h" + +#ifdef TOUCHPAD_USE_XPT2046 + +uint16_t lld_readX(void); +uint16_t lld_readY(void); +uint16_t lld_readZ(void); + +#endif +#endif + -- cgit v1.2.3