Hendrik Langer
8 years ago
3 changed files with 58 additions and 49 deletions
@ -1,71 +1,89 @@ |
|||
#include "Arduino.h" |
|||
#include "keyboard.h" |
|||
|
|||
Keyboard::Keyboard() { |
|||
} |
|||
using namespace std; |
|||
|
|||
void Keyboard::init() { |
|||
this->thresholds = {40, 0, 0, 40, 40, 40, 40, 40, 20, 20}; |
|||
this->touchDetected = {false, false, false, false, false, false, false, false, false, false}; |
|||
touchAttachInterrupt(T0, gotTouch0, threshold[0]); |
|||
// touchAttachInterrupt(T1, gotTouch1, threshold[1]); // GPIO_00 not usable on dev board
|
|||
// touchAttachInterrupt(T2, gotTouch2, threshold[2]); // GPIO_02 not usable on dev board
|
|||
touchAttachInterrupt(T3, gotTouch3, threshold[3]); |
|||
touchAttachInterrupt(T4, gotTouch4, threshold[4]); |
|||
touchAttachInterrupt(T5, gotTouch5, threshold[5]); |
|||
touchAttachInterrupt(T6, gotTouch6, threshold[6]); |
|||
touchAttachInterrupt(T7, gotTouch7, threshold[7]); |
|||
touchAttachInterrupt(T8, gotTouch8, threshold[8]); |
|||
touchAttachInterrupt(T9, gotTouch9, threshold[9]); |
|||
Keyboard::Keyboard() { |
|||
} |
|||
|
|||
void Keyboard::gotTouch0() { |
|||
void gotTouch0() { |
|||
delay(10); |
|||
if (touchRead(T0) < threshold[0]) |
|||
this->touchDetected[0] = true; |
|||
touchDetected[0] = true; |
|||
} |
|||
void Keyboard::gotTouch1() { |
|||
void gotTouch1() { |
|||
delay(10); |
|||
if (touchRead(T1) < threshold[1]) |
|||
this->touchDetected[1] = true; |
|||
touchDetected[1] = true; |
|||
} |
|||
void Keyboard::gotTouch2() { |
|||
void gotTouch2() { |
|||
delay(10); |
|||
if (touchRead(T2) < threshold[2]) |
|||
this->touchDetected[2] = true; |
|||
touchDetected[2] = true; |
|||
} |
|||
void Keyboard::gotTouch3() { |
|||
void gotTouch3() { |
|||
delay(10); |
|||
if (touchRead(T3) < threshold[3]) |
|||
this->touchDetected[3] = true; |
|||
touchDetected[3] = true; |
|||
} |
|||
void Keyboard::gotTouch4() { |
|||
void gotTouch4() { |
|||
delay(10); |
|||
if (touchRead(T4) < threshold[4]) |
|||
this->touchDetected[4] = true; |
|||
touchDetected[4] = true; |
|||
} |
|||
void Keyboard::gotTouch5() { |
|||
void gotTouch5() { |
|||
delay(10); |
|||
if (touchRead(T5) < threshold[5]) |
|||
this->touchDetected[5] = true; |
|||
touchDetected[5] = true; |
|||
} |
|||
void Keyboard::gotTouch6() { |
|||
void gotTouch6() { |
|||
delay(10); |
|||
if (touchRead(T6) < threshold[6]) |
|||
this->touchDetected[6] = true; |
|||
touchDetected[6] = true; |
|||
} |
|||
void Keyboard::gotTouch7() { |
|||
void gotTouch7() { |
|||
delay(10); |
|||
if (touchRead(T7) < threshold[7]) |
|||
this->touchDetected[7] = true; |
|||
touchDetected[7] = true; |
|||
} |
|||
void Keyboard::gotTouch8() { |
|||
void gotTouch8() { |
|||
delay(10); |
|||
if (touchRead(T8) < threshold[8]) |
|||
this->touchDetected[8] = true; |
|||
touchDetected[8] = true; |
|||
} |
|||
void Keyboard::gotTouch9() { |
|||
void gotTouch9() { |
|||
delay(10); |
|||
if (touchRead(T9) < threshold[9]) |
|||
this->touchDetected[9] = true; |
|||
touchDetected[9] = true; |
|||
} |
|||
|
|||
bool Keyboard::getTouchDetected(uint8_t pad) { |
|||
bool res = touchDetected[pad]; |
|||
touchDetected[pad] = false; |
|||
return res; |
|||
} |
|||
|
|||
void Keyboard::init() { |
|||
threshold[0] = 40; |
|||
threshold[1] = 0; |
|||
threshold[2] = 0; |
|||
threshold[3] = 40; |
|||
threshold[4] = 40; |
|||
threshold[5] = 40; |
|||
threshold[6] = 40; |
|||
threshold[7] = 40; |
|||
threshold[8] = 20; |
|||
threshold[9] = 20; |
|||
for (int i=0; i<=9; i++) touchDetected[i] = false; |
|||
touchAttachInterrupt(T0, gotTouch0, threshold[0]); |
|||
// touchAttachInterrupt(T1, gotTouch1, threshold[1]); // GPIO_00 not usable on dev board
|
|||
// touchAttachInterrupt(T2, gotTouch2, threshold[2]); // GPIO_02 not usable on dev board
|
|||
touchAttachInterrupt(T3, gotTouch3, threshold[3]); |
|||
touchAttachInterrupt(T4, gotTouch4, threshold[4]); |
|||
touchAttachInterrupt(T5, gotTouch5, threshold[5]); |
|||
touchAttachInterrupt(T6, gotTouch6, threshold[6]); |
|||
touchAttachInterrupt(T7, gotTouch7, threshold[7]); |
|||
touchAttachInterrupt(T8, gotTouch8, threshold[8]); |
|||
touchAttachInterrupt(T9, gotTouch9, threshold[9]); |
|||
} |
|||
|
|||
|
Loading…
Reference in new issue