README 7.34 KB
Newer Older
1
###########################################################################
2
   Repertoire TAcq
3
   (C) BAORadio : LAL (IN2P3-CNRS), IRFU-CEA, 2007-2018
4
   Programmes de test pour acquisition/traitement BAORadio
5
   Module CVSSophya/AddOn/TAcq
6 7 8
   Mis sous git , gitlab.in2p3.fr/BAORadio/TAcq en fin 2015
###########################################################################
########### VOIR HISTORIQUE DES MODIFS a la fin (points 6,7...)
9 10

1/ programmes de test debit I/O disque
11
  traidio.cc (main prog fits/PPF/binary file)
12 13
  et traidf.cc/traidp.cc (pour runcxx)

14 15
2/ classes I/O fits simplifiee
  - minifits.h  minifits.cc
16 17
  - programmes de test tstminifits.cc tstrdfits.cc

18 19 20
3/ Utilitaires pour Acq Nancay
  -  Programme mfits2spec.cc de calcul de spectre moyennes a partir
    fichiers Acq : mfits2spec file1.fits [file2.fits ...]
21
  - dispspectre.pic
22
  - veriftag.cc .pic : script + .cc de decodage fichiers text HDR paquets (dec08)
23 24 25 26 27 28 29 30 31

4/ Ensemble de classe + main programme Acq multi-thread
  - tmtacq.cc : le main program
  - racqumem.h racqumem.cc  : gestionnaire de zones memoires echanges
    entres threads
  - racqurw.h  racqurw.cc : les deux classes de  "threads" de DMA-PCI-E et I/O disque
  - racquproc.h racquproc.cc : la classe thread de traitement des donnees


32 33 34

5/  ================ Remote ====================
  Ensemble de classes + programme test developpes en 2005, pour I/O PPF sur
35
   stream IP - provenaant du repertoire Remote
36
  - swrapsock.h swrapsock.cc : Classes Socker ServerSocket ClientSocket
37
    d'enrobage de creation et de manipulation des sockets unix
38
  - sockrawstream.h sockrawstream.cc : classes RawInOutSocketStream
39
   permettant de construire des streams PPF sur flots IP
40 41
  - burawstream.h burawstream.cc : classe RawInOutBuffStream -
  soit a virer ou a transformer en une classe pour I/O PPF sur fichier
42 43 44
  distant a l'aide d'un serveur specifique
  - tsok.cc : programme de test , cote client ou serveur :

45 46 47 48 49 50 51 52
    Usage : tsok S/C [servername=localhost] [OPEMsg=Hello] [NLoop,SizeX,SizeY]
    Ex: tsok S   or  tsok C serverName or
        tsok C serverName PPFSOCKET  5  1000,1000
   S : run tsok as server side
   C : run tsok as client side
   OPEMsg : Operation select on client side (=XXX , PPFSOCKET , STOP)
   serverName : Name or IP adress of the machine where tsok S is running
   NLoop,SizeX,SizeY: Number of transfers, 2D array size for OPEMsg=PPFSOCKET
53
   ================================================
54

