Function EIGHT, text
while StrLen(text) lt 8 do text = ' ' + text
return, text
end
pro LISTE_ETAT, entete, lonP, nHFR, nHFR0, lun=lun
mode = [' analysis', ' sounder', 'calibration', 'millisecond']
band = [' A', ' B', ' C', 'H1', 'H2'] & mband = ['07'x, '08'x, '10'x]
intABC = [125, 250, 500, 1000]
intHF = [10, 20, 40, 80]
onoff = [' off', ' on']
Xsw = [' none', ' +X', ' -X', ' +/-X']
filtresABC = [8, 16, 32, 32]
filtresHF = [1,2,4,8]
if N_elements(lun) eq 0 then lun = -1
printf, lun
printf, lun, format='(" mode :", 13x, a11)', $
mode(ishft(entete(2) and '60'x,-5))
printf, lun, $
format='(" number of packets :", i8, " (", i5, " ->", i5, ")")', $
nHFR, nHFR0, nHFR0 + nHFR - 1
printf, lun, format='(" data packet length :", 16x, i8)', lonP
printf, lun, format='(" repeat_count_all :", 16x, i8)', entete(8)
abch = ''
if (entete(4) and '07'x) ne 0 then $
for i=0,2 do if (entete(4) and 2^i) ne 0 then abch = abch + band(i)
abch = EIGHT(abch)
if (entete(4) and '08'x) ne 0 then abch = abch + EIGHT('H1') $
else abch = abch + EIGHT('')
if (entete(4) and '10'x) ne 0 then abch = abch + EIGHT('H2') $
else abch = abch + EIGHT('')
printf, lun, format='(" selected band(s) :",a24)', abch
abch = ''
for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(strtrim(fix(entete(5+i)),2)) else $
abch = abch + EIGHT('')
printf, lun, format='(" repeat_count(s) :",a24)', abch
if (entete(4) and '07'x) ne 0 then $
abch = EIGHT(strtrim(filtresABC(entete(9) and '03'x),2)) else $
abch = EIGHT('')
for i=1,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(strtrim(filtresHF(entete(9+i) and '03'x),2)) else $
abch = abch + EIGHT('')
printf, lun, format='(" number of filters :",a24)', abch
if (entete(4) and '07'x) ne 0 then $
abch = EIGHT(strtrim(fix(intABC(entete(9)/64)),2)) else $
abch = EIGHT('')
for i=1,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(strtrim(fix(intHF(entete(9+i)/64)*(3-i)),2)) $
else abch = abch + EIGHT('')
printf, lun, format='(" integration time (msec) :",a24)', abch
if (entete(4) and '18'x) ne 0 then begin
abch = EIGHT('')
if (entete(4) and '08'x) ne 0 then $
abch = abch + EIGHT(strtrim(fix(entete(12)*25),2)) else $
abch = abch + EIGHT('')
if (entete(4) and '10'x) ne 0 then abch = abch + EIGHT(strtrim($
fix((entete(15)+256L*((entete(18) and '80'x) ne 0))*50+25),2)) $
else abch = abch + EIGHT('')
printf, lun, format='(" start frequency (kHz) :",a24)', abch
abch = EIGHT('')
if (entete(4) and '08'x) ne 0 then $
abch = abch + EIGHT(strtrim(fix(entete(13)),2)) else $
abch = abch + EIGHT('')
if (entete(4) and '10'x) ne 0 then abch = abch + EIGHT(strtrim($
fix(entete(16)+256L*((entete(18) and '40'x) ne 0)),2)) $
else abch = abch + EIGHT('')
printf, lun, format='(" # of frequency steps :",a24)', abch
abch = EIGHT('')
if (entete(4) and '08'x) ne 0 then $
abch = abch + EIGHT(strtrim(fix(entete(14)*25),2)) else $
abch = abch + EIGHT('')
if (entete(4) and '10'x) ne 0 then abch = abch + $
EIGHT(strtrim(fix(entete(17)*50),2)) $
else abch = abch + EIGHT('')
printf, lun, format='(" frequency step (kHz) :",a24)', abch
abch = EIGHT('')
if (entete(4) and '08'x) ne 0 then abch = abch + EIGHT(strtrim(fix($
entete(12)+(max([entete(13),1])-1)*entete(14))*25,2)) $
else abch = abch + EIGHT('')
if (entete(4) and '10'x) ne 0 then abch = abch + EIGHT(strtrim(fix($
(entete(15)+256L*((entete(18) and '80'x) ne 0))*50+25+ $
(max([entete(16)+256L*((entete(18) and '40'x) ne 0),1])-1)* $
entete(17)*50),2)) $
else abch = abch + EIGHT('')
printf, lun, format='(" stop frequency (kHz) :",a24)', abch
endif
abch = ''
for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(onoff(ishft(entete(9+i) and '20'x,-5))) else $
abch = abch + EIGHT('')
printf, lun, format='(" direction finding :",a24)', abch
abch = ''
for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(onoff(ishft(entete(18) and 2^(2-i),i-2))) else $
abch = abch + EIGHT('')
printf, lun, format='(" auto-correlation :",a24)', abch
abch = ''
for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(onoff(ishft(entete(18) and 2^(5-i),i-5))) else $
abch = abch + EIGHT('')
printf, lun, format='(" cross-correlation :",a24)', abch
abch = ''
for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(onoff(ishft(entete(9+i) and '10'x,-4))) else $
abch = abch + EIGHT('')
printf, lun, format='(" Ez antenna switch :",a24)', abch
abch = ''
for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $
abch = abch + EIGHT(Xsw(ishft(entete(9+i) and '0c'x,-2))) else $
abch = abch + EIGHT('')
printf, lun, format='(" Ex antenna switches :",a24)', abch
printf, lun
return
end