;+ ; Contains the lit_hfr procedure ; ; :Author: ; Philippe Zarka ; ; :History: ; 2004/07/01: Created ; ; 2004/07/01: Last Edit ;- ; ;+ ; lecture d'un fichier Kronos (~NewBench), reconnaissance des modes ; "analyse" et rangement dans une structure z = HFR_struct ; ; :Uses: ; etat_hfr, extrait_hfr, paquets_hfr ; ; :Params: ; fichierK: in, required, type=sometype ; A parameter named fichierK ; z: in, required, type=sometype ; A parameter named z ;- pro LIT_HFR, fichierK, z PAQUETS_HFR, fichierK, HFR, HFRdata mode = ishft(HFR.entete(2) and '60'x,-5) test = where(mode eq 0) ; "analyse" seulement if test(0) eq -1 then goto,fin HFR = HFR(test) nHFR = n_elements(HFR) nP = 1 & nP0 = 0 for i = 1, nHFR-1 do begin if total(HFR(i).entete(4:18) - HFR(nP0).entete(4:18)) eq 0 $ then nP = nP + 1 else begin ETAT_HFR, HFR(nP0).entete, mode print,nP,' paquets extraits...' if np gt 1 then begin EXTRAIT_HFR, HFR(nP0:nP0+nP-1), HFRdata, zz if n_elements(z) eq 0 then z=reform(zz,n_elements(zz)) $ else z=[z,reform(zz,n_elements(zz))] help,z endif else print,' skipping 1 paquet-length record ...' nP0 = i & nP = 1 endelse endfor ETAT_HFR, HFR(nP0).entete, mode print,nP,' paquets extraits...' EXTRAIT_HFR, HFR(nP0:nP0+nP-1), HFRdata, zz if n_elements(z) eq 0 then z=reform(zz,n_elements(zz)) $ else z=[z,reform(zz,n_elements(zz))] fin: help,z return end