| 
									
										
										
										
											2007-06-20 15:53:56 +00:00
										 |  |  | program plrr
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | !  Pseudo-Linrad "Receive" program
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   integer*1 userx_no,iusb
 | 
					
						
							| 
									
										
										
										
											2007-07-06 16:28:58 +00:00
										 |  |  |   integer*2 nblock,nblock0
 | 
					
						
							| 
									
										
										
										
											2007-06-20 15:53:56 +00:00
										 |  |  |   real*8 center_freq,buf8
 | 
					
						
							| 
									
										
										
										
											2007-07-06 16:28:58 +00:00
										 |  |  |   logical first
 | 
					
						
							| 
									
										
										
										
											2007-06-20 15:53:56 +00:00
										 |  |  |   common/plrscom/center_freq,msec,fselect,iptr,nblock,userx_no,iusb,buf8(174)
 | 
					
						
							| 
									
										
										
										
											2007-07-06 16:28:58 +00:00
										 |  |  |   data first/.true./
 | 
					
						
							| 
									
										
										
										
											2007-06-20 15:53:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   call setup_rsocket
 | 
					
						
							| 
									
										
										
										
											2007-07-02 16:03:44 +00:00
										 |  |  |   ns0=-99
 | 
					
						
							| 
									
										
										
										
											2007-07-06 16:28:58 +00:00
										 |  |  |   nlost=0
 | 
					
						
							| 
									
										
										
										
											2007-06-20 15:53:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 10 call recv_pkt(center_freq)
 | 
					
						
							| 
									
										
										
										
											2007-07-06 16:28:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   lost=nblock-nblock0-1
 | 
					
						
							|  |  |  |   if(lost.ne.0 .and. .not.first) then
 | 
					
						
							|  |  |  |      nb=nblock
 | 
					
						
							|  |  |  |      if(nb.lt.0) nb=nb+65536
 | 
					
						
							|  |  |  |      nb0=nblock0
 | 
					
						
							|  |  |  |      if(nb0.lt.0) nb0=nb0+65536
 | 
					
						
							|  |  |  |      print*,'Lost packets:',nb,nb0,lost
 | 
					
						
							|  |  |  |      nlost=nlost + lost               ! Insert zeros for the lost data.
 | 
					
						
							|  |  |  | !     do i=1,174*lost
 | 
					
						
							|  |  |  | !        k=k+1
 | 
					
						
							|  |  |  | !        d8(k)=0
 | 
					
						
							|  |  |  | !     enddo
 | 
					
						
							|  |  |  |      first=.false.
 | 
					
						
							|  |  |  |      nlost=nlost+lost
 | 
					
						
							|  |  |  |   endif
 | 
					
						
							|  |  |  |   nblock0=nblock
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-07-02 16:03:44 +00:00
										 |  |  |   ns=mod(msec/1000,60)
 | 
					
						
							| 
									
										
										
										
											2007-07-06 16:28:58 +00:00
										 |  |  |   if(ns.ne.ns0) write(*,1010) ns,center_freq,0.001*msec,sec_midn(),nlost
 | 
					
						
							|  |  |  | 1010 format('ns:',i3,'   f0:',f10.3,'   t1:',f10.3,'   t2:',f10.3,i8)
 | 
					
						
							| 
									
										
										
										
											2007-07-02 16:03:44 +00:00
										 |  |  |   ns0=ns
 | 
					
						
							| 
									
										
										
										
											2007-06-20 15:53:56 +00:00
										 |  |  |   go to 10
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | end program plrr
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-07-12 14:25:08 +00:00
										 |  |  | ! To compile: % gfortran -o plrr plrr.f90 sec_midn.F90 plrr_subs.c
 |