cathal deehy-power
/
Case_Study_rtos_signals
2 flags with comments
Fork of rtos_signals by
Diff: main.cpp
- Revision:
- 4:3925b40d3296
- Parent:
- 1:6a8fcc666593
--- a/main.cpp Tue Jun 04 15:54:12 2013 +0100 +++ b/main.cpp Fri Feb 13 14:36:56 2015 +0000 @@ -1,21 +1,25 @@ #include "mbed.h" #include "rtos.h" -DigitalOut led(LED1); +PwmOut led(p25); //setup LED for PWM void led_thread(void const *argument) { while (true) { // Signal flags that are reported as event are automatically cleared. - Thread::signal_wait(0x1); - led = !led; + Thread::signal_wait(0x2); //Wait for flag to be set after thread wait for 2000 msec + led = 0.5; //dim LED to half brightness + Thread::signal_wait(0x1); //Wait for flag to be set after thread wait for 100 msec + led = 1; //turn off LED } } int main (void) { - Thread thread(led_thread); + Thread thread(led_thread); //start thread while (true) { - Thread::wait(1000); - thread.signal_set(0x1); + Thread::wait(1000); //thread wait for 1000 msec + thread.signal_set(0x1); //set the flag for "0x1" + Thread::wait(2000); //Thread wait for 2000 msec + thread.signal_set(0x2); //set the flag for "0x2 } }