;+ ; Contains the liste_comp_paquets procedure ; ; :Author: ; Philippe Zarka ; ; :History: ; 2006/03/08: Created ; ; 2006/03/08: Last Edit ;- ; ;+ ; liste formattee du contenu d'un fichier Kronos (~NewBench) ; (eventuellement plusieurs modes) lu par paquets_HFR -> structure HFR ; ; :Uses: ; liste_comp_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 ; lun ;- pro LISTE_COMP_PAQUETS, fichierK, HFR, imode, lun=lun if N_elements(lun) eq 0 then lun = -1 mode = [' A', ' S', ' C', ' M'] 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 message,'0 paquet '+mode(imode)+' dans '+fichierK,/info return endelse endif nHFR = n_elements(HFR) nP = 1 & nP0 = 0 & mode0 = ishft(HFR(nP0).entete(2) and '60'x,-5) prstring = strmid(fichierK,0,11) 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 prstring = prstring + string(HFR(nP0).an,HFR(nP0).mois,HFR(nP0).jour, $ HFR(nP0).hh,HFR(nP0).mm,HFR(nP0).ss, $ HFR(nP0+nP-1).hh,HFR(nP0+nP-1).mm,HFR(nP0+nP-1).ss, $ format='(i5,2("/",i2.2),i3.2,2(":",i2.2),">",i2.2,2(":",i2.2))') if mode0 ne 0 then begin prstring = prstring + mode(mode0) prstring = prstring + string(nP,format='(i5)') endif else $ LISTE_COMP_ETAT, prstring, HFR(nP0).entete, HFR(nP0).lonP, nP, nP0+1 prstring = strtrim(prstring,2) for j=0,strlen(prstring)-1 do if strmid(prstring,j,1) eq ' ' then $ prstring = strmid(prstring,0,j)+' '+ $ strmid(prstring,j+1,strlen(prstring)-j-1) printf, lun, prstring prstring = strmid(fichierK,0,11) nP0 = i & mode0 = ishft(HFR(nP0).entete(2) and '60'x,-5) nP = 1 endelse endfor prstring = strmid(fichierK,0,11) prstring = prstring + string(HFR(nP0).an,HFR(nP0).mois,HFR(nP0).jour, $ HFR(nP0).hh,HFR(nP0).mm,HFR(nP0).ss, $ HFR(nP0+nP-1).hh,HFR(nP0+nP-1).mm,HFR(nP0+nP-1).ss, $ format='(" ",i4,2("/",i2.2)," ",i2.2,2(":",i2.2),">",i2.2,2(":",i2.2))') if mode0 ne 0 then begin prstring = prstring + mode(mode0) prstring = prstring + string(nP,format='(i5)') endif else $ LISTE_COMP_ETAT, prstring, HFR(nP0).entete, HFR(nP0).lonP, nP, nP0+1 prstring = strtrim(prstring,2) for j=0,strlen(prstring)-1 do if strmid(prstring,j,1) eq ' ' then $ prstring = strmid(prstring,0,j)+' '+ $ strmid(prstring,j+1,strlen(prstring)-j-1) printf, lun, prstring if imode ne -1 then HFR = buf return end