t

Dependencies:   mbed

Committer:
kanicolaus
Date:
Sat Feb 23 20:37:17 2019 +0000
Revision:
2:1956c8e08cd3
Parent:
1:d1837531c318
t

Who changed what in which revision?

UserRevisionLine numberNew contents of line
abuckton 0:2e5b82508aea 1 #include <mbed.h>
abuckton 0:2e5b82508aea 2 #include <mpr121.h>
kanicolaus 2:1956c8e08cd3 3 DigitalOut led1(LED1);
kanicolaus 2:1956c8e08cd3 4 DigitalOut led2(LED2);
kanicolaus 2:1956c8e08cd3 5 DigitalOut led3(LED3);
kanicolaus 2:1956c8e08cd3 6 DigitalOut led4(LED4);
abuckton 0:2e5b82508aea 7 // Create the interrupt receiver object on pin 26
abuckton 0:2e5b82508aea 8 InterruptIn interrupt(p26);
kanicolaus 2:1956c8e08cd3 9 // Setup the i2c bus on pins 9 and 10
kanicolaus 2:1956c8e08cd3 10 I2C i2c(p9, p10);
abuckton 0:2e5b82508aea 11 // Setup the Mpr121:
abuckton 0:2e5b82508aea 12 // constructor(i2c object, i2c address of the mpr121)
abuckton 0:2e5b82508aea 13 Mpr121 mpr121(&i2c, Mpr121::ADD_VSS);
kanicolaus 2:1956c8e08cd3 14
kanicolaus 2:1956c8e08cd3 15 // Key hit/release interrupt routine
kanicolaus 2:1956c8e08cd3 16 void fallInterrupt() {
kanicolaus 2:1956c8e08cd3 17 int key_code=0;
kanicolaus 2:1956c8e08cd3 18 int i=0;
kanicolaus 2:1956c8e08cd3 19 int value=mpr121.read(0x00);
kanicolaus 2:1956c8e08cd3 20 value +=mpr121.read(0x01)<<8;
kanicolaus 2:1956c8e08cd3 21 // LED demo mod
kanicolaus 2:1956c8e08cd3 22 i=0;
kanicolaus 2:1956c8e08cd3 23 // puts key number out to LEDs for demo
kanicolaus 2:1956c8e08cd3 24 for (i=0; i<12; i++) {
kanicolaus 2:1956c8e08cd3 25 if (((value>>i)&0x01)==1) key_code=i+1;
kanicolaus 2:1956c8e08cd3 26 }
kanicolaus 2:1956c8e08cd3 27 led4=key_code & 0x01;
kanicolaus 2:1956c8e08cd3 28 led3=(key_code>>1) & 0x01;
kanicolaus 2:1956c8e08cd3 29 led2=(key_code>>2) & 0x01;
kanicolaus 2:1956c8e08cd3 30 led1=(key_code>>3) & 0x01;
abuckton 0:2e5b82508aea 31 }
kanicolaus 2:1956c8e08cd3 32
abuckton 0:2e5b82508aea 33 int main() {
kanicolaus 2:1956c8e08cd3 34 interrupt.fall(&fallInterrupt);
kanicolaus 2:1956c8e08cd3 35 interrupt.mode(PullUp);
kanicolaus 2:1956c8e08cd3 36 while (1) {}
kanicolaus 2:1956c8e08cd3 37 }