University of Plymouth - Stages 1, 2 and 3
/
Task613Solution-mbeds-FZ429
Updated for stage-3
Fork of Task613Solution-mbeds54 by
Diff: main.cpp
- Revision:
- 4:4d74762bf38b
- Parent:
- 3:ef46c1ddefed
--- a/main.cpp Tue Oct 31 14:27:48 2017 +0000 +++ b/main.cpp Fri Nov 08 10:45:29 2019 +0000 @@ -11,6 +11,15 @@ void Function3(); void Function4(); +typedef struct { + float temp; + float press; + float humid; +} Measurement; + +Measurement buffer[120]; + + //I/O DigitalOut onBoardLED(LED1); DigitalOut redLED(PE_15); @@ -38,7 +47,7 @@ while (true) { redLED = !redLED; if (redLED == 0) { - t2.signal_set(RED_OFF); + t2.flags_set(RED_OFF); } Thread::wait(1000); } @@ -47,10 +56,10 @@ void Function2() { while (true) { - Thread::signal_wait(RED_OFF); + ThisThread::flags_wait_all(RED_OFF); yellowLED = !yellowLED; if (yellowLED == 0) { - t3.signal_set(YELLOW_OFF); + t3.flags_set(YELLOW_OFF); } } } @@ -59,10 +68,10 @@ void Function3() { while (true) { - Thread::signal_wait(YELLOW_OFF); + ThisThread::flags_wait_all(YELLOW_OFF); greenLED = !greenLED; if (greenLED == 0) { - t4.signal_set(GREEN_OFF); + t4.flags_set(GREEN_OFF); } } } @@ -71,7 +80,7 @@ void Function4() { while (true) { - Thread::signal_wait(GREEN_OFF); + ThisThread::flags_wait_all(GREEN_OFF); //Signal main thread osSignalSet(idMain, ALL_OFF); } @@ -94,10 +103,10 @@ //Thread ID - id1 = t1.gettid(); - id2 = t2.gettid(); - id3 = t3.gettid(); - id4 = t4.gettid(); +// id1 = t1.gettid(); +// id2 = t2.gettid(); +// id3 = t3.gettid(); +// id4 = t4.gettid(); while(1) { //Wait for the ALL_ON signal