Purpose: Simple application example with 2 threads communicating 5-byte buffers through a Mail event-object.

Dependencies:   IHM_V2

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

/media/uploads/jacquesolivierklein/mbed-os-mail-5-bytes-tx-rx.png

Purpose: Simple application example with 2 threads communicating 5-byte buffers through a Mail event-object. 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:e8a6f4ab0fd5
Parent:
28:9a6aff2af525
--- a/main.cpp	Sun Feb 11 09:05:16 2018 +0000
+++ b/main.cpp	Wed Jan 09 12:26:12 2019 +0000
@@ -1,6 +1,6 @@
 // Title: mbed-os-mail-5-Bytes-tx-rx
 // 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"
@@ -32,15 +32,15 @@
 {   ihm.LCD_clear();
     ihm.LCD_printf("Mail-5B-tx-rx-%s %s",__DATE__,__TIME__);
     printf("\n\rmbed-os-mail-5-Bytes-tx-rx-%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); 
 
     Thread_TxMail.start(TxMail); 
     Thread_RxMail.start(RxMail); 
       
     while(1){
-        Thread::wait(3000);  
+        wait(3.000);  
         L0=!L0;
-        printf("M     [pid-%d]Main \n\r",Thread::gettid());
+        printf("M     [pid-%d]Main \n\r",osThreadGetId());
     }
 }
 
@@ -55,10 +55,10 @@
             if (c=='}')c='!'; 
         }
         p_buffer->message[MY_MAIL_BUFFER_SIZE-1]=0;
-        printf("   T  [pid-%d]TxMail:<%s>\n\r",Thread::gettid(),p_buffer->message);
+        printf("   T  [pid-%d]TxMail:<%s>\n\r",osThreadGetId(),p_buffer->message);
         my_mail_box.put(p_buffer);
         L1 = ! L1;
-        Thread::wait(1000);
+        wait(2.000);
     }    
 }
 
@@ -71,6 +71,6 @@
         p_mail_buffer = (Mail_Buffer_T *)evt.value.p;      
         memcpy ( &local_buffer,p_mail_buffer, MY_MAIL_BUFFER_SIZE); 
         my_mail_box.free(p_mail_buffer);
-        printf("     R[pid-%d]RxMail:<%s>\n\r",Thread::gettid(),local_buffer.message);
+        printf("     R[pid-%d]RxMail:<%s>\n\r",osThreadGetId(),local_buffer.message);
     }    
 }