Example using semaphore in ISR

Dependencies:   IHM_V2

/media/uploads/jacquesolivierklein/mbed-os-isr-semaphore.png

Purpose: Simple application example with 1 thread triggered by a interrupt service routine (ISR) through a semaphore. 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:
28:be81ea276c3a
Parent:
27:edb6c6685907
--- a/main.cpp	Sat Feb 10 20:57:06 2018 +0000
+++ b/main.cpp	Wed Jan 09 12:26:00 2019 +0000
@@ -1,6 +1,6 @@
-// Title : mbed-os-irq-semaphore
+// Title : mbed-os-isr-semaphore
 // 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"
@@ -15,22 +15,22 @@
 void thread_Semaphore();
 void isrBP0 ();
 
-Thread thread_waiting_for_semaphore (osPriorityNormal,DEFAULT_STACK_SIZE );;
+Thread thread_waiting_for_semaphore (osPriorityNormal,OS_STACK_SIZE );;
 Semaphore mysemaphore(0); 
 
 int main(void) 
 {   ihm.LCD_clear();
     ihm.LCD_printf("irq-semaphore-%s %s",__DATE__,__TIME__);
     printf("mbed-os-irq-semaphore-%s %s\n\r",__DATE__,__TIME__);
-    printf("DEFAULT_STACK_SIZE:%d\n\r", DEFAULT_STACK_SIZE); 
+    printf("DEFAULT_STACK_SIZE:%d\n\r", OS_STACK_SIZE); 
  
     BP0_Interrupt.mode(PullUp);
     thread_waiting_for_semaphore.start(thread_Semaphore);
     BP0_Interrupt.fall(&isrBP0);
     while(1){
         L0=!L0;
-        printf("*     [pid-%d]Main \n\r",Thread::gettid());
-        Thread::wait(200);  
+        printf("*     [pid-%d]Main \n\r",osThreadGetId());
+        wait(0.200);  
     }
 }
 
@@ -42,7 +42,7 @@
     while(1){
         mysemaphore.wait();
         L1=!L1; 
-        printf("    * [pid-%d]Main \n\r",Thread::gettid());
+        printf("    * [pid-%d]Semaphore \n\r",osThreadGetId());
         }
 }
     
\ No newline at end of file