Craig Raslawski
/
touchpad
4180Lab1Part5
Diff: main.cpp
- Revision:
- 0:5bfc0a45db24
diff -r 000000000000 -r 5bfc0a45db24 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Feb 27 22:32:33 2017 +0000 @@ -0,0 +1,39 @@ +#include <mbed.h> +#include <mpr121.h> + +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); + +InterruptIn interrupt(p26); //interrupt receiver + +//i2c bus on pins 28(SDA) and 27(SCL) +I2C i2c(p28, p27); + +//Setup the Mpr121: +//ctor +Mpr121 mpr121(&i2c, Mpr121::ADD_VSS); + +//key hit interrupt routine +void fallInterrupt() { + int key_code = 0; + int i = 0; + int value = mpr121.read(0x00); + value += mpr121.read(0x01) << 8; + //LED demo mod + i = 0; + //puts key number out to LEDs for demo + for (i = 0; i<12; i++) { + if (((value>>i)&0x01)==1) key_code=i+1; + } + led4=key_code & 0x01; + led3=(key_code>>1) & 0x01; + led2=(key_code>>2) & 0x01; + led1=(key_code>>3) & 0x01; +} + +int main() { + interrupt.fall(&fallInterrupt); + interrupt.mode(PullUp); +} \ No newline at end of file