From 096701a6ad8f2ba5512aff4ee430ca0d626fff7a Mon Sep 17 00:00:00 2001 From: Tectu <joel@unormal.org> Date: Wed, 18 Jul 2012 03:42:05 +0200 Subject: restructorizing --- touchpad/touchpad.h | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 touchpad/touchpad.h (limited to 'touchpad/touchpad.h') diff --git a/touchpad/touchpad.h b/touchpad/touchpad.h new file mode 100644 index 00000000..c401415e --- /dev/null +++ b/touchpad/touchpad.h @@ -0,0 +1,88 @@ +#ifndef TOUCHPAD_H +#define TOUCHPAD_H + +#include "ch.h" +#include "hal.h" +#include "glcd.h" +#include "ads7843_lld.h" +#include "xpt2046_lld.h" + +#define CONVERSIONS 3 + +#define TP_CS_HIGH palSetPad(TP_CS_PORT, TP_CS) +#define TP_CS_LOW palClearPad(TP_CS_PORT, TP_CS) + +struct cal { + float xm; + float ym; + float xn; + float yn; +}; + +#ifdef __cplusplus +extern "C" { +#endif + + +/* + * Description: initializes touchpad (SPI) + * + * param: SPI driver + * + * return: none + */ +void tpInit(SPIDriver *spip); + +/* + * Description: reads out PEN_IRQ from touchpad controller + * + * param: none + * + * return: 1 = touchpad pressed / 0 = touchpad not pressed + */ +uint8_t tpIRQ(void); + +/* + * Description: reads-out X coordinate, calibrated + * + * param: none + * + * return: X coordinate, relative to screen zero-point + */ +uint16_t tpReadX(void); + +/* + * Description: reads-out Y coordinate, calibrated + * + * param: none + * + * return: Y coordinate, relative to screen zero-point + */ +uint16_t tpReadY(void); + +/* + * Description: reads-out Z value / pressure + * only available when controller supports, returns + * zero otherwise. + * + * param: none + * + * return: pressure on the touchpad + */ +uint16_t tpReadZ(void); + +/* + * Description: calibration routine + * + * param: none + * + * return: none + */ +void tpCalibrate(void); + +#ifdef __cplusplus +} +#endif + +#endif + -- cgit v1.2.3