Craig Raslawski
/
touchpad
4180Lab1Part5
main.cpp@0:5bfc0a45db24, 2017-02-27 (annotated)
- Committer:
- CRaslawski
- Date:
- Mon Feb 27 22:32:33 2017 +0000
- Revision:
- 0:5bfc0a45db24
initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CRaslawski | 0:5bfc0a45db24 | 1 | #include <mbed.h> |
CRaslawski | 0:5bfc0a45db24 | 2 | #include <mpr121.h> |
CRaslawski | 0:5bfc0a45db24 | 3 | |
CRaslawski | 0:5bfc0a45db24 | 4 | DigitalOut led1(LED1); |
CRaslawski | 0:5bfc0a45db24 | 5 | DigitalOut led2(LED2); |
CRaslawski | 0:5bfc0a45db24 | 6 | DigitalOut led3(LED3); |
CRaslawski | 0:5bfc0a45db24 | 7 | DigitalOut led4(LED4); |
CRaslawski | 0:5bfc0a45db24 | 8 | |
CRaslawski | 0:5bfc0a45db24 | 9 | InterruptIn interrupt(p26); //interrupt receiver |
CRaslawski | 0:5bfc0a45db24 | 10 | |
CRaslawski | 0:5bfc0a45db24 | 11 | //i2c bus on pins 28(SDA) and 27(SCL) |
CRaslawski | 0:5bfc0a45db24 | 12 | I2C i2c(p28, p27); |
CRaslawski | 0:5bfc0a45db24 | 13 | |
CRaslawski | 0:5bfc0a45db24 | 14 | //Setup the Mpr121: |
CRaslawski | 0:5bfc0a45db24 | 15 | //ctor |
CRaslawski | 0:5bfc0a45db24 | 16 | Mpr121 mpr121(&i2c, Mpr121::ADD_VSS); |
CRaslawski | 0:5bfc0a45db24 | 17 | |
CRaslawski | 0:5bfc0a45db24 | 18 | //key hit interrupt routine |
CRaslawski | 0:5bfc0a45db24 | 19 | void fallInterrupt() { |
CRaslawski | 0:5bfc0a45db24 | 20 | int key_code = 0; |
CRaslawski | 0:5bfc0a45db24 | 21 | int i = 0; |
CRaslawski | 0:5bfc0a45db24 | 22 | int value = mpr121.read(0x00); |
CRaslawski | 0:5bfc0a45db24 | 23 | value += mpr121.read(0x01) << 8; |
CRaslawski | 0:5bfc0a45db24 | 24 | //LED demo mod |
CRaslawski | 0:5bfc0a45db24 | 25 | i = 0; |
CRaslawski | 0:5bfc0a45db24 | 26 | //puts key number out to LEDs for demo |
CRaslawski | 0:5bfc0a45db24 | 27 | for (i = 0; i<12; i++) { |
CRaslawski | 0:5bfc0a45db24 | 28 | if (((value>>i)&0x01)==1) key_code=i+1; |
CRaslawski | 0:5bfc0a45db24 | 29 | } |
CRaslawski | 0:5bfc0a45db24 | 30 | led4=key_code & 0x01; |
CRaslawski | 0:5bfc0a45db24 | 31 | led3=(key_code>>1) & 0x01; |
CRaslawski | 0:5bfc0a45db24 | 32 | led2=(key_code>>2) & 0x01; |
CRaslawski | 0:5bfc0a45db24 | 33 | led1=(key_code>>3) & 0x01; |
CRaslawski | 0:5bfc0a45db24 | 34 | } |
CRaslawski | 0:5bfc0a45db24 | 35 | |
CRaslawski | 0:5bfc0a45db24 | 36 | int main() { |
CRaslawski | 0:5bfc0a45db24 | 37 | interrupt.fall(&fallInterrupt); |
CRaslawski | 0:5bfc0a45db24 | 38 | interrupt.mode(PullUp); |
CRaslawski | 0:5bfc0a45db24 | 39 | } |