Purpose: Simple application example with 2 threads and mutual-exclusion (Mutex) to a shared ressource (a bargraph).

Dependencies:   IHM_V2

/media/uploads/jacquesolivierklein/mbed-os-mutex.png

Purpose: Simple application example with 2 threads and mutual-exclusion (Mutex) to a shared ressource (a bargraph).

Target: L432KC / Nboard (from IUT-Cachan) Tested: YES (2019-01-09) Author: Jacques-Olivier Klein - IUT de CACHAN Date: 2018-02-10 rev. 2019-01-09 OS_STACK_SIZE=4096 Libraries: mbed-os rev5345:c966348(03jan2019) + IHMV2 (from IUT-Cachan) rev6:ad91067

Revision:
29:8b329367eec8
Parent:
27:3780dd84a543
diff -r e31f8871791d -r 8b329367eec8 main.cpp
--- a/main.cpp	Sun Feb 11 08:55:28 2018 +0000
+++ b/main.cpp	Wed Jan 09 12:26:21 2019 +0000
@@ -1,6 +1,6 @@
 // Title:  mbed-os-mutex
 // Author: Jacques-Olivier Klein - IUT de CACHAN
-// Date: 2018-02-10
+// Date: 2018-02-10 rev. 2019-01-06
 
 #include "mbed.h"
 #include "IHM.h"
@@ -24,15 +24,15 @@
 {   ihm.LCD_clear();
     ihm.LCD_printf("Mutex-%s %s",__DATE__,__TIME__);
     printf("\n\rmbed-os-mutex-%s %s\n\r",__DATE__,__TIME__);
-    printf(" DEFAULT_STACK_SIZE:%d\n\r", DEFAULT_STACK_SIZE); 
+    printf(" OS_STACK_SIZE:%d\n\r", OS_STACK_SIZE); 
 
     Thread_bargraph_up_counter.start(bargraph_up_counter); 
     Thread_bargraph_down_counter.start(bargraph_down_counter); 
        
     while(1){
-        Thread::wait(4000);  
+        wait(4.000);  
         L0=!L0;
-        printf("      [pid-%d]Main \n\r",Thread::gettid());
+        printf("      [pid-%d]Main \n\r",osThreadGetId());
     }
 }
 
@@ -43,7 +43,7 @@
          L1=1;       
         for(up_counter = 1; up_counter != 0xFF; up_counter = (up_counter<<1)|1){
             ihm.BAR_set(up_counter);
-            Thread::wait(200); 
+            wait(0.200); 
         }
         bargraph_mutex.unlock();
         L1=0;
@@ -58,7 +58,7 @@
         for(down_counter = 0x80; down_counter != 0xFF; 
                 down_counter = (down_counter>>1)|0x80){
             ihm.BAR_set(down_counter);
-            Thread::wait(200); 
+            wait(0.200); 
         }
         bargraph_mutex.unlock();
         L2=0;