DIISWAG / Mbed 2 deprecated CAN_Database

Dependencies:   mbed mbed-rtos

Revision:
6:2c713a0187dd
Parent:
5:e7fa92a21eff
Parent:
4:4051a72a22f7
Child:
7:5ad5ce91831f
diff -r e7fa92a21eff -r 2c713a0187dd main.cpp
--- a/main.cpp	Sat Jun 03 14:37:34 2017 +0000
+++ b/main.cpp	Sat Jun 03 14:46:42 2017 +0000
@@ -10,9 +10,9 @@
 
 Thread threadA;
 Thread threadB;
+Thread threadC;
  
- char * BDD[8];
-
+char * BDD[8];
  
 CAN CanPort(p30, p29);
 CANMessage  MessageRx; 
@@ -34,7 +34,6 @@
  return retour;
 }
 
- 
 void canReader(void)
 {
     
@@ -42,22 +41,60 @@
     if (CanPort.read(MessageRx))
     {
             led1 = !led1;
-            threadA.signal_set(SIG_RX_CAN);
+            switch(MessageRx.id){
+                case 0x111 : 
+                        threadA.signal_set(SIG_RX_CAN);
+                    break;
+                    
+                case 0x221 :
+                        threadC.signal_set(SIG_RX_CAN);
+                    break;
+                    
+                case 0x222 :
+                        threadC.signal_set(SIG_RX_CAN);
+                    break;
+                    
+                case 0x333 :
+                
+                    break;
+                default: 
+                        printf("Id error = %X\n\r",MessageRx.id)  ;
+                }
+            
     }
     
 } 
  
-
-void thA() 
+ void traitRFID() 
 {
+    int i=0;
+    
     while(true)
     {
         Thread::signal_wait(SIG_RX_CAN);    
         led2 = !led2;
-        printf("RX FRAME ID = %X\n\r",MessageRx.id);
+        for(i=0; i<8;i++){
+        printf("Numero de carte = %X\n\r",MessageRx.data[i]);
+        }        
         
     }
 }
+
+void thA() 
+{
+    int i=0;
+    while(true)
+    {
+        Thread::signal_wait(SIG_RX_CAN);    
+        led2 = !led2;
+        if(MessageRx.data[0]==0x01){
+            printf("RX ID = %X \t\n\r",MessageRx.id);
+            for (i=0;i<8;i++){
+                 printf(" DATA = %X \n\r",MessageRx.data[i]);
+            }
+        }
+    }
+}
  
 void thB() 
 {
@@ -95,9 +132,14 @@
         
     threadA.start(thA);
     threadB.start(thB);
+    threadC.start(traitRFID);
     
     led1 = 0;
-  
+    led2 =0 ;
+    printf("Start OK\n\r");
+
+    
+
     while (true) 
         {