comparison include/I2c_TouchKey.h @ 371:361d0c2335cf prerelease

Moved I2c_TouchKey files from the dbox project into the core
author Giulio Moro <giuliomoro@yahoo.it>
date Thu, 09 Jun 2016 17:31:44 +0100
parents examples/d-box/I2c_TouchKey.h@dbeed520b014
children
comparison
equal deleted inserted replaced
370:137a87b745d2 371:361d0c2335cf
1 /*
2 * I2c.h
3 *
4 * Created on: Oct 14, 2013
5 * Author: Victor Zappi
6 */
7
8 #ifndef I2CTK_H_
9 #define I2CTK_H_
10
11 #include <I2c.h>
12
13 // #define NUM_BYTES_OLD 9
14 // #define NUM_BYTES_NEW 13
15
16 #define MAX_SENSOR_BYTES 20
17
18 enum {
19 kSensorTypeTouchKey = 0,
20 kSensorTypeDBox1 = 1,
21 kSensorTypeDBox2 = 2
22 };
23
24 static const int kSensorBytes[3] = {9, 13, 20};
25
26 class I2c_TouchKey : public I2c
27 {
28 private:
29 bool isReady;
30 int sensorType;
31 int numBytesToRead;
32
33 // read NUM_BYTES bytes, which have to be properly parsed
34 char dataBuffer[MAX_SENSOR_BYTES];
35 int bytesRead;
36
37 int rawSliderPosition[5];
38 int rawSliderPositionH;
39
40 int touchCount;
41 float sliderSize[5];
42 float sliderPosition[5];
43 float sliderPositionH;
44
45
46 public:
47 int initTouchKey(int sensorTypeToUse = kSensorTypeTouchKey);
48 int readI2C();
49 int getTouchCount();
50 float * getSlidersize();
51 float * getSliderPosition();
52 float getSliderPositionH();
53
54 bool ready() { return isReady; }
55
56 I2c_TouchKey();
57 ~I2c_TouchKey();
58
59 };
60
61 inline int I2c_TouchKey::getTouchCount()
62 {
63 return touchCount;
64 }
65
66 inline float * I2c_TouchKey::getSlidersize()
67 {
68 return sliderSize;
69 }
70
71 inline float * I2c_TouchKey::getSliderPosition()
72 {
73 return sliderPosition;
74 }
75
76 inline float I2c_TouchKey::getSliderPositionH()
77 {
78 return sliderPositionH;
79 }
80
81
82
83
84
85 #endif /* I2CTK_H_ */