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