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
Committer:
salco
Date:
Tue Jan 31 13:15:42 2017 +0000
Revision:
41:0b5c14dda54a
Parent:
39:34d7802e8d15
Tentative de modifier les commit inutile sur debug.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 7:dcfd81d7f93f 1
salco 7:dcfd81d7f93f 2 #include "ComSpi.h"
salco 7:dcfd81d7f93f 3
salco 7:dcfd81d7f93f 4 ComSpi::ComSpi(PinName mosi, PinName miso, PinName sclk, PinName _unused) : SPI(mosi,miso,sclk,_unused)
salco 7:dcfd81d7f93f 5 {
salco 7:dcfd81d7f93f 6 // m_com = new SPI(mosi,miso,sclk,_unused);
salco 7:dcfd81d7f93f 7 //m_regPortUse=0;
salco 7:dcfd81d7f93f 8 //m_regPortLost=0;
salco 7:dcfd81d7f93f 9 m_demuxPos=0;
salco 7:dcfd81d7f93f 10 demuxIsUse=false;
salco 15:91b3c572d9df 11 chainedListFirst = 0;
salco 15:91b3c572d9df 12 chainedListLast = 0;
salco 15:91b3c572d9df 13 flagSPI.getBytes = 0;
salco 15:91b3c572d9df 14 //result = 0;
salco 15:91b3c572d9df 15 counterData = 0;
salco 15:91b3c572d9df 16 counterTotale = 0;
salco 15:91b3c572d9df 17 /*for(int i=0;i<MAXTABLE;i++)
salco 15:91b3c572d9df 18 {
salco 15:91b3c572d9df 19 bufferSend[i] = 0;
salco 15:91b3c572d9df 20 bufferReceive[i] = 0;
salco 15:91b3c572d9df 21 }
salco 15:91b3c572d9df 22 bufferSend[0] = SYNC;*/
salco 15:91b3c572d9df 23 }
salco 15:91b3c572d9df 24
salco 15:91b3c572d9df 25 struct module_t* ComSpi::createModule(void) {
salco 15:91b3c572d9df 26 if(chainedListFirst == 0) {
salco 15:91b3c572d9df 27 chainedListFirst = new module_t ;
salco 15:91b3c572d9df 28 chainedListLast = chainedListFirst;
salco 15:91b3c572d9df 29 } else {
salco 15:91b3c572d9df 30 chainedListLast->next = new module_t;
salco 15:91b3c572d9df 31 chainedListLast = chainedListLast->next;
salco 15:91b3c572d9df 32 }
salco 15:91b3c572d9df 33 chainedListLast->next = 0;
salco 15:91b3c572d9df 34 return chainedListLast;
salco 7:dcfd81d7f93f 35 }
salco 7:dcfd81d7f93f 36
salco 7:dcfd81d7f93f 37 ComSpi::ComSpi(PinName mosi, PinName miso, PinName sclk, PinName demuxA, PinName demuxB, PinName demuxC, PinName demuxD, PinName demuxEnable)
salco 11:496453b45e25 38 : SPI(mosi,miso,sclk), m_demuxA(demuxA), m_demuxB(demuxB), m_demuxC(demuxC), m_demuxD(demuxD), m_demuxEnable(demuxEnable)
salco 7:dcfd81d7f93f 39 {
salco 7:dcfd81d7f93f 40 m_demuxPos=0;
salco 7:dcfd81d7f93f 41 demuxIsUse=true;
salco 15:91b3c572d9df 42 format(8,0);//16,0); //recente modification
salco 7:dcfd81d7f93f 43 }
salco 7:dcfd81d7f93f 44
salco 7:dcfd81d7f93f 45 ComSpi::~ComSpi()
salco 7:dcfd81d7f93f 46 {
salco 15:91b3c572d9df 47 //pt deleter les pointeur mais sa ser pas vrm a grand chause
salco 7:dcfd81d7f93f 48 //if(m_com)
salco 7:dcfd81d7f93f 49 // delete(m_com);
salco 7:dcfd81d7f93f 50 }
salco 7:dcfd81d7f93f 51 void ComSpi::change_demux(void)
salco 7:dcfd81d7f93f 52 {
salco 9:7295385f02b2 53 if(demuxIsUse) {
salco 10:7e6aeaebe1a2 54 DigitalOut pinDemuxA(m_demuxA);
salco 10:7e6aeaebe1a2 55 DigitalOut pinDemuxB(m_demuxB);
salco 10:7e6aeaebe1a2 56 DigitalOut pinDemuxC(m_demuxC);
salco 10:7e6aeaebe1a2 57 DigitalOut pinDemuxD(m_demuxD);
salco 15:91b3c572d9df 58 DigitalOut pinDemuxEnable(m_demuxEnable);//,1);
salco 15:91b3c572d9df 59 //wait(1);
salco 10:7e6aeaebe1a2 60 pinDemuxEnable=0;
salco 15:91b3c572d9df 61 //wait(1);
salco 10:7e6aeaebe1a2 62 if(m_demuxPos & 1) pinDemuxA=1; //0b0001
salco 10:7e6aeaebe1a2 63 else pinDemuxA=0;
salco 10:7e6aeaebe1a2 64 if(m_demuxPos & 2) pinDemuxB=1; //0b0010
salco 10:7e6aeaebe1a2 65 else pinDemuxB=0;
salco 10:7e6aeaebe1a2 66 if(m_demuxPos & 4) pinDemuxC=1; //0b0100
salco 10:7e6aeaebe1a2 67 else pinDemuxC=0;
salco 10:7e6aeaebe1a2 68 if(m_demuxPos & 8) pinDemuxD=1; //0b1000
salco 10:7e6aeaebe1a2 69 else pinDemuxD=0;
salco 15:91b3c572d9df 70 //wait(1);
salco 17:095f670f9c14 71 // pinDemuxEnable=1;
salco 15:91b3c572d9df 72 //wait(1);
salco 9:7295385f02b2 73 }
salco 7:dcfd81d7f93f 74 }
salco 9:7295385f02b2 75 char ComSpi::next_demux(void)
salco 7:dcfd81d7f93f 76 {
salco 9:7295385f02b2 77 char result = (char)-1;
salco 7:dcfd81d7f93f 78
salco 7:dcfd81d7f93f 79 if(demuxIsUse) {
salco 7:dcfd81d7f93f 80 (m_demuxPos == 15)? m_demuxPos=0:m_demuxPos++;
salco 7:dcfd81d7f93f 81 change_demux();
salco 9:7295385f02b2 82 result = m_demuxPos;
salco 7:dcfd81d7f93f 83 }
salco 7:dcfd81d7f93f 84 return result;
salco 7:dcfd81d7f93f 85 }
salco 9:7295385f02b2 86 char ComSpi::back_demux(void)
salco 7:dcfd81d7f93f 87 {
salco 9:7295385f02b2 88 char result = (char)-1;
salco 10:7e6aeaebe1a2 89
salco 7:dcfd81d7f93f 90 if(demuxIsUse) {
salco 7:dcfd81d7f93f 91 (m_demuxPos == 0)? m_demuxPos=15:m_demuxPos--;
salco 7:dcfd81d7f93f 92 change_demux();
salco 10:7e6aeaebe1a2 93
salco 10:7e6aeaebe1a2 94 result = m_demuxPos;
salco 7:dcfd81d7f93f 95 }
salco 7:dcfd81d7f93f 96 return result;
salco 7:dcfd81d7f93f 97 }
salco 10:7e6aeaebe1a2 98 char ComSpi::get_demux(void)
salco 10:7e6aeaebe1a2 99 {
salco 10:7e6aeaebe1a2 100 char result = (char)-1;
salco 10:7e6aeaebe1a2 101 if(demuxIsUse)
salco 10:7e6aeaebe1a2 102 result=m_demuxPos;
salco 10:7e6aeaebe1a2 103 return result ;
salco 10:7e6aeaebe1a2 104 }
salco 15:91b3c572d9df 105 unsigned char spiCurrentState;
salco 15:91b3c572d9df 106 int ComSpi::write(int value)
salco 15:91b3c572d9df 107 {
salco 17:095f670f9c14 108 DigitalOut pinDemuxEnable(m_demuxEnable);
salco 15:91b3c572d9df 109 //DigitalOut pinDemuxEnable(m_demuxEnable,0);
salco 15:91b3c572d9df 110 int a;
salco 17:095f670f9c14 111 pinDemuxEnable=1;
salco 17:095f670f9c14 112 /* switch(spiCurrentState)
salco 15:91b3c572d9df 113 {
salco 17:095f670f9c14 114 case 0:
salco 17:095f670f9c14 115 a= SPI::write(0x12);
salco 17:095f670f9c14 116 spiCurrentState++;
salco 17:095f670f9c14 117 break;
salco 17:095f670f9c14 118 default:
salco 17:095f670f9c14 119 a= SPI::write(0xF5);
salco 17:095f670f9c14 120 spiCurrentState =0;
salco 17:095f670f9c14 121 break;
salco 15:91b3c572d9df 122 }*/
salco 17:095f670f9c14 123 wait_us(5);
salco 15:91b3c572d9df 124 a= SPI::write(value);
salco 15:91b3c572d9df 125 wait_us(5);
salco 17:095f670f9c14 126 pinDemuxEnable=0;
salco 17:095f670f9c14 127 sneekpeek.append(1,value);
salco 17:095f670f9c14 128 wait_us(1000);
salco 15:91b3c572d9df 129 return a;
salco 15:91b3c572d9df 130 }
salco 15:91b3c572d9df 131
salco 10:7e6aeaebe1a2 132
salco 14:ca1a9230ba7f 133 bool ComSpi::send(char portID,unsigned char adresseModule,string *flag,string *data)
salco 7:dcfd81d7f93f 134 {
salco 7:dcfd81d7f93f 135 bool result=false;
salco 10:7e6aeaebe1a2 136 string formatedDataSend;
salco 15:91b3c572d9df 137 string formatedDataReceive;//DEBUG_COMPACT
salco 15:91b3c572d9df 138 char settingMaster = 0;
salco 15:91b3c572d9df 139 char settingSlave = 0;
salco 12:bf44013497c8 140
salco 15:91b3c572d9df 141 debug(DEBUG_SEND| DEBUG_COMPACT, "\n\r -Debut du send. ");
salco 12:bf44013497c8 142
salco 11:496453b45e25 143 debug(DEBUG_SEND, "\n\r -Debut set demux. ");
salco 15:91b3c572d9df 144
salco 15:91b3c572d9df 145 if(portID < 1) portID = 0;
salco 15:91b3c572d9df 146 else if(portID > 16) portID = 16;
salco 27:ea60d12dccdf 147 debug(DEBUG_SEND| DEBUG_COMPACT, "\n\r -Change PORT. %02d",portID);
salco 15:91b3c572d9df 148 m_demuxPos = portID;
salco 15:91b3c572d9df 149 change_demux();
salco 15:91b3c572d9df 150
salco 11:496453b45e25 151 debug(DEBUG_SEND, "\n\r -Fin set demux. ");
salco 12:bf44013497c8 152
salco 10:7e6aeaebe1a2 153 // Sync //
salco 11:496453b45e25 154 debug(DEBUG_SEND, "\n\r -Debut Sync. ");
salco 10:7e6aeaebe1a2 155 formatedDataSend.append(1,SYNC);
salco 15:91b3c572d9df 156 debug(DEBUG_COMPACT, "\n\r -SYNC ADDED: %02X ",formatedDataSend[0]);
salco 11:496453b45e25 157 debug(DEBUG_SEND, "\n\r -Fin Sync. ");
salco 12:bf44013497c8 158
salco 10:7e6aeaebe1a2 159 // Address //
salco 11:496453b45e25 160 debug(DEBUG_SEND, "\n\r -Debut Address. ");
salco 10:7e6aeaebe1a2 161 formatedDataSend.append(1,adresseModule);
salco 15:91b3c572d9df 162 debug(DEBUG_COMPACT, "\n\r -ADDR ADDED: %02X, %02X ",formatedDataSend[0],formatedDataSend[1]);
salco 11:496453b45e25 163 debug(DEBUG_SEND, "\n\r -Fin Address. ");
salco 12:bf44013497c8 164
salco 10:7e6aeaebe1a2 165 // PFB //
salco 11:496453b45e25 166 debug(DEBUG_SEND, "\n\r -Debut PFB. ");
salco 17:095f670f9c14 167 // if(flag != 0)
salco 17:095f670f9c14 168 // {
salco 10:7e6aeaebe1a2 169 switch(flag->size()) {
salco 10:7e6aeaebe1a2 170 case 1:
salco 16:5ea4337d785f 171 if(flag->at(0) == 0) formatedDataSend.append(1,0<<6); //0 byte
salco 16:5ea4337d785f 172 else formatedDataSend.append(1,1<<6); //1 byte
salco 10:7e6aeaebe1a2 173 break;
salco 10:7e6aeaebe1a2 174
salco 10:7e6aeaebe1a2 175 case 2:
salco 15:91b3c572d9df 176 formatedDataSend.append(1,2<<6); //2 byte
salco 10:7e6aeaebe1a2 177 break;
salco 10:7e6aeaebe1a2 178
salco 10:7e6aeaebe1a2 179 case 3:
salco 15:91b3c572d9df 180 formatedDataSend.append(1,3<<6); //3 byte
salco 10:7e6aeaebe1a2 181 break;
salco 10:7e6aeaebe1a2 182
salco 10:7e6aeaebe1a2 183 default:
salco 16:5ea4337d785f 184 formatedDataSend.append(1,0<<6); //cas impossible //0 byte
salco 10:7e6aeaebe1a2 185 break;
salco 10:7e6aeaebe1a2 186 }
salco 16:5ea4337d785f 187 //}
salco 15:91b3c572d9df 188 debug(DEBUG_COMPACT, "\n\r -PFB ADDED: %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2]);
salco 11:496453b45e25 189 debug(DEBUG_SEND, "\n\r -Fin PFB. ");
salco 12:bf44013497c8 190
salco 10:7e6aeaebe1a2 191 // gestion ACK/NAK
salco 11:496453b45e25 192 debug(DEBUG_SEND, "\n\r -Debut ACK/NAK. ");
salco 12:bf44013497c8 193 formatedDataSend.at(formatedDataSend.length()-1) |= (NOACK << 4);
salco 15:91b3c572d9df 194 debug(DEBUG_COMPACT, "\n\r -ACK ADDED: %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2]);
salco 11:496453b45e25 195 debug(DEBUG_SEND, "\n\r -Fin ACK/NAK. ");
salco 12:bf44013497c8 196
salco 10:7e6aeaebe1a2 197 // NDB //
salco 11:496453b45e25 198 debug(DEBUG_SEND, "\n\r -Debut NDB. ");
salco 10:7e6aeaebe1a2 199 switch(data->size()) {
salco 10:7e6aeaebe1a2 200 case 1:
salco 12:bf44013497c8 201 formatedDataSend.at(formatedDataSend.length()-1) |= 1;
salco 10:7e6aeaebe1a2 202 break;
salco 10:7e6aeaebe1a2 203
salco 10:7e6aeaebe1a2 204 case 2:
salco 12:bf44013497c8 205 formatedDataSend.at(formatedDataSend.length()-1) |= 2;
salco 10:7e6aeaebe1a2 206 break;
salco 10:7e6aeaebe1a2 207
salco 10:7e6aeaebe1a2 208 case 3:
salco 12:bf44013497c8 209 formatedDataSend.at(formatedDataSend.length()-1) |= 3;
salco 10:7e6aeaebe1a2 210 break;
salco 10:7e6aeaebe1a2 211
salco 10:7e6aeaebe1a2 212 default:
salco 12:bf44013497c8 213 formatedDataSend.at(formatedDataSend.length()-1) |= 0;
salco 10:7e6aeaebe1a2 214 break;
salco 10:7e6aeaebe1a2 215 }
salco 15:91b3c572d9df 216 //debug(DEBUG_COMPACT, "\n\r -NDB ADDED: %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2]);
salco 11:496453b45e25 217 debug(DEBUG_SEND, "\n\r -Fin NDB. ");
salco 12:bf44013497c8 218
salco 15:91b3c572d9df 219 settingMaster = formatedDataSend[formatedDataSend.length()-1];
salco 17:095f670f9c14 220
salco 10:7e6aeaebe1a2 221 // flag //
salco 11:496453b45e25 222 debug(DEBUG_SEND, "\n\r -Debut flag. ");
salco 12:bf44013497c8 223 if(flag->size() != 0) {
salco 10:7e6aeaebe1a2 224 formatedDataSend.append(*flag);
salco 15:91b3c572d9df 225 //debug(DEBUG_COMPACT, "\n\r -FLAG ADDED: %02X, %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2],formatedDataSend[3]);
salco 12:bf44013497c8 226 }
salco 11:496453b45e25 227 debug(DEBUG_SEND, "\n\r -Fin flag. ");
salco 12:bf44013497c8 228
salco 15:91b3c572d9df 229 //ici tu envoi deja ton premier stuf
salco 15:91b3c572d9df 230
salco 15:91b3c572d9df 231
salco 17:095f670f9c14 232 //debug(DEBUG_SLIM, "\n\r -settingMaster : %X , %i, %X ",settingMaster, (2+(settingMaster>>6)),formatedDataSend[(2+(settingMaster>>6))] );
salco 15:91b3c572d9df 233
salco 15:91b3c572d9df 234
salco 15:91b3c572d9df 235
salco 15:91b3c572d9df 236 for(int retryLoop=0; (retryLoop<3) && (!result); retryLoop++) {
salco 27:ea60d12dccdf 237 wait_us(3000);
salco 15:91b3c572d9df 238 debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Tentative: %d \n\r",retryLoop);
salco 15:91b3c572d9df 239 formatedDataReceive.clear();
salco 15:91b3c572d9df 240 settingSlave =0;
salco 15:91b3c572d9df 241 counterTotale =0;
salco 15:91b3c572d9df 242 sneekpeek.clear();
salco 15:91b3c572d9df 243 //Send Data
salco 15:91b3c572d9df 244 // debug(DEBUG_SEND, "\n\r -Debut Send Data. ");
salco 15:91b3c572d9df 245 // debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Send: ");
salco 15:91b3c572d9df 246 // for (unsigned i=0; i<formatedDataSend.length(); ++i) debug(DEBUG_SEND |DEBUG_COMPACT, "%02X,",formatedDataSend.at(i));
salco 10:7e6aeaebe1a2 247
salco 15:91b3c572d9df 248 //int twoBytesArray;
salco 15:91b3c572d9df 249 //twoBytesArray = (formatedDataSend[0]<<8)|(formatedDataSend[1]);
salco 15:91b3c572d9df 250 //twoBytesArray=write(twoBytesArray);
salco 13:51bbdc349f20 251
salco 15:91b3c572d9df 252 for(int i = 0; (i < formatedDataSend.length()) && (i<=(2+(settingMaster>>6))); ++i) {
salco 15:91b3c572d9df 253 formatedDataReceive.append(1,write(formatedDataSend[i]));//debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -A:%i ",i);
salco 15:91b3c572d9df 254 debug(DEBUG_SEND |DEBUG_COMPACT, " %02X,",formatedDataSend.at(i));
salco 27:ea60d12dccdf 255 wait_us(3000);
salco 15:91b3c572d9df 256 }
salco 13:51bbdc349f20 257
salco 15:91b3c572d9df 258 if(formatedDataReceive[0] == SYNC) {
salco 15:91b3c572d9df 259 debug(DEBUG_COMPACT, "\n\r -Receve transmission. ");
salco 15:91b3c572d9df 260 //!!!!!!!! Problem ici write dans un mais pas lautre
salco 27:ea60d12dccdf 261 //wait_us(3000);
salco 15:91b3c572d9df 262 if(retryLoop == 0) {
salco 15:91b3c572d9df 263 formatedDataSend.append(1,0);//2,0); cest une patch tempo parce que je trouve pas ou il manque la donner
salco 17:095f670f9c14 264 }
salco 15:91b3c572d9df 265 formatedDataReceive.append(1,write(0));
salco 17:095f670f9c14 266 // debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -B: ");
salco 17:095f670f9c14 267
salco 15:91b3c572d9df 268 settingSlave = formatedDataReceive[formatedDataReceive.length()-1];
salco 15:91b3c572d9df 269 debug(DEBUG_COMPACT, "\n\r -settingSlave %02X",settingSlave);
salco 27:ea60d12dccdf 270 debug(DEBUG_COMPACT, "\n\r -append %02X time(s)",settingSlave>>6);
salco 15:91b3c572d9df 271 if(retryLoop == 0) {
salco 15:91b3c572d9df 272 /*switch(formatedDataReceive[formatedDataSend.length()-1] >> 6) {
salco 15:91b3c572d9df 273 case 1:
salco 15:91b3c572d9df 274 formatedDataSend.append(1,0); //1 byte
salco 15:91b3c572d9df 275 break;
salco 13:51bbdc349f20 276
salco 15:91b3c572d9df 277 case 2:
salco 15:91b3c572d9df 278 formatedDataSend.append(2,0); //2 byte
salco 15:91b3c572d9df 279 break;
salco 13:51bbdc349f20 280
salco 15:91b3c572d9df 281 case 3:
salco 15:91b3c572d9df 282 formatedDataSend.append(3,0); //3 byte
salco 15:91b3c572d9df 283 break;
salco 12:bf44013497c8 284
salco 15:91b3c572d9df 285 //default:
salco 15:91b3c572d9df 286 // formatedDataSend.append(1,0<<6); //0 byte
salco 15:91b3c572d9df 287 // break;
salco 15:91b3c572d9df 288 }*/
salco 15:91b3c572d9df 289 formatedDataSend.append(settingSlave>>6,0);
salco 15:91b3c572d9df 290 }
salco 13:51bbdc349f20 291
salco 15:91b3c572d9df 292 int bufferFlag = 0;
salco 15:91b3c572d9df 293
salco 15:91b3c572d9df 294 for(int i = (settingMaster>>6); i != 0; i--) { //ici on remplie le buffer des data du flag
salco 15:91b3c572d9df 295 // je considere avec erreur que il nexiste pas de flag plus grand que 2 bytes (facilite le code de depart)
salco 15:91b3c572d9df 296 //!!! Pt metre fonct stein qui tronc de debut a fin pour remplacer les linge dessous.
salco 15:91b3c572d9df 297 bufferFlag = bufferFlag<<8;
salco 15:91b3c572d9df 298 bufferFlag += formatedDataSend[2+i];
salco 13:51bbdc349f20 299 }
salco 12:bf44013497c8 300
salco 15:91b3c572d9df 301 counterTotale = ((2+(settingMaster>>6))+1);
salco 15:91b3c572d9df 302 counterTotale = counterTotale+(settingSlave>>6)+abs((settingMaster & 0x0F) - (settingSlave & 0x0F));
salco 27:ea60d12dccdf 303 debug(DEBUG_COMPACT, "\n\r -Calcule: %02X=((2+(%02X))+1)+(%02X)+abs((%02X)-(%02X))",(((2+(settingMaster>>6))+1)+(settingSlave>>6)+abs((settingMaster & 0x0F) - (settingSlave & 0x0F))),(settingMaster>>6),(settingSlave>>6),(settingMaster & 0x0F),(settingSlave & 0x0F));
salco 17:095f670f9c14 304 //debug( "\n\r -size : %02X",counterTotale);
salco 39:34d7802e8d15 305 debug( DEBUG_COMPACT,"\n\r -size : %02X , %02X",formatedDataSend.size(),counterTotale);
salco 18:3f113f8441b2 306 if(retryLoop == 0) {
salco 27:ea60d12dccdf 307
salco 27:ea60d12dccdf 308 if(formatedDataSend.size()<=counterTotale) {
salco 18:3f113f8441b2 309 formatedDataSend.append(counterTotale+1-formatedDataSend.size(),0);
salco 18:3f113f8441b2 310 }
salco 27:ea60d12dccdf 311 else{
salco 27:ea60d12dccdf 312 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -Probleme de receive: ");
salco 27:ea60d12dccdf 313 for (unsigned i=0; i<formatedDataReceive.length(); i++) debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "%02X,",formatedDataReceive.at(i));
salco 27:ea60d12dccdf 314 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -Probleme de send: ");
salco 27:ea60d12dccdf 315 for (unsigned i=0; i<formatedDataSend.length(); i++) debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "%02X,",formatedDataSend.at(i));
salco 27:ea60d12dccdf 316 }
salco 18:3f113f8441b2 317 }
salco 18:3f113f8441b2 318
salco 39:34d7802e8d15 319 debug(DEBUG_COMPACT, "\n\r -size : %02X , %02X",formatedDataSend.size(),counterTotale);
salco 15:91b3c572d9df 320 switch(bufferFlag) { //plus facile pour savoir ce que tu doit tatenre a recevoire
salco 15:91b3c572d9df 321 case 1://Request Init Info
salco 15:91b3c572d9df 322 if(retryLoop == 0) {
salco 17:095f670f9c14 323 //formatedDataSend.append(1,1<<6); //1 byte flag
salco 17:095f670f9c14 324 //formatedDataSend.append(settingSlave & 0x0F,0);
salco 15:91b3c572d9df 325 //chek pour comment avoir un address
salco 18:3f113f8441b2 326 /*if(formatedDataSend.size()<counterTotale) {
salco 17:095f670f9c14 327 formatedDataSend.append(counterTotale+1-formatedDataSend.size(),0);
salco 18:3f113f8441b2 328 }*/
salco 15:91b3c572d9df 329 }
salco 15:91b3c572d9df 330 //verifier si la fonction fait ce quil edt suposer
salco 17:095f670f9c14 331
salco 18:3f113f8441b2 332 /*for(int i = ((2+(settingMaster>>6))+1); i < formatedDataSend.length()-1; ++i) { //on envoi le reste des data
salco 15:91b3c572d9df 333 formatedDataReceive.append(1,write(formatedDataSend[i]));
salco 15:91b3c572d9df 334 //debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -C:%i ",i);
salco 18:3f113f8441b2 335 }*/
salco 17:095f670f9c14 336
salco 15:91b3c572d9df 337 //templatePtr =searchAddr(0);
salco 15:91b3c572d9df 338 // 1 byte flag + 3 byte de data
salco 15:91b3c572d9df 339 //bufferSend[4] = (1<<6) + 3;//[2+(bufferReceive[2]>>6)+1] = (1<<6);
salco 15:91b3c572d9df 340
salco 15:91b3c572d9df 341
salco 15:91b3c572d9df 342 //if((templatePtr->next)==0)
salco 15:91b3c572d9df 343 // bufferSend[5] = 0b101;//bufferReceive[2+(bufferReceive[2]>>6)+1+bufferReceive[2+(bufferReceive[2]>>6)+1]] = 0b101;
salco 15:91b3c572d9df 344 //else
salco 15:91b3c572d9df 345 // bufferSend[5] = 0b10;
salco 15:91b3c572d9df 346
salco 15:91b3c572d9df 347 //bufferSend[6] = templatePtr->basicInfo.osnapRegisterB.getByte;
salco 15:91b3c572d9df 348 //bufferSend[7] = templatePtr->basicInfo.osnapRegisterC.getByte;
salco 15:91b3c572d9df 349 //bufferSend[8] = templatePtr->basicInfo.osnapRegisterD.getByte;
salco 15:91b3c572d9df 350 break;
salco 15:91b3c572d9df 351
salco 15:91b3c572d9df 352 case 2: //Slave contient un/des autre(s) module(s) sans adresses
salco 15:91b3c572d9df 353 break;
salco 15:91b3c572d9df 354
salco 15:91b3c572d9df 355 case 3: //Flag Critique
salco 15:91b3c572d9df 356 break;
salco 15:91b3c572d9df 357
salco 15:91b3c572d9df 358 case 4: //Flag Alerte
salco 15:91b3c572d9df 359 break;
salco 15:91b3c572d9df 360
salco 15:91b3c572d9df 361 case 5: //Slave ne contient plus de module sans adresse
salco 15:91b3c572d9df 362 break;
salco 15:91b3c572d9df 363
salco 15:91b3c572d9df 364 case 6: //Master request address update
salco 15:91b3c572d9df 365 break;
salco 15:91b3c572d9df 366
salco 15:91b3c572d9df 367 default: //Get update (normale)
salco 16:5ea4337d785f 368 //if(retryLoop == 0) {
salco 16:5ea4337d785f 369 // formatedDataSend.append(abs((settingMaster & 0x0F) - (settingSlave & 0x0F)),0);//je considere que cest fait apres avoire ajouter les data a nous
salco 16:5ea4337d785f 370 // }
salco 15:91b3c572d9df 371 break;
salco 15:91b3c572d9df 372 }
salco 18:3f113f8441b2 373 // pas sur si cest une bonne ider mais sa peut peut etre regrouper tout les flags
salco 18:3f113f8441b2 374 for(int i = ((2+(settingMaster>>6))+1); i < formatedDataSend.length()-1; ++i) { //on envoi le reste des data
salco 18:3f113f8441b2 375 formatedDataReceive.append(1,write(formatedDataSend[i]));
salco 18:3f113f8441b2 376 //debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -C:%i ",i);
salco 18:3f113f8441b2 377 }
salco 15:91b3c572d9df 378 //counterTotale = 2+(bufferReceive[2]>>6)+1;
salco 15:91b3c572d9df 379 //counterTotale = counterTotale+(bufferSend[counterTotale]>>6)+abs((bufferReceive[2] & 0x5F) - (bufferSend[counterTotale] & 0x5F));
salco 15:91b3c572d9df 380
salco 15:91b3c572d9df 381
salco 15:91b3c572d9df 382
salco 15:91b3c572d9df 383 // Envoie le reste si liker //
salco 15:91b3c572d9df 384 // DATA //
salco 15:91b3c572d9df 385 unsigned short templateValue=0;
salco 15:91b3c572d9df 386 if(retryLoop == 0) {
salco 17:095f670f9c14 387 // CRC //
salco 17:095f670f9c14 388 debug(DEBUG_SEND, "\n\r -Debut CRC16. ");
salco 17:095f670f9c14 389 //CRC16* templateCRC;
salco 17:095f670f9c14 390 //templateCRC = new CRC16();
salco 17:095f670f9c14 391 //!!!utiliser string cest plus simple
salco 17:095f670f9c14 392
salco 15:91b3c572d9df 393
salco 17:095f670f9c14 394 //char templateTable[formatedDataSend.length()+1];
salco 17:095f670f9c14 395 //for (unsigned i=0; i<formatedDataSend.length()+1; ++i) templateTable[i]=0;
salco 17:095f670f9c14 396 //for (unsigned i=0; i<formatedDataSend.length(); ++i) templateTable[i]=formatedDataSend[i];
salco 17:095f670f9c14 397 //debug(DEBUG_SEND, "\n\r - envoi au crc: %02X,%02X,%02X,%02X,%02X,%02X ",templateTable[0],templateTable[1],templateTable[2],templateTable[3],templateTable[4],templateTable[5],templateTable[6]);
salco 17:095f670f9c14 398
salco 17:095f670f9c14 399 // templateValue = /*templateCRC->*/calculateCRC16(templateTable,formatedDataSend.size()-1); //atention pt un probleme de sortie du range
salco 17:095f670f9c14 400 //templateValue = /*templateCRC->calculateCRC16*/CRC16_BUYPASS(formatedDataSend.c_str(),formatedDataSend.size()); //atention pt un probleme de sortie du range
salco 17:095f670f9c14 401 templateValue =CRC16_BUYPASS(sneekpeek.c_str(),sneekpeek.size()); //patch
salco 17:095f670f9c14 402
salco 17:095f670f9c14 403 formatedDataSend.append(1,templateValue>>8);
salco 17:095f670f9c14 404 formatedDataSend.append(1,templateValue & 0xFF);
salco 15:91b3c572d9df 405 }
salco 15:91b3c572d9df 406 formatedDataReceive.append(1,write(formatedDataSend[formatedDataSend.size()-2]));//templateValue>>8));
salco 15:91b3c572d9df 407 //debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -D: ");
salco 15:91b3c572d9df 408 formatedDataReceive.append(1,write(formatedDataSend[formatedDataSend.size()-1]));//(templateValue & 0xFF));
salco 15:91b3c572d9df 409 //debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -E: ");
salco 17:095f670f9c14 410
salco 17:095f670f9c14 411
salco 17:095f670f9c14 412
salco 15:91b3c572d9df 413 ///////////////////////
salco 15:91b3c572d9df 414
salco 15:91b3c572d9df 415 //avant faut calculer les dernier byte grace a la version 2.0
salco 15:91b3c572d9df 416 /*for(int i = 0; i < formatedDataSend.length(); ++i) {
salco 15:91b3c572d9df 417 formatedDataReceive.append(1,write(formatedDataSend[i]));
salco 15:91b3c572d9df 418 }*/
salco 13:51bbdc349f20 419
salco 15:91b3c572d9df 420 // verification du CRC slave
salco 15:91b3c572d9df 421 // CRC //
salco 15:91b3c572d9df 422 templateValue = CRC16_BUYPASS(formatedDataReceive.c_str(),formatedDataReceive.size()-2);// utiliser les data de setting slave
salco 17:095f670f9c14 423
salco 15:91b3c572d9df 424 if(((templateValue>>8)==(formatedDataReceive.at( formatedDataReceive.length()-2))) &&
salco 17:095f670f9c14 425 ((templateValue&0xFF)==(formatedDataReceive.at( formatedDataReceive.length()-1)))) {
salco 15:91b3c572d9df 426 result=true;
salco 17:095f670f9c14 427 } else {
salco 17:095f670f9c14 428 result=false;
salco 17:095f670f9c14 429 }
salco 15:91b3c572d9df 430 //templateValue=((formatedDataReceive.at( formatedDataReceive.length()-2)) << 8);
salco 15:91b3c572d9df 431 //templateValue|=formatedDataReceive.at(formatedDataReceive.length()-1);
salco 15:91b3c572d9df 432
salco 17:095f670f9c14 433 // for (unsigned i=0; i<formatedDataReceive.length()-2; ++i) {
salco 17:095f670f9c14 434 // templateValue-=formatedDataReceive[i];
salco 17:095f670f9c14 435 // }
salco 17:095f670f9c14 436 // debug(DEBUG_SEND, "\n\r -CRC==0? value: %i. ", templateValue);
salco 17:095f670f9c14 437 // (templateValue==0)? result=true:result=false;
salco 13:51bbdc349f20 438 }
salco 17:095f670f9c14 439 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -Send : ");
salco 18:3f113f8441b2 440 for (unsigned i=0; i<formatedDataSend.length(); i++) debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "%02X,",formatedDataSend.at(i));
salco 18:3f113f8441b2 441 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -real : ");
salco 17:095f670f9c14 442 for (unsigned i=0; i<sneekpeek.length(); i++) debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "%02X,",sneekpeek.at(i));
salco 15:91b3c572d9df 443 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -Reveive: ");
salco 15:91b3c572d9df 444 for (unsigned i=0; i<formatedDataReceive.length(); i++) debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "%02X,",formatedDataReceive.at(i));
salco 15:91b3c572d9df 445 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r -Sneekpe: ");
salco 17:095f670f9c14 446 /*for (unsigned i=0; i<sneekpeek.length(); i++)*/
salco 17:095f670f9c14 447 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "%04X,",CRC16_BUYPASS(formatedDataReceive.c_str(),formatedDataReceive.size()-2));//sneekpeek.at(i));
salco 17:095f670f9c14 448 debug(DEBUG_SEND|DEBUG_COMPACT|DEBUG_SLIM, "\n\r-Sneekpe: %04X,",CRC16_BUYPASS(formatedDataSend.c_str(),formatedDataSend.size()-2));//sneekpeek.at(i));
salco 18:3f113f8441b2 449
salco 17:095f670f9c14 450
salco 15:91b3c572d9df 451 }//templateValue = /*templateCRC->*/calculateCRC16(formatedDataSend.c_str(),formatedDataSend.size()-1);sneekpeek
salco 15:91b3c572d9df 452 ///////////////////////
salco 15:91b3c572d9df 453 // // old //
salco 15:91b3c572d9df 454 //
salco 15:91b3c572d9df 455 // // data //
salco 15:91b3c572d9df 456 // debug(DEBUG_SEND, "\n\r -Debut data. ");
salco 15:91b3c572d9df 457 // if(data->size() != 0) {
salco 15:91b3c572d9df 458 // formatedDataSend.append(*data);
salco 15:91b3c572d9df 459 // debug(DEBUG_COMPACT, "\n\r -DATA ADDED: %02X, %02X, %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2],formatedDataSend[3],formatedDataSend[4]);
salco 15:91b3c572d9df 460 // }
salco 15:91b3c572d9df 461 // debug(DEBUG_SEND, "\n\r -Fin data. ");
salco 15:91b3c572d9df 462 //
salco 15:91b3c572d9df 463 // // CRC //
salco 15:91b3c572d9df 464 // debug(DEBUG_SEND, "\n\r -Debut CRC16. ");
salco 15:91b3c572d9df 465 // //CRC16* templateCRC;
salco 15:91b3c572d9df 466 // //templateCRC = new CRC16();
salco 15:91b3c572d9df 467 // unsigned short templateValue;
salco 15:91b3c572d9df 468 // char templateTable[34];
salco 15:91b3c572d9df 469 // for (unsigned i=0; i<34; ++i) templateTable[i]=0;
salco 15:91b3c572d9df 470 // for (unsigned i=0; i<formatedDataSend.length(); ++i) templateTable[i]=formatedDataSend[i];
salco 15:91b3c572d9df 471 // debug(DEBUG_SEND, "\n\r - envoi au crc: %02X,%02X,%02X,%02X,%02X,%02X ",templateTable[0],templateTable[1],templateTable[2],templateTable[3],templateTable[4],templateTable[5],templateTable[6]);
salco 15:91b3c572d9df 472 //
salco 15:91b3c572d9df 473 // templateValue = /*templateCRC->*/calculateCRC16(templateTable,formatedDataSend.size()-1); //atention pt un probleme de sortie du range
salco 15:91b3c572d9df 474 //
salco 15:91b3c572d9df 475 // formatedDataSend.append(1,templateValue>>8);
salco 15:91b3c572d9df 476 // formatedDataSend.append(1,templateValue & 0xFF);
salco 15:91b3c572d9df 477 //
salco 15:91b3c572d9df 478 // // if(templateCRC)
salco 15:91b3c572d9df 479 // // delete templateCRC;
salco 15:91b3c572d9df 480 // debug(DEBUG_COMPACT, "\n\r -DATA ADDED: %02X, %02X, %02X, %02X, %02X, %02X, %02X ",formatedDataSend[0],formatedDataSend[1],formatedDataSend[2],formatedDataSend[3],formatedDataSend[4],formatedDataSend[5],formatedDataSend[6]);
salco 15:91b3c572d9df 481 // debug(DEBUG_SEND, "\n\r -Fin CRC16. ");
salco 15:91b3c572d9df 482 //
salco 15:91b3c572d9df 483 // //Send Data
salco 15:91b3c572d9df 484 // debug(DEBUG_SEND, "\n\r -Debut Send Data. ");
salco 15:91b3c572d9df 485 // debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Send: ");
salco 15:91b3c572d9df 486 // for (unsigned i=0; i<formatedDataSend.length(); ++i) debug(DEBUG_SEND |DEBUG_COMPACT, "%02X,",formatedDataSend.at(i));
salco 15:91b3c572d9df 487 //
salco 15:91b3c572d9df 488 // int twoBytesArray;
salco 15:91b3c572d9df 489 // twoBytesArray = (formatedDataSend[0]<<8)|(formatedDataSend[1]);
salco 15:91b3c572d9df 490 //
salco 15:91b3c572d9df 491 // for(int i=0; (i<3) && (!result); i++) {
salco 15:91b3c572d9df 492 // debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Tentative: %d",i);
salco 15:91b3c572d9df 493 //
salco 15:91b3c572d9df 494 // twoBytesArray=write(twoBytesArray);
salco 15:91b3c572d9df 495 //
salco 15:91b3c572d9df 496 // if(twoBytesArray>>8 == SYNC) {// twoBytesArray ==(Sync)//+(PFB+ACK+NDB))
salco 15:91b3c572d9df 497 // // Envoie le reste si liker si liker //
salco 15:91b3c572d9df 498 // debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Debut Traitement de l'information. ");
salco 15:91b3c572d9df 499 // debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Receive: %02X",twoBytesArray);
salco 15:91b3c572d9df 500 //
salco 15:91b3c572d9df 501 // formatedDataReceive.clear();
salco 15:91b3c572d9df 502 // formatedDataReceive.append(1,twoBytesArray>>8);
salco 15:91b3c572d9df 503 // formatedDataReceive.append(1,twoBytesArray & 0xFF);
salco 15:91b3c572d9df 504 //
salco 15:91b3c572d9df 505 // for (unsigned i=2; i<formatedDataSend.length(); ++i) {
salco 15:91b3c572d9df 506 // twoBytesArray = formatedDataSend[i];
salco 15:91b3c572d9df 507 // i++;
salco 15:91b3c572d9df 508 // if(i<formatedDataSend.length())
salco 15:91b3c572d9df 509 // twoBytesArray = (twoBytesArray<<8) + formatedDataSend[i];
salco 15:91b3c572d9df 510 //
salco 15:91b3c572d9df 511 // twoBytesArray=write(twoBytesArray);
salco 15:91b3c572d9df 512 // formatedDataReceive.append(1,twoBytesArray>>8);
salco 15:91b3c572d9df 513 // formatedDataReceive.append(1,twoBytesArray&0xFF);
salco 15:91b3c572d9df 514 // }
salco 15:91b3c572d9df 515 //
salco 15:91b3c572d9df 516 // // CRC //
salco 15:91b3c572d9df 517 // unsigned short templateValue=1;
salco 15:91b3c572d9df 518 // templateValue=formatedDataReceive.at(formatedDataReceive.length()-2) << 8;
salco 15:91b3c572d9df 519 // templateValue|=formatedDataReceive.at(formatedDataReceive.length()-1);
salco 15:91b3c572d9df 520 //
salco 15:91b3c572d9df 521 // for (unsigned i=0; i<formatedDataReceive.length()-2; ++i) {
salco 15:91b3c572d9df 522 // templateValue-=formatedDataReceive[i];
salco 15:91b3c572d9df 523 // }
salco 15:91b3c572d9df 524 // debug(DEBUG_SEND, "\n\r -CRC==0? value: %i. ", templateValue);
salco 15:91b3c572d9df 525 // (templateValue==0)? result=true:result=false;
salco 15:91b3c572d9df 526 //}
salco 15:91b3c572d9df 527 //}
salco 15:91b3c572d9df 528 //debug(DEBUG_SEND, "\n\r -Fin Send Data. ");
salco 15:91b3c572d9df 529 //
salco 15:91b3c572d9df 530
salco 15:91b3c572d9df 531
salco 17:095f670f9c14 532
salco 12:bf44013497c8 533
salco 13:51bbdc349f20 534 if(result) {
salco 13:51bbdc349f20 535 // Traitement de l'information //
salco 12:bf44013497c8 536 debug(DEBUG_SEND, "\n\r -Debut Traitement de l'information. ");
salco 12:bf44013497c8 537 debug(DEBUG_SEND, "\n\r -Receive: ");
salco 15:91b3c572d9df 538 for (unsigned i=0; i<formatedDataReceive.length(); ++i)debug(DEBUG_SEND|DEBUG_COMPACT, "%02X,",formatedDataReceive.at(i));
salco 12:bf44013497c8 539
salco 10:7e6aeaebe1a2 540 // flag //
salco 10:7e6aeaebe1a2 541 flag->clear();
salco 17:095f670f9c14 542 if((settingSlave>>6) != 0) {
salco 17:095f670f9c14 543 //string str = formatedDataReceive.substr( ((2+(settingMaster>>6))+1+1),(settingSlave>>6));
salco 17:095f670f9c14 544 flag->append(formatedDataReceive.substr( ((2+(settingMaster>>6))+1+1),(settingSlave>>6)));// = &str;
salco 17:095f670f9c14 545
salco 17:095f670f9c14 546 //debug(DEBUG_SLIM, "\n\r -flag get: ");
salco 17:095f670f9c14 547 //for (unsigned i=0; i<str.length(); i++) debug(DEBUG_SLIM, "%02X,",str.at(i));
salco 16:5ea4337d785f 548 }
salco 15:91b3c572d9df 549 //twoBytesArray=formatedDataReceive[2];
salco 15:91b3c572d9df 550 //!!!!! wtf is that cest claire que sa pete la com
salco 16:5ea4337d785f 551 /*string::iterator it=formatedDataReceive.begin()+3;
salco 13:51bbdc349f20 552
salco 15:91b3c572d9df 553 switch(settingSlave>>6) {
salco 10:7e6aeaebe1a2 554 case 1:
salco 10:7e6aeaebe1a2 555 flag->append(1,*it);
salco 10:7e6aeaebe1a2 556 it++;
salco 10:7e6aeaebe1a2 557 break;
salco 7:dcfd81d7f93f 558
salco 10:7e6aeaebe1a2 559 case 2:
salco 10:7e6aeaebe1a2 560 flag->append(1,*it);
salco 10:7e6aeaebe1a2 561 it++;
salco 10:7e6aeaebe1a2 562 flag->append(1,*it);
salco 10:7e6aeaebe1a2 563 it++;
salco 10:7e6aeaebe1a2 564 break;
salco 7:dcfd81d7f93f 565
salco 10:7e6aeaebe1a2 566 case 3:
salco 10:7e6aeaebe1a2 567 flag->append(1,*it);
salco 10:7e6aeaebe1a2 568 it++;
salco 10:7e6aeaebe1a2 569 flag->append(1,*it);
salco 10:7e6aeaebe1a2 570 it++;
salco 10:7e6aeaebe1a2 571 flag->append(1,*it);
salco 10:7e6aeaebe1a2 572 it++;
salco 16:5ea4337d785f 573 break;*/
salco 7:dcfd81d7f93f 574
salco 17:095f670f9c14 575 /*default:
salco 17:095f670f9c14 576 formatedDataSend.append(1,0<<6);
salco 17:095f670f9c14 577 break;*/
salco 17:095f670f9c14 578 // }
salco 12:bf44013497c8 579
salco 10:7e6aeaebe1a2 580 // ACK/NAK
salco 10:7e6aeaebe1a2 581 //
salco 7:dcfd81d7f93f 582
salco 10:7e6aeaebe1a2 583 // NDB //
salco 10:7e6aeaebe1a2 584 data->clear();
salco 17:095f670f9c14 585 if((settingSlave&0x0F) != 0) {
salco 17:095f670f9c14 586 //string str = formatedDataReceive.substr( ((2+(settingMaster>>6))+1+(settingSlave>>6)+1),(settingSlave&0x0F));
salco 17:095f670f9c14 587 data->append(formatedDataReceive.substr( ((2+(settingMaster>>6))+1+(settingSlave>>6)+1),(settingSlave&0x0F)));
salco 17:095f670f9c14 588
salco 17:095f670f9c14 589 //debug(DEBUG_SLIM, "\n\r -data get: ");
salco 17:095f670f9c14 590 //for (unsigned i=0; i<str.length(); i++) debug(DEBUG_SLIM, "%02X,",str.at(i));
salco 16:5ea4337d785f 591 }
salco 15:91b3c572d9df 592 //!!!!! same shit faut rebild la chose en bas
salco 17:095f670f9c14 593 /* switch(settingSlave&0xFF) {
salco 17:095f670f9c14 594 case 1:
salco 17:095f670f9c14 595 data->append(1,*it);
salco 17:095f670f9c14 596 it++;
salco 17:095f670f9c14 597 break;
salco 7:dcfd81d7f93f 598
salco 17:095f670f9c14 599 case 2:
salco 17:095f670f9c14 600 data->append(1,*it);
salco 17:095f670f9c14 601 it++;
salco 17:095f670f9c14 602 data->append(1,*it);
salco 17:095f670f9c14 603 it++;
salco 17:095f670f9c14 604 break;
salco 10:7e6aeaebe1a2 605
salco 17:095f670f9c14 606 case 3:
salco 17:095f670f9c14 607 data->append(1,*it);
salco 17:095f670f9c14 608 it++;
salco 17:095f670f9c14 609 data->append(1,*it);
salco 17:095f670f9c14 610 it++;
salco 17:095f670f9c14 611 data->append(1,*it);
salco 17:095f670f9c14 612 it++;
salco 17:095f670f9c14 613 break;*/
salco 10:7e6aeaebe1a2 614
salco 17:095f670f9c14 615 /*default:
salco 10:7e6aeaebe1a2 616
salco 17:095f670f9c14 617 break;*/
salco 16:5ea4337d785f 618 //}
salco 13:51bbdc349f20 619 }
salco 12:bf44013497c8 620
salco 12:bf44013497c8 621 debug(DEBUG_SEND, "\n\r -Fin Traitement de l'information. ");
salco 15:91b3c572d9df 622 debug(DEBUG_SEND|DEBUG_COMPACT, "\n\r -Fin du send. ");
salco 7:dcfd81d7f93f 623 return result;
salco 7:dcfd81d7f93f 624 }