########################################################################### Repertoire TAcq (C) BAORadio : LAL (IN2P3-CNRS), IRFU-CEA, 2007-2018 Programmes de test pour acquisition/traitement BAORadio Module CVSSophya/AddOn/TAcq Mis sous git , gitlab.in2p3.fr/BAORadio/TAcq en fin 2015 ########################################################################### ########### VOIR HISTORIQUE DES MODIFS a la fin (points 6,7...) 1/ programmes de test debit I/O disque traidio.cc (main prog fits/PPF/binary file) et traidf.cc/traidp.cc (pour runcxx) 2/ classes I/O fits simplifiee - minifits.h minifits.cc - programmes de test tstminifits.cc tstrdfits.cc 3/ Utilitaires pour Acq Nancay - Programme mfits2spec.cc de calcul de spectre moyennes a partir fichiers Acq : mfits2spec file1.fits [file2.fits ...] - dispspectre.pic - veriftag.cc .pic : script + .cc de decodage fichiers text HDR paquets (dec08) 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 5/ ================ Remote ==================== Ensemble de classes + programme test developpes en 2005, pour I/O PPF sur stream IP - provenaant du repertoire Remote - swrapsock.h swrapsock.cc : Classes Socker ServerSocket ClientSocket d'enrobage de creation et de manipulation des sockets unix - sockrawstream.h sockrawstream.cc : classes RawInOutSocketStream permettant de construire des streams PPF sur flots IP - burawstream.h burawstream.cc : classe RawInOutBuffStream - soit a virer ou a transformer en une classe pour I/O PPF sur fichier distant a l'aide d'un serveur specifique - tsok.cc : programme de test , cote client ou serveur : 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 ================================================ 6/ --- Avril 2009 Amelioration programme mfits2spec --- Mai 2009 o Amelioration du programme tmtacq.cc (+/- copie programme d'acquisition) o Introduction du programme de lecture / traitement multi-thread des fichiers minifits acquisition Ajout fichiers : mcrd.cc , brfitsrd.h .cc , brproc.h .cc 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 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 Classes PCIEToEthernet , EthernetReader 10/ --- Aout/Septembre 2010 o Ajout processeur de calcul de TF sur donnees brutes ( BRFFTCalculator ) o Amelioration classe BRMeanSpecCalculator et ajout programme specmfib.cc 11/ --- Septembre/Oct 2012 o Ajout de la fonction de decoupage en bande de frequence (split) des paquets (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 o Ajout classes BRControlServer, BRControlDialog, BRDialogWithControl pour permettre la communication ethernet entre mfacq et un programme de controle (datacard @cntlacq ) o Embryon de programme de controle pour les tests cntlacq.cc o Possibilite de specifier un intervalle de temps pour la sauvegarde des fichiers fits signalxxx.fits (datacard @savefitstimeframe ) 12/ --- Mai 2013 o Parallelisation calcul FFT ds BRFFTCalculator (utilisation de ParallelExecutor) et modification gestion fenetre temporelle ds specmfib 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 plus utilisees par BRVisibilityCalculator. o Amelioration de la classe BRVisibilityCalculator, avec ajout de la possibilite de calcul de la moyenne des coeffcients de Fourier en plus de . o Ajout de l'option -cmfcvis ds vismfib pour activer le calcul de - stockes sous forme d'une deuxieme matrice ds les fichiers vismtxNN. o Ajout de la possibilite de verifier l'egalite des FrameCounter entre fibres. Cette possibilite n'est utile que lors du calcul par mfacq avec l'option -pci2visib (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 du firmware FFT (ATTENTION: pas de verification donnees FFT ds mfacq). o Deux nouvelles cartes de controles dans le fichier des parametres de mfacq: - @visicompzm : activation du calcul de < z > lors du calcul des visibilites - @visicsfc : activation CheckFrameCounter o Version BAOR_ACQ_VER 8.2 14/ --- Juillet/Aout 2016 o Version BAOR_ACQ_VER 9.0 / 10.0 o Implementation possibilite de calcul des coeff FFT sur CPU a partir des donnees du firmware RAW Nouvelle carte de controle : @dofftonraw NThread_calcul_FFT o Modification des classes de transfert sur ethernet pour pemettre le transfert de differents type de donnees (coefficients FFT sur CPU) en plus des donnees provenant des firmwares carte ADC Hierarchie des classes : EthernetSender ------ PCIEToEthernet EthernetReader ------ MemToEthernet o Les differents modes d'acquisition: mfacq -h Usage: mfacq Action DataCardFileName [-dc DataCard -dc DataCard] [TargetMachines] 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 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).