![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
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
Diff: source/ComSpi.cpp
- Revision:
- 16:5ea4337d785f
- Parent:
- 15:91b3c572d9df
- Child:
- 17:095f670f9c14
diff -r 91b3c572d9df -r 5ea4337d785f source/ComSpi.cpp --- a/source/ComSpi.cpp Wed Apr 22 19:27:44 2015 +0000 +++ b/source/ComSpi.cpp Thu Apr 23 00:53:11 2015 +0000 @@ -164,9 +164,12 @@ // PFB // debug(DEBUG_SEND, "\n\r -Debut PFB. "); + // if(flag != 0) + // { switch(flag->size()) { case 1: - formatedDataSend.append(1,1<<6); //1 byte + if(flag->at(0) == 0) formatedDataSend.append(1,0<<6); //0 byte + else formatedDataSend.append(1,1<<6); //1 byte break; case 2: @@ -178,9 +181,10 @@ break; default: - formatedDataSend.append(1,0<<6); //0 byte + formatedDataSend.append(1,0<<6); //cas impossible //0 byte break; } + //} debug(DEBUG_COMPACT, "\n\r -PFB ADDED: %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2]); debug(DEBUG_SEND, "\n\r -Fin PFB. "); @@ -294,7 +298,8 @@ counterTotale = ((2+(settingMaster>>6))+1); counterTotale = counterTotale+(settingSlave>>6)+abs((settingMaster & 0x0F) - (settingSlave & 0x0F)); - + debug( "\n\r -size : %02X",counterTotale); + switch(bufferFlag) { //plus facile pour savoir ce que tu doit tatenre a recevoire case 1://Request Init Info if(retryLoop == 0) { @@ -338,14 +343,19 @@ break; default: //Get update (normale) - + //if(retryLoop == 0) { + // formatedDataSend.append(abs((settingMaster & 0x0F) - (settingSlave & 0x0F)),0);//je considere que cest fait apres avoire ajouter les data a nous + // } break; } //counterTotale = 2+(bufferReceive[2]>>6)+1; //counterTotale = counterTotale+(bufferSend[counterTotale]>>6)+abs((bufferReceive[2] & 0x5F) - (bufferSend[counterTotale] & 0x5F)); - - - + // if(retryLoop == 0) { + debug( "\n\r -size : %02X , %02X",formatedDataSend.size(),counterTotale); + // if(formatedDataSend.size()<counterTotale){ + // formatedDataSend.append(counterTotale-formatedDataSend.size(),0); + //} + //} @@ -508,9 +518,17 @@ // flag // flag->clear(); + if((settingSlave>>6) != 0) + { + //string str = formatedDataReceive.substr( ((2+(settingMaster>>6))+1+1),(settingSlave>>6)); + flag->append(formatedDataReceive.substr( ((2+(settingMaster>>6))+1+1),(settingSlave>>6)));// = &str; + + //debug(DEBUG_SLIM, "\n\r -flag get: "); + //for (unsigned i=0; i<str.length(); i++) debug(DEBUG_SLIM, "%02X,",str.at(i)); + } //twoBytesArray=formatedDataReceive[2]; //!!!!! wtf is that cest claire que sa pete la com - string::iterator it=formatedDataReceive.begin()+3; + /*string::iterator it=formatedDataReceive.begin()+3; switch(settingSlave>>6) { case 1: @@ -532,20 +550,28 @@ it++; flag->append(1,*it); it++; - break; + break;*/ /*default: formatedDataSend.append(1,0<<6); break;*/ - } + // } // ACK/NAK // // NDB // data->clear(); + if((settingSlave&0x0F) != 0) + { + //string str = formatedDataReceive.substr( ((2+(settingMaster>>6))+1+(settingSlave>>6)+1),(settingSlave&0x0F)); + data->append(formatedDataReceive.substr( ((2+(settingMaster>>6))+1+(settingSlave>>6)+1),(settingSlave&0x0F))); + + //debug(DEBUG_SLIM, "\n\r -data get: "); + //for (unsigned i=0; i<str.length(); i++) debug(DEBUG_SLIM, "%02X,",str.at(i)); + } //!!!!! same shit faut rebild la chose en bas - switch(settingSlave&0xFF) { + /* switch(settingSlave&0xFF) { case 1: data->append(1,*it); it++; @@ -565,12 +591,12 @@ it++; data->append(1,*it); it++; - break; + break;*/ /*default: break;*/ - } + //} } debug(DEBUG_SEND, "\n\r -Fin Traitement de l'information. ");