55
6/ --- Avril 2009
56 57 58
   Amelioration programme mfits2spec
   --- Mai 2009
   o Amelioration du programme tmtacq.cc (+/- copie programme d'acquisition)
59 60 61
   o Introduction du programme de lecture / traitement multi-thread des fichiers
     minifits acquisition
     Ajout fichiers : mcrd.cc , brfitsrd.h .cc , brproc.h .cc
62 63 64 65 66 67

7/ --- Septembre/Octobre 2009
   o Ajout possibilite de creation de spectre temps-frequence ds mcrd
   o Amelioration de la classe RAcqMemZoneMgr pour la gestion multi-fibres (donnees
     de plusieurs fibres dans un meme objet RAcqMemZoneMgr
   o Amelioration de la classe MiniFITSFile pour permettre l'ajout d'information ds l'entete FITS
68

69 70 71 72 73 74 75 76 77 78 79
8/ --- Novembre/Decembre 2009
   o Introduction des classes lecteur fits multi-fibres ( BRMultiFitsReader ), classe de base
   thread de traitement (BRBaseProcessor)
   o Classe d'ecriture de cube de donnees fits multi-fibres FitsCubeWriter
   o Classe de calcul de visibilites BRVisibilityCalculator
   o Introduction du nouveau programme d'acquisition mfacq.cc  (Nov 2009)

9/ --- Avril/Mai 2010
   o Calcul parallele pour visibilites ( BRVisCalcGroup )
   o Programme de lecture multi-fibres (treadmfib) calcul des visibilites (vismfib)
   o Nouvelle structuire du programme d'acquisition pour echange sur ethernet
80 81
     Classes PCIEToEthernet , EthernetReader

82
10/ --- Aout/Septembre 2010
83 84
   o Ajout processeur de calcul de TF sur donnees brutes ( BRFFTCalculator )
   o Amelioration classe BRMeanSpecCalculator et ajout programme specmfib.cc
85 86

11/ --- Septembre/Oct 2012
87
   o Ajout de la fonction de decoupage en bande de frequence (split) des paquets
88 89 90 91
   (BRPaquet) avant l'envoi des differentes bandes sur plusieurs liens ethernet
   (classes PCIEToEthernet et EthernetReader) - Voir datacard @ethrsplitband
   o Suppression des fichiers du module Remote ( swrapsock.h swrapsock.cc sockrawstream.h
   sockrawstream.cc tsok.cc ) qui ont ete mis dans la base SOPHYA
92
   o Ajout classes BRControlServer, BRControlDialog, BRDialogWithControl pour permettre
93 94
   la communication ethernet entre mfacq et un programme de controle (datacard @cntlacq )
   o Embryon de programme de controle pour les tests cntlacq.cc
95
   o Possibilite de specifier un intervalle de temps pour la sauvegarde des fichiers
96
   fits signalxxx.fits  (datacard @savefitstimeframe )
97

98 99 100
12/ --- Mai 2013
   o Parallelisation calcul FFT ds BRFFTCalculator (utilisation de ParallelExecutor) et
   modification gestion fenetre temporelle ds specmfib
101

102 103 104
13/ --- Juillet/Aout 2013
   o Le calcul des visibilites ds BRVisibilityCalculator passe desormais toujours
   par la methode execute(). La methode Process() et BRBaseProcessor::run() ne sont
105
   plus utilisees par BRVisibilityCalculator.
106
   o Amelioration de la classe BRVisibilityCalculator, avec ajout de la possibilite de
107 108 109
   calcul de la moyenne des coeffcients de Fourier <z> en plus de <zi zj>.
   o Ajout de l'option -cmfcvis ds vismfib pour activer le calcul de <z> - stockes
   sous forme d'une deuxieme matrice ds les fichiers vismtxNN.
110
   o Ajout de la possibilite de verifier l'egalite des FrameCounter entre fibres.
111
   Cette possibilite n'est utile que lors du calcul par mfacq avec l'option -pci2visib
112 113 114
   (voir @visicsfc) ci-dessous.
   o Ajout de l'option -pci2visib a mfacq : calcul des visibilites directement sur les
   les donnees provenant de PCIExpress. ne fonctionne que sur des donnees provenant
115 116
   du firmware FFT (ATTENTION: pas de verification donnees FFT ds mfacq).
   o Deux nouvelles cartes de controles dans le fichier des parametres de mfacq:
117 118
     - @visicompzm : activation du calcul de < z > lors du calcul des visibilites
     - @visicsfc : activation CheckFrameCounter
119
   o Version BAOR_ACQ_VER 8.2
120 121

14/ --- Juillet/Aout 2016
122
   o Version BAOR_ACQ_VER 9.0 / 10.0
123
   o Implementation possibilite de calcul des coeff FFT sur CPU a partir des donnees du firmware RAW
124
     Nouvelle carte de controle : @dofftonraw NThread_calcul_FFT
125
   o Modification des classes de transfert sur ethernet pour pemettre le transfert de differents type
126
   de donnees (coefficients FFT sur CPU) en plus des donnees provenant des firmwares carte ADC
127
   Hierarchie des classes :
128
     EthernetSender  ------  PCIEToEthernet                  EthernetReader
129 130 131 132 133
                     ------  MemToEthernet

   o Les differents modes d'acquisition:
   mfacq -h
   Usage: mfacq Action DataCardFileName [-dc DataCard -dc DataCard] [TargetMachines]
134 135 136 137 138 139 140 141 142 143
   o Action = -pci2disk, -pcifft, -pci2visib, -pcifft2visib
              -pci2eth, pcimem2eth, pcifft2eth
              -eth2disk, -eth2visib. -ffteth2visib

15/ --- Janvier-Mai 2017
  o Implementation de sauvegarde des matrices de visibilites par la classe VisMtxDBWriter (plusieurs matrices
  des threads de calcul differents dans un même fichier PPF)
  o Classe DMAMgrV7 , utilisant le nouveau deriver PCIExpress developpe par Monique
  o Version BAOR_ACQ_VER 11.0

144 145 146
16/ --- Septembre 2021
  o TAcq utilise maintenant des fonctionnalités C++17, et requiert une version
    récente de SOPHYA compilée avec le support associé (flag -cxxstd 17).