Mercurial > hg > beaglert
comparison examples/06-Sensors/capacitive-touch/I2C_MPR121.h @ 501:6962184f8567 prerelease
Additional name changes to doxygen example title.
author | Robert Jack <robert.h.jack@gmail.com> |
---|---|
date | Wed, 22 Jun 2016 00:34:07 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
500:b935f890e512 | 501:6962184f8567 |
---|---|
1 /* | |
2 * MPR121 Bela demo | |
3 * | |
4 * Andrew McPherson | |
5 * Based on Adafruit library by Limor Fried/Ladyada | |
6 */ | |
7 | |
8 #ifndef I2CTK_H_ | |
9 #define I2CTK_H_ | |
10 | |
11 #include <I2c.h> | |
12 #include "Utilities.h" | |
13 | |
14 typedef bool boolean; | |
15 | |
16 #define MPR121_I2CADDR_DEFAULT 0x5A | |
17 | |
18 #define MPR121_TOUCHSTATUS_L 0x00 | |
19 #define MPR121_TOUCHSTATUS_H 0x01 | |
20 #define MPR121_FILTDATA_0L 0x04 | |
21 #define MPR121_FILTDATA_0H 0x05 | |
22 #define MPR121_BASELINE_0 0x1E | |
23 #define MPR121_MHDR 0x2B | |
24 #define MPR121_NHDR 0x2C | |
25 #define MPR121_NCLR 0x2D | |
26 #define MPR121_FDLR 0x2E | |
27 #define MPR121_MHDF 0x2F | |
28 #define MPR121_NHDF 0x30 | |
29 #define MPR121_NCLF 0x31 | |
30 #define MPR121_FDLF 0x32 | |
31 #define MPR121_NHDT 0x33 | |
32 #define MPR121_NCLT 0x34 | |
33 #define MPR121_FDLT 0x35 | |
34 | |
35 #define MPR121_TOUCHTH_0 0x41 | |
36 #define MPR121_RELEASETH_0 0x42 | |
37 #define MPR121_DEBOUNCE 0x5B | |
38 #define MPR121_CONFIG1 0x5C | |
39 #define MPR121_CONFIG2 0x5D | |
40 #define MPR121_CHARGECURR_0 0x5F | |
41 #define MPR121_CHARGETIME_1 0x6C | |
42 #define MPR121_ECR 0x5E | |
43 #define MPR121_AUTOCONFIG0 0x7B | |
44 #define MPR121_AUTOCONFIG1 0x7C | |
45 #define MPR121_UPLIMIT 0x7D | |
46 #define MPR121_LOWLIMIT 0x7E | |
47 #define MPR121_TARGETLIMIT 0x7F | |
48 | |
49 #define MPR121_GPIODIR 0x76 | |
50 #define MPR121_GPIOEN 0x77 | |
51 #define MPR121_GPIOSET 0x78 | |
52 #define MPR121_GPIOCLR 0x79 | |
53 #define MPR121_GPIOTOGGLE 0x7A | |
54 | |
55 #define MPR121_SOFTRESET 0x80 | |
56 | |
57 class I2C_MPR121 : public I2c | |
58 { | |
59 public: | |
60 // Hardware I2C | |
61 I2C_MPR121(); | |
62 | |
63 boolean begin(uint8_t bus = 1, uint8_t i2caddr = MPR121_I2CADDR_DEFAULT); | |
64 | |
65 uint16_t filteredData(uint8_t t); | |
66 uint16_t baselineData(uint8_t t); | |
67 | |
68 uint8_t readRegister8(uint8_t reg); | |
69 uint16_t readRegister16(uint8_t reg); | |
70 void writeRegister(uint8_t reg, uint8_t value); | |
71 uint16_t touched(void); | |
72 | |
73 void setThresholds(uint8_t touch, uint8_t release); | |
74 | |
75 int readI2C() { return 0; } // Unused | |
76 | |
77 private: | |
78 int _i2c_address; | |
79 }; | |
80 | |
81 | |
82 #endif /* I2CTK_H_ */ |