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