Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.

Dependencies:   debug mbed

CtrlBridge

  • fonction quelquonque pour communiquer avec les module
  • fonction quelquonque pour faire des recherche dans les module dispo
  • autre fonction pour jouer avec MemRegistre

Version 1.2.0

  • Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
Revision:
10:7e6aeaebe1a2
Parent:
9:7295385f02b2
Child:
11:496453b45e25
--- a/source/CtrlBridge.cpp	Thu Mar 19 19:14:31 2015 +0000
+++ b/source/CtrlBridge.cpp	Thu Mar 19 21:49:20 2015 +0000
@@ -36,24 +36,52 @@
 {
     //char positionInitial;
     bool portUse;
-    char flag = Request_Init_Info;
-    char data = 0;
-    Module templateModule;
-
+    string flag;
+    string data;
+    Module* templateModule ;
+    templateModule= new Module;
+    
+    flag.append(1,Request_Init_Info);
     //positionInitial = spiLowSpeed.next_demux();
     for(char i=0; i != 15; i++) {
         portUse = spiLowSpeed.send(i,0,&flag,&data);
-        
-        if( portUse )
-        {
+
+        if( portUse ) {
             m_regPortUse|=(1<< i);
-           /* do{
-                templateModule.regA = ;
-                }while();
-            */
-            }
+           
+            do {
+                
+                templateModule->regA = m_Memory.getAdressDispo();
+                templateModule->regB = (spiLowSpeed.get_demux()<<4)+(data[0]&0x0F);
+                templateModule->regC = data[1];
+                templateModule->regD = data[2];
+
+                switch(templateModule->regD >>6) {
+                    case 1://Capteur
+                        m_Memory.addCapteur(*templateModule);
+                        break;
+
+                    case 2://Actionneur
+                        m_Memory.addActioneur(*templateModule);
+                        break;
+
+
+                    case 3://Memoire
+                        m_Memory.addMemoire(*templateModule);
+                        break;
+                        
+                        default:
+                        break;
+                }
+
+                if(flag[0] != Contien_AUTRE_MODULE)
+                    portUse=false;
+            } while(portUse); 
+        }
     }
 
-
+    if(templateModule)
+    delete templateModule;
+    
     return true;
 }
\ No newline at end of file