;+ ; Contains the liste_paquets procedure ; ; :Author: ; Philippe Zarka ; ; :History: ; 2003/12/08: Created ; ; 2003/12/08: Last Edit ;- ; ;+ ; liste formattee du contenu d'un fichier Kronos (~NewBench) ; (eventuellement plusieurs modes) lu par paquets_HFR -> structure HFR ; ; :Uses: ; liste_etat ; ; :Params: ; fichierK: in, required, type=sometype ; seulement pour affichage ; HFR: in, required, type=sometype ; A parameter named HFR ; imode: in, required, type=int ; 0 (analysis), 1 (sounder), 2 (calibration), 3 (millisecond), -1 (tous) ; ; :Keywords: ; lun: in, optional, type=sometype ; A keyword named lun ;- pro LISTE_PAQUETS, fichierK, HFR, imode, lun=lun mode = [' analysis', ' sounder', 'calibration', 'millisecond'] if N_elements(imode) eq 0 then imode = -1 if imode ne -1 then begin testmode = ishft(HFR.entete(2) and '60'x,-5) test = where(testmode eq imode) if test(0) ne -1 then begin buf = HFR HFR = HFR(test) endif else begin print,'0 paquet ',mode(imode),' dans ',fichierK return endelse endif nHFR = n_elements(HFR) nP = 1 & nP0 = 0 & mode0 = ishft(HFR(nP0).entete(2) and '60'x,-5) if N_elements(lun) eq 0 then lun = -1 printf, lun, ' ================== file : '+fichierK+ ' ==================' printf, lun for i = 1, nHFR-1 do begin modei = ishft(HFR(i).entete(2) and '60'x,-5) if (modei eq mode0) and ((modei ne 0) or (total(HFR(i).entete(4:18) - $ HFR(nP0).entete(4:18)) eq 0)) then nP = nP + 1 else begin printf, lun, $ format='(i6,2("/",i2),i4,2(":",i2),".",i2," -> ",i5,2("/",i2),i4,2(":",i2),".",i2)', $ HFR(nP0).an, HFR(nP0).mois, HFR(nP0).jour, $ HFR(nP0).hh, HFR(nP0).mm, HFR(nP0).ss, HFR(nP0).cs, $ HFR(nP0+nP-1).an, HFR(nP0+nP-1).mois, HFR(nP0+nP-1).jour, $ HFR(nP0+nP-1).hh, HFR(nP0+nP-1).mm, HFR(nP0+nP-1).ss, HFR(nP0+nP-1).cs if mode0 ne 0 then begin printf, lun printf, lun, format='(" mode :", 13x, a11)', $ mode(mode0) printf, lun, $ format='(" number of packets :", i8, " (", i5, " ->", i5, ")")', $ nP, nP0+1, nP0 + nP printf, lun, format='(" data packet length :", 16x, i8)', $ HFR(nP0).lonP printf, lun endif else $ LISTE_ETAT, HFR(nP0).entete, HFR(nP0).lonP, nP, nP0+1, lun=lun printf, lun, ' --------------------------------------------------------' printf, lun nP0 = i & mode0 = ishft(HFR(nP0).entete(2) and '60'x,-5) nP = 1 endelse endfor printf, lun, $ format='(i6,2("/",i2),i4,2(":",i2),".",i2," -> ",i5,2("/",i2),i4,2(":",i2),".",i2)', $ HFR(nP0).an, HFR(nP0).mois, HFR(nP0).jour, $ HFR(nP0).hh, HFR(nP0).mm, HFR(nP0).ss, HFR(nP0).cs, $ HFR(nP0+nP-1).an, HFR(nP0+nP-1).mois, HFR(nP0+nP-1).jour, $ HFR(nP0+nP-1).hh, HFR(nP0+nP-1).mm, HFR(nP0+nP-1).ss, HFR(nP0+nP-1).cs if mode0 ne 0 then begin printf, lun printf, lun, format='(" mode :", 13x, a11)', $ mode(mode0) printf, lun, $ format='(" number of packets :", i8, " (", i5, " ->", i5, ")")', $ nP, nP0+1, nP0 + nP printf, lun, format='(" data packet length :", 16x, i8)', $ HFR(nP0).lonP printf, lun endif else $ LISTE_ETAT, HFR(nP0).entete, HFR(nP0).lonP, nP, nP0+1, lun=lun if imode ne -1 then HFR = buf return end