Touch sensor example for NXP Rapid IoT prototyping kit. Read more at https://www.hackster.io/marcomerli/riotwear-mbed-2b2011.
main.cpp@81:7a20aa99834e, 2019-12-19 (annotated)
- Committer:
- batman52
- Date:
- Thu Dec 19 17:07:35 2019 +0000
- Revision:
- 81:7a20aa99834e
- Parent:
- 80:0f41eaa54a9b
- Child:
- 82:a325ac3c1b73
added init function from NXP Rapid ioT SDK, read_proximity_sensors function now works well.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan Austin |
0:2757d7abb7d9 | 1 | #include "mbed.h" |
batman52 | 80:0f41eaa54a9b | 2 | #include "sx9500.h" |
batman52 | 79:0431b9fd3dc0 | 3 | |
batman52 | 80:0f41eaa54a9b | 4 | I2C i2c0(I2C_SDA , I2C_SCL ); // I2C_SCL = PTC10, I2C_SDA = PTC11, |
batman52 | 80:0f41eaa54a9b | 5 | SX9500 touch(i2c0, PTA24, PTA9); // TOUCH_TXEN = PTA24, TOUCH_INT = PTA9 |
batman52 | 80:0f41eaa54a9b | 6 | DigitalOut touch_rst(PTA2,1); // TOUCH_RST = PTA2 |
Jonathan Austin |
0:2757d7abb7d9 | 7 | |
batman52 | 81:7a20aa99834e | 8 | void print_state(SX9500_TouchState_t ts) |
batman52 | 81:7a20aa99834e | 9 | { |
batman52 | 81:7a20aa99834e | 10 | if(ts.downPressed) |
batman52 | 81:7a20aa99834e | 11 | printf("DOWN\r\n"); |
batman52 | 81:7a20aa99834e | 12 | if(ts.rightPressed) |
batman52 | 81:7a20aa99834e | 13 | printf("RIGHT\r\n"); |
batman52 | 81:7a20aa99834e | 14 | if(ts.upPressed) |
batman52 | 81:7a20aa99834e | 15 | printf("UP\r\n"); |
batman52 | 81:7a20aa99834e | 16 | if(ts.leftPressed) |
batman52 | 81:7a20aa99834e | 17 | printf("LEFT\r\n"); |
batman52 | 81:7a20aa99834e | 18 | if(!ts.downPressed && !ts.rightPressed && !ts.upPressed && !ts.leftPressed ) |
batman52 | 81:7a20aa99834e | 19 | printf("NONE\r\n"); |
batman52 | 80:0f41eaa54a9b | 20 | } |
batman52 | 80:0f41eaa54a9b | 21 | |
batman52 | 81:7a20aa99834e | 22 | // main() runs in its own thread in the OS |
batman52 | 81:7a20aa99834e | 23 | int main() { |
batman52 | 81:7a20aa99834e | 24 | SX9500_TouchState_t ts; |
batman52 | 81:7a20aa99834e | 25 | |
batman52 | 81:7a20aa99834e | 26 | wait(1); |
batman52 | 81:7a20aa99834e | 27 | |
batman52 | 81:7a20aa99834e | 28 | touch.reset(); |
batman52 | 81:7a20aa99834e | 29 | wait(0.3); // wait until the reset has finished |
batman52 | 81:7a20aa99834e | 30 | touch.init(); |
batman52 | 81:7a20aa99834e | 31 | wait(0.3); |
batman52 | 81:7a20aa99834e | 32 | touch.set_active(true); |
batman52 | 81:7a20aa99834e | 33 | wait(0.3); |
batman52 | 81:7a20aa99834e | 34 | |
batman52 | 81:7a20aa99834e | 35 | while (true) { |
batman52 | 81:7a20aa99834e | 36 | |
batman52 | 81:7a20aa99834e | 37 | wait(0.3); |
batman52 | 81:7a20aa99834e | 38 | ts = touch.read_proximity_sensors(); |
batman52 | 81:7a20aa99834e | 39 | print_state(ts); |
batman52 | 81:7a20aa99834e | 40 | |
batman52 | 81:7a20aa99834e | 41 | } |
batman52 | 81:7a20aa99834e | 42 | } |