;+ ; Contains the liste_comp_etat procedure ; ; :Author: ; Philippe Zarka ; ; :History: ; 2006/04/06: Created ; ; 2006/04/06: Last Edit ;- ; ;+ ; liste en clair des parametres du mode courant (entete), taille (paquets) ; et position dans le fichier ; ; :Params: ; prstring: in, required, type=sometype ; A parameter named prstring ; entete: in, required, type=bytarr(20) ; file header (20 bytes) ; lonP: in, required, type=int ; longueur (bytes) du paquet de data ; nHFR: in, required, type=sometype ; paquets successifs de meme mode commencant au paquet nHFR0 ; nHFR0: in, required, type=sometype ; premier paquet de meme mode ;- pro LISTE_COMP_ETAT, prstring, entete, lonP, nHFR, nHFR0 mode = [' A', ' S', ' C', ' M'] mBand = ['07'x, '08'x, '10'x] band = ['A', 'B', 'C', 'H1', 'H2'] filtresABC = ['- 8', '-16', '-32', '-32'] filtresHF = ['-1','-2','-4','-8'] intABC = ['( 125)','( 250)','( 500)','(1000)'] intHF = [['( 20)','( 40)','( 80)','(160)'],['(10)','(20)','(40)','(80)']] Aonoff = [' ', 'a'] Conoff = [' ', 'c'] Dfonoff = [' ', 'Df'] Zonoff = ['.','Z'] Xsw = [' .', '+X', '-X', string(177b)+'X'] prstring = prstring + mode(ishft(entete(2) and '60'x,-5)) prstring = prstring + string(nHFR,format='(i5)') prstring = prstring + string(entete(8),format='(" [",i3,"]")') repc = [' ',' ',' '] for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $ repc(i) = string(entete(5+i),format='(" [",i3,"]")') nameband = ['',' ',' '] if (entete(4) and mBand(0)) ne 0 then for i=0,2 do $ if (entete(4) and 2^i) ne 0 then nameband(0) = nameband(0) + band(i) else $ nameband(0) = nameband(0) + ' ' for i=1,2 do if (entete(4) and mBand(i)) ne 0 then nameband(i) = band(i+2) nfilt = [' ',' ',' '] if (entete(4) and mBand(0)) ne 0 then $ nfilt(0) = filtresABC(entete(9) and '03'x) for i=1,2 do if (entete(4) and mBand(i)) ne 0 then $ nfilt(i) = filtresHF(entete(9+i) and '03'x) integ = [' ',' ',' '] if (entete(4) and mBand(0)) ne 0 then $ integ(0) = intABC(entete(9)/64) for i=1,2 do if (entete(4) and mBand(i)) ne 0 then $ integ(i) = intHF(entete(9+i)/64,i-1) autocorr = [' ',' ',' '] for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $ autocorr(i) = Aonoff(ishft(entete(18) and 2^(2-i),i-2)) crosscorr = [' ',' ',' '] for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $ crosscorr(i) = Conoff(ishft(entete(18) and 2^(5-i),i-5)) dirfin = [' ',' ',' '] for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $ dirfin(i) = Dfonoff(ishft(entete(9+i) and '20'x,-5)) Xant = [' ',' ',' '] for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $ Xant(i) = Xsw(ishft(entete(9+i) and '0c'x,-2)) Zant = [' ',' ',' '] for i=0,2 do if (entete(4) and mBand(i)) ne 0 then $ Zant(i) = Zonoff(ishft(entete(9+i) and '10'x,-4)) startfH1 = ' ' & startfH2 = ' ' nstepH1 = ' ' & nstepH2 = ' ' stepH1 = ' ' & stepH2 = ' ' stopfH1 = ' ' & stopfH2 = ' ' if (entete(4) and '18'x) ne 0 then begin if (entete(4) and '08'x) ne 0 then begin startfH1 = string(entete(12)*25,format='(i5)') nstepH1 = string(entete(13),format='("=",i3)') stepH1 = string(entete(14)*25,format='("x",i3)') stopfH1 = string( $ (entete(12)+(max([entete(13),1])-1)*entete(14))*25,format='(">",i4)') endif if (entete(4) and '10'x) ne 0 then begin startfH2 = string( $ (entete(15)+256L*((entete(18) and '80'x) ne 0))*50+25,format='(i6)') nstepH2 = string(entete(16)+256L*((entete(18) and '40'x) ne 0), $ format='("=",i3)') stepH2 = string(entete(17)*50,format='("x",i4)') stopfH2 = string((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,format='(">",i5)') endif endif prstring = prstring + repc(0)+nameband(0)+nfilt(0)+integ(0)+ $ autocorr(0)+crosscorr(0)+dirfin(0)+xant(0)+zant(0)+ $ repc(1)+nameband(1)+nfilt(1)+integ(1)+ $ autocorr(1)+crosscorr(1)+dirfin(1)+xant(1)+zant(1)+ $ startfH1+stopfH1+nstepH1+stepH1+ $ repc(2)+nameband(2)+nfilt(2)+integ(2)+ $ autocorr(2)+crosscorr(2)+dirfin(2)+xant(2)+zant(2)+ $ startfH2+stopfH2+nstepH2+stepH2 return end