diff examples/d-box/I2c_TouchKey.h @ 300:dbeed520b014 prerelease

Renamed projects to examples
author Giulio Moro <giuliomoro@yahoo.it>
date Fri, 27 May 2016 13:58:20 +0100
parents projects/d-box/I2c_TouchKey.h@59edd5780fef
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/d-box/I2c_TouchKey.h	Fri May 27 13:58:20 2016 +0100
@@ -0,0 +1,85 @@
+/*
+ * I2c.h
+ *
+ *  Created on: Oct 14, 2013
+ *      Author: Victor Zappi
+ */
+
+#ifndef I2CTK_H_
+#define I2CTK_H_
+
+#include <I2c.h>
+
+// #define NUM_BYTES_OLD 9
+// #define NUM_BYTES_NEW 13
+
+#define MAX_SENSOR_BYTES 20
+
+enum {
+	kSensorTypeTouchKey = 0,
+	kSensorTypeDBox1 = 1,
+	kSensorTypeDBox2 = 2
+};
+
+static const int kSensorBytes[3] = {9, 13, 20};
+
+class I2c_TouchKey : public I2c
+{
+private:
+	bool isReady;
+	int sensorType;
+	int numBytesToRead;
+
+	// read NUM_BYTES bytes, which have to be properly parsed
+	char dataBuffer[MAX_SENSOR_BYTES];
+	int bytesRead;
+
+	int rawSliderPosition[5];
+	int rawSliderPositionH;
+
+	int touchCount;
+	float sliderSize[5];
+	float sliderPosition[5];
+	float sliderPositionH;
+
+
+public:
+	int initTouchKey(int sensorTypeToUse = kSensorTypeTouchKey);
+	int readI2C();
+	int getTouchCount();
+	float * getSlidersize();
+	float * getSliderPosition();
+	float getSliderPositionH();
+
+	bool ready() { return isReady; }
+
+	I2c_TouchKey();
+	~I2c_TouchKey();
+
+};
+
+inline int I2c_TouchKey::getTouchCount()
+{
+	return touchCount;
+}
+
+inline float * I2c_TouchKey::getSlidersize()
+{
+	return sliderSize;
+}
+
+inline float * I2c_TouchKey::getSliderPosition()
+{
+	return sliderPosition;
+}
+
+inline float I2c_TouchKey::getSliderPositionH()
+{
+	return sliderPositionH;
+}
+
+
+
+
+
+#endif /* I2CTK_H_ */