For the BT

Dependencies:   mbed

Committer:
benheck
Date:
Tue Jun 27 18:40:46 2017 +0000
Revision:
0:31c90b3b74a6
For testing purposes of I/O

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benheck 0:31c90b3b74a6 1 #include "mbed.h"
benheck 0:31c90b3b74a6 2
benheck 0:31c90b3b74a6 3 //InterruptIn event(USER_BUTTON);
benheck 0:31c90b3b74a6 4
benheck 0:31c90b3b74a6 5 InterruptIn tilt(PC_5);
benheck 0:31c90b3b74a6 6 InterruptIn shake(PC_6);
benheck 0:31c90b3b74a6 7
benheck 0:31c90b3b74a6 8 DigitalIn tiltButton(PC_5);
benheck 0:31c90b3b74a6 9 DigitalIn shakeButton(PC_6);
benheck 0:31c90b3b74a6 10
benheck 0:31c90b3b74a6 11 DigitalOut myled(LED1);
benheck 0:31c90b3b74a6 12
benheck 0:31c90b3b74a6 13 int timeOut = 10;
benheck 0:31c90b3b74a6 14
benheck 0:31c90b3b74a6 15 void wakeMode() {
benheck 0:31c90b3b74a6 16 tilt.disable_irq();
benheck 0:31c90b3b74a6 17 shake.disable_irq();
benheck 0:31c90b3b74a6 18 }
benheck 0:31c90b3b74a6 19
benheck 0:31c90b3b74a6 20 void tiltIRQ() {
benheck 0:31c90b3b74a6 21 printf("WAKE - Tilt!\n");
benheck 0:31c90b3b74a6 22 timeOut = 10;
benheck 0:31c90b3b74a6 23 wakeMode();
benheck 0:31c90b3b74a6 24 }
benheck 0:31c90b3b74a6 25
benheck 0:31c90b3b74a6 26 void shakeIRQ() {
benheck 0:31c90b3b74a6 27 printf("WAKE - Shake!\n");
benheck 0:31c90b3b74a6 28 timeOut = 10;
benheck 0:31c90b3b74a6 29 wakeMode();
benheck 0:31c90b3b74a6 30 }
benheck 0:31c90b3b74a6 31
benheck 0:31c90b3b74a6 32 void sleepMode() {
benheck 0:31c90b3b74a6 33
benheck 0:31c90b3b74a6 34 tilt.enable_irq();
benheck 0:31c90b3b74a6 35 shake.enable_irq();
benheck 0:31c90b3b74a6 36
benheck 0:31c90b3b74a6 37 tilt.fall(&tiltIRQ);
benheck 0:31c90b3b74a6 38 shake.fall(&shakeIRQ);
benheck 0:31c90b3b74a6 39
benheck 0:31c90b3b74a6 40 deepsleep();
benheck 0:31c90b3b74a6 41
benheck 0:31c90b3b74a6 42 }
benheck 0:31c90b3b74a6 43
benheck 0:31c90b3b74a6 44 int main()
benheck 0:31c90b3b74a6 45 {
benheck 0:31c90b3b74a6 46
benheck 0:31c90b3b74a6 47 sleepMode();
benheck 0:31c90b3b74a6 48
benheck 0:31c90b3b74a6 49 printf("START\n");
benheck 0:31c90b3b74a6 50
benheck 0:31c90b3b74a6 51 while (1) {
benheck 0:31c90b3b74a6 52
benheck 0:31c90b3b74a6 53 printf("%d: Running\n", timeOut);
benheck 0:31c90b3b74a6 54 myled = !myled;
benheck 0:31c90b3b74a6 55 wait(.2);
benheck 0:31c90b3b74a6 56
benheck 0:31c90b3b74a6 57 timeOut -= 1;
benheck 0:31c90b3b74a6 58
benheck 0:31c90b3b74a6 59 if (tiltButton == 0) {
benheck 0:31c90b3b74a6 60 printf("Tilt!\n");
benheck 0:31c90b3b74a6 61 }
benheck 0:31c90b3b74a6 62 if (shakeButton == 0) {
benheck 0:31c90b3b74a6 63 printf("Shake!\n");
benheck 0:31c90b3b74a6 64 }
benheck 0:31c90b3b74a6 65
benheck 0:31c90b3b74a6 66 if (timeOut == 0) {
benheck 0:31c90b3b74a6 67 printf("Going to deep sleep...\n");
benheck 0:31c90b3b74a6 68 sleepMode();
benheck 0:31c90b3b74a6 69 }
benheck 0:31c90b3b74a6 70
benheck 0:31c90b3b74a6 71 }
benheck 0:31c90b3b74a6 72
benheck 0:31c90b3b74a6 73 }
benheck 0:31c90b3b74a6 74
benheck 0:31c90b3b74a6 75
benheck 0:31c90b3b74a6 76
benheck 0:31c90b3b74a6 77
benheck 0:31c90b3b74a6 78
benheck 0:31c90b3b74a6 79
benheck 0:31c90b3b74a6 80
benheck 0:31c90b3b74a6 81