PlatformMutex class example - RTOS independent

Files at this revision

API Documentation at this revision

Comitter:
deepikabhavnani
Date:
Thu Nov 30 22:14:35 2017 +0000
Commit message:
Initial Draft;

Changed in this revision

.gitignore Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 2084d9e90526 .gitignore
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.gitignore	Thu Nov 30 22:14:35 2017 +0000
@@ -0,0 +1,4 @@
+.build
+.mbed
+projectfiles
+*.py*
diff -r 000000000000 -r 2084d9e90526 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Nov 30 22:14:35 2017 +0000
@@ -0,0 +1,25 @@
+#include "mbed.h"
+
+PlatformMutex stdio_mutex;
+Thread t2;
+Thread t3;
+    
+void notify(const char* name, int state) {
+    stdio_mutex.lock();
+    printf("%s: %d\n\r", name, state);
+    stdio_mutex.unlock();
+}
+
+void test_thread(void const *args) {
+    while (true) {
+        notify((const char*)args, 0); wait(1);
+        notify((const char*)args, 1); wait(1);
+    }
+}
+
+int main() {
+    t2.start(callback(test_thread, (void *)"Th 2"));
+    t3.start(callback(test_thread, (void *)"Th 3"));
+
+    test_thread((void *)"Th 1");
+}
diff -r 000000000000 -r 2084d9e90526 mbed-os.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Thu Nov 30 22:14:35 2017 +0000
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#182bbd51bc8d1b6217477c2b5de3f1d0c5e6249f