/[PAMELA software]/DarthVader/TrackerLevel2/src/F77/filladc.f
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/src/F77/filladc.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by mocchiut, Fri May 19 13:15:55 2006 UTC revision 1.2 by pam-fi, Tue May 30 16:30:37 2006 UTC
# Line 63  C--------------------------------------- Line 63  C---------------------------------------
63            call compdecode(word,flag,tipo,info,errflag)            call compdecode(word,flag,tipo,info,errflag)
64    
65            if(errflag.ne.0.) then            if(errflag.ne.0.) then
66              print*,'filladc --> ERROR on compdecode'              if(debug)print*,'filladc --> ERROR on compdecode'
67              iflag=1              iflag=1
68              return              return
69            endif            endif
# Line 71  C--------------------------------------- Line 71  C---------------------------------------
71            if(flag.eq.1) then    !   flag: fine messaggio (ladder)            if(flag.eq.1) then    !   flag: fine messaggio (ladder)
72    
73              if(info.ne.1.and.info.ne.2.and.info.ne.3) then              if(info.ne.1.and.info.ne.2.and.info.ne.3) then
74                print*,                if(debug)print*,
75       $             'filladc --> wrong end-of-ladder '       $             'filladc --> wrong end-of-ladder '
76       $             //'in COMPRESSED mode'       $             //'in COMPRESSED mode'
77                print*,                if(debug)print*,
78       $             '            info(=ladder) ',info,'  type ',tipo       $             '            info(=ladder) ',info,'  type ',tipo
79                iflag=1                iflag=1
80                return                return
# Line 87  C--------------------------------------- Line 87  C---------------------------------------
87                newVAL=max(0,newVAL)                newVAL=max(0,newVAL)
88                newVAL=min(4095,newVAL)                newVAL=min(4095,newVAL)
89                adc(DSPn,nvk(js),nst(js))=newVAL                adc(DSPn,nvk(js),nst(js))=newVAL
90  ccc   print*,DSPn,nvk(js),nst(js),newval  c$$$              print*,DSPn,nvk(js),nst(js)
91    c$$$     $             ,pedestal_t(DSPn,nvk(js),nst(js)),newval
92    c$$$     $             ,pedestal(DSPn,nvk(js),nst(js))
93              enddo              enddo
94                            
95              if(info.eq.3) goto 1000              if(info.eq.3) goto 1000
# Line 114  c     print*,DSPn,nvk(js),nst(js),newval Line 116  c     print*,DSPn,nvk(js),nst(js),newval
116                  is = iaddr                  is = iaddr
117                  prec_ind = 1                  prec_ind = 1
118                else                else
119                  print*,'filladc --> address '//                  if(debug)print*,'filladc --> address '//
120       $               'out of range - iaddr,is',iaddr,is       $               'out of range - iaddr,is',iaddr,is
121                  iflag=1                  iflag=1
122                  return                  return
# Line 124  c     print*,DSPn,nvk(js),nst(js),newval Line 126  c     print*,DSPn,nvk(js),nst(js),newval
126                if(prec_ind.eq.0) is=is+1                if(prec_ind.eq.0) is=is+1
127                if(info.ge.0.and.info.le.4095) then                if(info.ge.0.and.info.le.4095) then
128                  if(is.gt.3072)then                  if(is.gt.3072)then
129                    print*,                    if(debug)print*,
130       $                 'filladc --> strip out of range - DSPn,is'       $                 'filladc --> strip out of range - DSPn,is'
131       $                 ,DSPn,is       $                 ,DSPn,is
132                    iflag=1                    iflag=1
# Line 137  ccc   print*,DSPn,nvk(is),nst(is),newval Line 139  ccc   print*,DSPn,nvk(is),nst(is),newval
139                                    
140                  oldVAL=newVAL                  oldVAL=newVAL
141                else                else
142                  print*,'filladc --> datum out of range - info',info                  if(debug)
143         $               print*,'filladc --> datum out of range - info',info
144                  iflag=1                  iflag=1
145                  return                  return
146                endif                endif
# Line 177  c     endif Line 180  c     endif
180              enddo              enddo
181              idata = idata+1              idata = idata+1
182              if(datatracker(idata).ne.ior(z'1800',i+3)) then              if(datatracker(idata).ne.ior(z'1800',i+3)) then
183                print*,'filladc --> wrong end-of-ladder in FULL mode'                if(debug)
184                print*,'            word ',datatracker(idata)       $           print*,'filladc --> wrong end-of-ladder in FULL mode'
185                print*,'            should be ',ior(z'1800',i+3)                if(debug)
186         $           print*,'            word ',datatracker(idata)
187                  if(debug)
188         $           print*,'            should be ',ior(z'1800',i+3)
189                iflag=1                iflag=1
190                return                                  return                  
191              endif              endif
# Line 213  C--------------------------------------- Line 219  C---------------------------------------
219        flag=ishft(flag,-12)        flag=ishft(flag,-12)
220    
221        if(flag.ne.0.and.flag.ne.1) then        if(flag.ne.0.and.flag.ne.1) then
222          print*,'compdecode --> error on uncompression: flag=',flag  c        print*,'compdecode --> error on uncompression: flag=',flag
223          errflag=1.          errflag=1.
224        endif        endif
225        if(flag.eq.0) then        ! valore ADC        if(flag.eq.0) then        ! valore ADC
# Line 224  C--------------------------------------- Line 230  C---------------------------------------
230          info=iand(word,z'03ff')          info=iand(word,z'03ff')
231          tipo=iand(word,z'0c00')          tipo=iand(word,z'0c00')
232          if(tipo.ne.0.and.tipo.ne.z'0800') then          if(tipo.ne.0.and.tipo.ne.z'0800') then
233            print*,'compdecode --> error on decompression: tipo=',tipo  c          print*,'compdecode --> error on decompression: tipo=',tipo
234            errflag=1.            errflag=1.
235          endif          endif
236          if(tipo.eq.0) then      ! indirizzo          if(tipo.eq.0) then      ! indirizzo

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.23