Changeset 3758 in Sophya for trunk/AddOn/TAcq


Ignore:
Timestamp:
Apr 30, 2010, 2:46:42 PM (15 years ago)
Author:
ansari
Message:

Debug divers classes/progeramme envoi-reception paquets sur Ethernet, Reza 30/04/2010

Location:
trunk/AddOn/TAcq
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/mfacq.cc

    r3757 r3758  
    7272  if (narg>3)  {
    7373    basedir=arg[2];
    74     for(int jj=2; jj<narg; jj++)  oargs.push_back(arg[jj]);
     74    for(int jj=3; jj<narg; jj++)  oargs.push_back(arg[jj]);
    7575  }
    7676  try {
     
    165165    mmgr.SetFinalizedMask(((uint_4)MemZS_Saved) | ((uint_4)MemZS_Proc));
    166166    cout << " mfacq[1.b]/Info: Mmgr.SetFinalizedMask( MemZS_Saved | MemZS_Proc )" << endl;
     167    //mmgr.SetFinalizedMask( (uint_4)MemZS_Saved );
     168    //cout << " mfacq[1.b]/Info: Mmgr.SetFinalizedMask( MemZS_Saved  )" << endl;
    167169  }
    168170 
     
    198200  string ppath=bpar.OutputDirectory();
    199201  MonitorProc PrThr(mmgr);
     202  cout << "mfacq[3] Creating   PCIEMultiReader thread object     " << endl;
    200203  vector<PCIEWrapperInterface*> vec_pciw;
    201   for  (int i=0 ;i<bpar.NFibers();i++)  vec_pciw.push_back( pciwp[i]);
    202   cout << "mfacq[3] Creating   PCIEMultiReader thread object     " << endl;
     204  for  (int i=0 ;i<bpar.NFibers();i++)  {
     205    vec_pciw.push_back( pciwp[i]);
     206    //    cout << " mfacq[3.b]/Debug - pciwp[" << i << "] " << hex << pciwp[i] << dec << endl;
     207  }
    203208  PCIEMultiReader PcierThr(vec_pciw, mmgr, bpar.GetParams());
    204209  //  usleep(200);  attente au cas ou ...
  • trunk/AddOn/TAcq/racqueth.cc

    r3757 r3758  
    4242
    4343  char msg[BRTCPMSGLEN];
     44  cout << "PCIEToEthernet/Info: Establishing TCP/IP connections ... " << endl;
    4445  for(size_t i=0; i<vec_pciw_.size(); i++) {
    4546    vector<ClientSocket> vskt;
    46     for(size_t j=0; j<vskt.size(); j++) {
     47    for(size_t j=0; j<destname_.size(); j++) {
    4748      ClientSocket sok(destname_[j], tcpportid_);
    4849      for(int ii=0; ii<BRTCPMSGLEN; ii++) msg[ii]='\0';
     
    5758    vvec_skt_.push_back(vskt);   
    5859  }
     60  totrdsnd_ = 0;
    5961}
    6062
     
    7476  struct timeval tv1,tv2;
    7577  gettimeofday(&tv1, NULL);
    76   uint_8 totrdsnd = 0;
    7778 
    7879  cout << " PCIEToEthernet::run() - Starting , NMaxMemZones=" <<  par_.MaxNbBlocs()
     
    8384  // sigaddset(&act.sa_mask,SIGINT);  // pour proteger le transfert DMA
    8485  //sigaction(SIGINT,&act,NULL);       
    85   uint_4 paqszmm = par_.MMgrNbPaquet();
     86  uint_4 paqszmm = par_.MMgrPaquetSize();
    8687  uint_4 paqsz =  packSize_;
    8788  uint_4 dmasz = vec_pciw_[0]->TransferSize();
     
    103104  // Initialisation des tampons pour recopie des paquets a cheval pour chaque DMA
    104105  for (int i=0;i< (int)nbDma_ ;i++) { 
     106    //    cout << " DEBUG*AB paqsz=" << paqsz << " paqszmm=" << paqszmm << endl;
     107    tampon[i]=nexpaq[i]=NULL;
    105108    tampon[i] = new Byte[paqsz];
    106109    nexpaq[i] = new Byte[paqszmm];
     
    131134    for(size_t j=0; j<vskt.size(); j++) {
    132135      for(int ii=0; ii<BRTCPMSGLEN; ii++) msg[ii]='\0';
    133       vskt[i].Receive(msg,BRTCPMSGLEN);
    134       if (strncmp(msg,"BAORadio-EthernetReader-Ready-GO",32)!=0)
     136      vskt[j].Receive(msg,BRTCPMSGLEN);
     137      if (strncmp(msg,"BAORadio-EthernetReader-Ready-GO",32)!=0) {
     138        msg[BRTCPMSGLEN-1]='\0';
     139        cout << "PCIEToEthernet:ERROR BAD Go for fiber=" << i << " dest=" << j << " msg: " << msg << endl;
    135140        throw SocketException("PCIEToEthernet:ERROR/  BAD Go message from EthernetReader ");
    136     }
    137     cout << " PCIEToEthernet::run() Received GO message for Fiber/DMA " << i << " from " << destname_[i] << endl;
     141      }
     142    cout << " PCIEToEthernet::run() Received GO message for Fiber/DMA " << i << " from " << destname_[j] << endl;
     143    }
    138144  }
    139145
     
    165171    }
    166172    if (fgbaddma) continue; 
     173
    167174    if (fgdirectsend) {  // Pas de copie / reduction de taille de paquet, on rebalance tel quel ...
    168175      for (int fib=0; fib<(int) nbDma_ ;fib++) {
    169         vector<ClientSocket>& vskt = vvec_skt_[fib];
    170         for(size_t j=0; j<vskt.size(); j++) {
    171           vskt[j].Send((const char *)Datas[fib], dmasz);
    172           totrdsnd += dmasz;
    173         }
     176        //DBG cout << " DEBUG*B fib=" << fib << " Datas[fib]=" << hex << Datas[fib] << dec << endl;
     177        SendToTargets(fib, Datas[fib], dmasz);
    174178        trnbytes[fib] += (uint_8)dmasz;
    175179        npaqfait[fib] += (trnbytes[fib]/(uint_8)paqszmm);
     
    179183      continue;  // On bypasse le reste
    180184    }
     185
    181186    // Si on arrive ici, c'est qu'il faut copier / reduire les paquets ....
    182187    uint_4 curoff=0;
     
    205210          }
    206211          BRPaquet paq(nexpaq[fib], packSizeInMgr_);
    207           vector<ClientSocket>& vskt = vvec_skt_[fib];
    208           for(size_t j=0; j<vskt.size(); j++) {
    209             vskt[j].Send((const char *)nexpaq[fib], packSizeInMgr_);
    210             totrdsnd += packSizeInMgr_;
    211           }
     212          SendToTargets(fib, nexpaq[fib], packSizeInMgr_);
    212213          npaqfait[fib]++;
    213214          if (fib==nbDma_-1) npaqfaitg++;  // Ne pas oublier le compteur de paquets faits
     
    244245          }
    245246          BRPaquet paq(nexpaq[fib], packSizeInMgr_);
    246           vector<ClientSocket>& vskt = vvec_skt_[fib];
    247           for(size_t j=0; j<vskt.size(); j++) {
    248             vskt[j].Send((const char *)nexpaq[fib], packSizeInMgr_);
    249             totrdsnd += packSizeInMgr_;
    250           }
     247          SendToTargets(fib, nexpaq[fib], packSizeInMgr_);
    251248          npaqfait[fib]++;
    252249          if (fib==nbDma_-1) npaqfaitg++;  // Ne pas oublier le compteur de paquets faits
     
    269266  if (tmelaps2<0.1) tmelaps2=0.1;
    270267  cout << " ---------- PCIEToEthernet::run()-End summary NPaqFait=" << npaqfaitg
    271        << " TotSend (kb)=" << totrdsnd/1024 << "------ " << endl;
     268       << " TotSend (kb)=" << totrdsnd_/1024 << "------ " << endl;
    272269  for (int dma=0; dma < (int)nbDma_ ;dma++)   {
    273270    cout << " --Fib=" << dma << " NPaqFait=" << npaqfait[dma] <<  " TotDMATransfer="
     
    305302}
    306303
    307 
     304static long cnt_prt=0;
     305/* --Methode-- */
     306size_t PCIEToEthernet::SendToTargets(int fib, Byte* data, size_t len)
     307{
     308  //DBG   cout << " SendToTargets/DBG" << cnt_prt << " len=" << len << " data=" << hex << (unsigned long)data << dec << endl; cnt_prt++;
     309  vector<ClientSocket>& vskt = vvec_skt_[fib];
     310  size_t rc=0;
     311  for(size_t j=0; j<vskt.size(); j++) {
     312    rc += vskt[j].Send((const char *)data, len);
     313    totrdsnd_ += len;
     314  }
     315  return rc;
     316}
    308317//------------------------------------------------------------------
    309318// Classe thread de lecture sur interface reseau (Ethernet)
     
    369378    strcpy(msg,"BAORadio-EthernetReader-Ready-GO");
    370379    for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) {
     380      cout << " EthernetReader/Debug - Sending GO message to sender " << fib << endl;
    371381      vsok_[fib].Send(msg,BRTCPMSGLEN);
    372382    }
  • trunk/AddOn/TAcq/racqueth.h

    r3757 r3758  
    5555
    5656protected:
     57  virtual size_t SendToTargets(int fib, Byte* data, size_t len);
     58
    5759  BRParList par_;   // Parametres divers d'acquisition
    5860
     
    6870  uint_4 packSizeInMgr_;
    6971  uint_4 nbDma_;
     72  uint_8 totrdsnd_;
    7073
    7174};
Note: See TracChangeset for help on using the changeset viewer.