avnish aggarwal
/
bootcamp-appdesign
evolution
Revision 0:f25a61b099e5, committed 2014-02-01
- Comitter:
- avnisha
- Date:
- Sat Feb 01 18:55:02 2014 +0000
- Child:
- 1:02e0c04d84d3
- Commit message:
- evolution
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Feb 01 18:55:02 2014 +0000 @@ -0,0 +1,286 @@ +#include "mbed.h" + + +/* +led1: flash brief one per second, EVERY second. +led2: On at t = 2 and off at t = 5 +led3: On at t = 3 and off at t = 6 +*/ + +#define ONE + +#ifdef ONE + +DigitalOut led1(LED1); + +int main() { + while(1) { + led1 = 1; + wait(0.2); + led1 = 0; + wait(0.2); + } +} + +#endif + +#ifdef TWO + +Timeout to1; +DigitalOut led1(LED1); +DigitalOut led2(LED2); + +void cb1(void) { + led2 = 1; + wait(3); + led2 = 0; +} + +int main() { + + to1.attach(&cb1, 2); + + while(1) { + led1 = 1; + wait(0.05); + led1 = 0; + wait(0.95); + } +} + +#endif +#ifdef THREE + +Timeout to1; +Timeout to2; +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); + +void cb1(void) { + led2 = 1; + wait(3); + led2 = 0; +} + +void cb2(void) { + led3 = 1; + wait(3); + led3 = 0; +} + +int main() { + + to1.attach(&cb1, 2); + to2.attach(&cb2, 3); + + while(1) { + led1 = 1; + wait(0.05); + led1 = 0; + wait(0.95); + } +} +#endif + +#ifdef FOUR + + +Timeout to1; +Timeout to2; +DigitalOut led1(LED1); +DigitalOut to1_led(LED2); +DigitalOut to2_led(LED3); + +bool to1triggered = false; +bool to2triggered = false; + +void cb1(void) { + to1triggered = true; +} + +void to1handle(void) { + if (to1_led == 0) { + to1_led = 1; + to1.detach(); + to1.attach(&cb1, 3); + } + else { + to1_led = 0; + to1.detach(); + } +} +#endif + +#ifdef FIVE + +void cb2(void) { + to2triggered = true; +} + +void to2handle(void) { + if (to2_led == 0) { + to2_led = 1; + to2.detach(); + to2.attach(&cb2, 3); + } + else { + to2_led = 0; + to2.detach(); + } +} + + +int main() { + + to1.attach(&cb1, 2); + to2.attach(&cb2, 3); + + while(1) { + + if (to1triggered) { + to1triggered = false; + to1handle(); + } + + if (to2triggered) { + to2triggered = false; + to2handle(); + } + + led1 = 1; + wait(0.05); + led1 = 0; + wait(0.95); + } +} + +#endif + +#ifdef SIX + +#include "mbed.h" + +Ticker tled1on; +Timeout tled1off; +Timeout to1; +Timeout to2; +DigitalOut led1(LED1); +DigitalOut to1_led(LED2); +DigitalOut to2_led(LED3); + +void cb1(void) { + if (to1_led == 0) { + to1_led = 1; + } + else { + to1_led = 0; + } + // Reschedule a new event. + to1.detach(); + to1.attach(&cb1, 3); +} + +void cb2(void) { + if (to2_led == 0) { + to2_led = 1; + } + else { + to2_led = 0; + } + // Reschedule a new event. + to2.detach(); + to2.attach(&cb2, 3); +} + +void tled1off_cb(void) { + led1 = 0; +} + +void tled1on_cb(void) { + led1 = 1; + tled1off.detach(); + tled1off.attach(&tled1off_cb, 0.05); +} + +int main() { + + led1 = 1; + tled1off.attach(&tled1on_cb, 0.05); + tled1on.attach(&tled1on_cb, 1); + to1.attach(&cb1, 2); + to2.attach(&cb2, 3); + + while(1) { + // Calculate PI here as we have so much time :) + // It's like riding a bike with no hands, who's + // steering?! :) + } +} + +#endif + +#ifdef SEVEN + +Ticker tled1on; +Timeout tled1off; +Timeout to1; +Timeout to2; +DigitalOut led1(LED1); +DigitalOut to1_led(LED2); +DigitalOut to2_led(LED3); + +void cb1(void) { + if (to1_led == 0) { + to1_led = 1; + } + else { + to1_led = 0; + } + + printf("hello\n"); // BAD IDEA !!!! + + // Reschedule a new event. + to1.detach(); + to1.attach(&cb1, 3); +} + +void cb2(void) { + if (to2_led == 0) { + to2_led = 1; + } + else { + to2_led = 0; + } + // Reschedule a new event. + to2.detach(); + to2.attach(&cb2, 3); +} + +void tled1off_cb(void) { + led1 = 0; +} + +void tled1on_cb(void) { + led1 = 1; + tled1off.detach(); + tled1off.attach(&tled1off_cb, 0.05); +} + +int main() { + + led1 = 1; + tled1off.attach(&tled1on_cb, 0.05); + tled1on.attach(&tled1on_cb, 1); + to1.attach(&cb1, 2); + to2.attach(&cb2, 3); + + while(1) { + // Calculate PI here as we have so much time :) + // It's like riding a bike with no hands, who's + // steering?! :) + } +} + +#endif +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat Feb 01 18:55:02 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f \ No newline at end of file