mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	It's basically working with multicast data now ...
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@396 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									d9e8ad5d65
								
							
						
					
					
						commit
						2d27f21d31
					
				
							
								
								
									
										176
									
								
								Makefile.win
									
									
									
									
									
								
							
							
						
						
									
										176
									
								
								Makefile.win
									
									
									
									
									
								
							| @ -1,88 +1,88 @@ | |||||||
| #Makefile for Windows
 | #Makefile for Windows
 | ||||||
| !include <dfinc.mak>   #Some definitions for Compaq Visual Fortran
 | !include <dfinc.mak>   #Some definitions for Compaq Visual Fortran
 | ||||||
| gcc = cl | gcc = cl | ||||||
| FC = df | FC = df | ||||||
| #To do bounds checking (with useless reports) put "/check:all" in the
 | #To do bounds checking (with useless reports) put "/check:all" in the
 | ||||||
| # --opt= line below (line 56, more or less ...)
 | # --opt= line below (line 56, more or less ...)
 | ||||||
| #FFLAGS = /traceback /check:all
 | #FFLAGS = /traceback /check:all
 | ||||||
| FFLAGS = /traceback /fast /nologo /check:all | FFLAGS = /traceback /fast /nologo /check:all | ||||||
| 
 | 
 | ||||||
| all:    MAP65.EXE | all:    MAP65.EXE | ||||||
| 
 | 
 | ||||||
| OBJS2C   = init_rs.o encode_rs.o decode_rs.o jtaudio.o | OBJS2C   = init_rs.o encode_rs.o decode_rs.o jtaudio.o | ||||||
| 
 | 
 | ||||||
| F2PYONLY = ftn_init ftn_quit audio_init getfile azdist0 astro0 \
 | F2PYONLY = ftn_init ftn_quit audio_init getfile azdist0 astro0 \
 | ||||||
| 	spec map65a0 | 	spec map65a0 | ||||||
| 
 | 
 | ||||||
| SRCS2F90 = a2d.f90 astro0.f90 audio_init.f90 azdist0.f90 \
 | SRCS2F90 = a2d.f90 astro0.f90 audio_init.f90 azdist0.f90 \
 | ||||||
| 	decode1.f90 ftn_init.f90 ftn_quit.f90 wsjtgen.f90 \
 | 	decode1.f90 ftn_init.f90 ftn_quit.f90 wsjtgen.f90 \
 | ||||||
| 	runqqq.f90 fivehz.f90 flushqqq.f90 map65a0.f90 \
 | 	runqqq.f90 fivehz.f90 flushqqq.f90 map65a0.f90 \
 | ||||||
| 	rfile.f90 rfile3a.f90 spec.f90 map65a.f90 display.F90 \
 | 	rfile.f90 rfile3a.f90 spec.f90 map65a.f90 display.F90 \
 | ||||||
| 	getfile.f90 getfile2.f90 | 	getfile.f90 getfile2.f90 | ||||||
| 
 | 
 | ||||||
| SRCS2F77 = indexx.f gen65.f chkmsg.f \
 | SRCS2F77 = indexx.f gen65.f chkmsg.f \
 | ||||||
| 	gentone.f gencwid.f set.f db.f pctile.f sort.f ssort.f \
 | 	gentone.f gencwid.f set.f db.f pctile.f sort.f ssort.f \
 | ||||||
| 	avemsg65.f demod64a.f encode65.f extract.f four2a.f getpfx1.f \
 | 	avemsg65.f demod64a.f encode65.f extract.f four2a.f getpfx1.f \
 | ||||||
| 	getpfx2.f graycode.f grid2k.f interleave63.f k2grid.f \
 | 	getpfx2.f graycode.f grid2k.f interleave63.f k2grid.f \
 | ||||||
| 	deep65.f morse.f nchar.f packcall.f packgrid.f \
 | 	deep65.f morse.f nchar.f packcall.f packgrid.f \
 | ||||||
| 	packmsg.f packtext.f setup65.f unpackcall.f unpackgrid.f \
 | 	packmsg.f packtext.f setup65.f unpackcall.f unpackgrid.f \
 | ||||||
| 	unpackmsg.f unpacktext.f astro.f azdist.f coord.f dcoord.f \
 | 	unpackmsg.f unpacktext.f astro.f azdist.f coord.f dcoord.f \
 | ||||||
| 	deg2grid.f dot.f ftsky.f geocentric.f GeoDist.f grid2deg.f \
 | 	deg2grid.f dot.f ftsky.f geocentric.f GeoDist.f grid2deg.f \
 | ||||||
| 	moon2.f MoonDop.f sun.f toxyz.f pfxdump.f \
 | 	moon2.f MoonDop.f sun.f toxyz.f pfxdump.f \
 | ||||||
| 	symspec.f ccf65.f trimlist.f chkhist.f decode1a.f \
 | 	symspec.f ccf65.f trimlist.f chkhist.f decode1a.f \
 | ||||||
| 	filbig.f fil659.f fil658.f fil6521.f twkfreq.f decode65b.f \
 | 	filbig.f fil659.f fil658.f fil6521.f twkfreq.f decode65b.f \
 | ||||||
| 	afc65b.f fchisq.f ccf2.f | 	afc65b.f fchisq.f ccf2.f | ||||||
| 
 | 
 | ||||||
| SRCS2C   = resample.c ptt.c igray.c wrapkarn.c rfile3.c wfile3.c | SRCS2C   = resample.c ptt.c igray.c wrapkarn.c rfile3.c wfile3.c | ||||||
| 
 | 
 | ||||||
| MAP65.EXE: Audio.pyd map65.spec | MAP65.EXE: Audio.pyd map65.spec | ||||||
| 	python c:\python23\installer\Build.py map65.spec | 	python c:\python23\installer\Build.py map65.spec | ||||||
| 
 | 
 | ||||||
| Audio.pyd: $(OBJS2C) $(SRCS2F90) $(SRCS2F77) $(SRCS2C)  | Audio.pyd: $(OBJS2C) $(SRCS2F90) $(SRCS2F77) $(SRCS2C)  | ||||||
| 	python f2py.py -c \
 | 	python f2py.py -c \
 | ||||||
| 	--quiet --"fcompiler=compaqv" \
 | 	--quiet --"fcompiler=compaqv" \
 | ||||||
| 	--opt="/nologo /traceback /warn:errors /fast /fpp /define:Win32 \
 | 	--opt="/nologo /traceback /warn:errors /fast /fpp /define:Win32 \
 | ||||||
| 	      /define:USE_PORTAUDIO" \
 | 	      /define:USE_PORTAUDIO" \
 | ||||||
| 	$(OBJS2C) \
 | 	$(OBJS2C) \
 | ||||||
| 	-lwinmm -lpa -lfftw3single -llibsamplerate \
 | 	-lwinmm -lpa -lfftw3single -llibsamplerate \
 | ||||||
| 	-m Audio \
 | 	-m Audio \
 | ||||||
| 	only: $(F2PYONLY) : \
 | 	only: $(F2PYONLY) : \
 | ||||||
| 	$(SRCS2F90) $(SRCS2F77) $(SRCS2C) | 	$(SRCS2F90) $(SRCS2F77) $(SRCS2C) | ||||||
| 
 | 
 | ||||||
| map65.spec: map65.py astro.py g.py options.py palettes.py smeter.py specjt.py | map65.spec: map65.py astro.py g.py options.py palettes.py smeter.py specjt.py | ||||||
| 	python c:\python23\installer\makespec.py --icon wsjt.ico \
 | 	python c:\python23\installer\makespec.py --icon wsjt.ico \
 | ||||||
| 	--tk --onefile map65.py | 	--tk --onefile map65.py | ||||||
| 
 | 
 | ||||||
| jtaudio.o: jtaudio.c | jtaudio.o: jtaudio.c | ||||||
| 	$(CC) /nologo /c /DWin32 /Fojtaudio.o jtaudio.c | 	$(CC) /nologo /c /DWin32 /Fojtaudio.o jtaudio.c | ||||||
| 
 | 
 | ||||||
| init_rs.obj: init_rs.c | init_rs.obj: init_rs.c | ||||||
| 	$(CC) /nologo /c /DBIGSYM=1 init_rs.c | 	$(CC) /nologo /c /DBIGSYM=1 init_rs.c | ||||||
| 
 | 
 | ||||||
| init_rs.o: init_rs.c | init_rs.o: init_rs.c | ||||||
| 	$(CC) /nologo /c /DBIGSYM=1 /Foinit_rs.o init_rs.c | 	$(CC) /nologo /c /DBIGSYM=1 /Foinit_rs.o init_rs.c | ||||||
| 
 | 
 | ||||||
| encode_rs.obj: encode_rs.c | encode_rs.obj: encode_rs.c | ||||||
| 	$(CC) /nologo /c /DBIGSYM=1 encode_rs.c | 	$(CC) /nologo /c /DBIGSYM=1 encode_rs.c | ||||||
| 
 | 
 | ||||||
| encode_rs.o: encode_rs.c | encode_rs.o: encode_rs.c | ||||||
| 	$(CC) /nologo /c /DBIGSYM=1 /Foencode_rs.o encode_rs.c | 	$(CC) /nologo /c /DBIGSYM=1 /Foencode_rs.o encode_rs.c | ||||||
| 
 | 
 | ||||||
| decode_rs.obj: decode_rs.c | decode_rs.obj: decode_rs.c | ||||||
| 	$(CC) /nologo /c /DBIGSYM=1 decode_rs.c | 	$(CC) /nologo /c /DBIGSYM=1 decode_rs.c | ||||||
| 
 | 
 | ||||||
| decode_rs.o: decode_rs.c | decode_rs.o: decode_rs.c | ||||||
| 	$(CC) /nologo /c /DBIGSYM=1 /Ox /Zd /Fodecode_rs.o decode_rs.c | 	$(CC) /nologo /c /DBIGSYM=1 /Ox /Zd /Fodecode_rs.o decode_rs.c | ||||||
| 
 | 
 | ||||||
| wrapkarn.obj: wrapkarn.c | wrapkarn.obj: wrapkarn.c | ||||||
| 	$(CC) /nologo /c /DWin32=1 wrapkarn.c | 	$(CC) /nologo /c /DWin32=1 wrapkarn.c | ||||||
| 
 | 
 | ||||||
| igray.obj: igray.c | igray.obj: igray.c | ||||||
| 	$(CC) /nologo /c /DWin32=1 igray.c | 	$(CC) /nologo /c /DWin32=1 igray.c | ||||||
| 
 | 
 | ||||||
| .PHONY : clean | .PHONY : clean | ||||||
| 
 | 
 | ||||||
| clean: | clean: | ||||||
|     -del *.o *.obj MAP65.EXE Audio.pyd |     -del *.o *.obj MAP65.EXE Audio.pyd | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -3,8 +3,8 @@ subroutine audio_init(ndin,ndout) | |||||||
| 
 | 
 | ||||||
| #ifdef Win32 | #ifdef Win32 | ||||||
|   use dfmt |   use dfmt | ||||||
|   integer Thread1,Thread2 |   integer Thread1,Thread2,Thread3 | ||||||
|   external a2d,decode1 |   external a2d,decode1,recvpkt | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|   include 'gcom1.f90' |   include 'gcom1.f90' | ||||||
| @ -44,8 +44,10 @@ subroutine audio_init(ndin,ndout) | |||||||
| !     THREAD_PRIORITY_TIME_CRITICAL     15 | !     THREAD_PRIORITY_TIME_CRITICAL     15 | ||||||
|      |      | ||||||
|   m0=SetPriorityClass(GetCurrentProcess(),NORMAL_PRIORITY_CLASS) |   m0=SetPriorityClass(GetCurrentProcess(),NORMAL_PRIORITY_CLASS) | ||||||
|  | !  m0=SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS) | ||||||
| 
 | 
 | ||||||
| ! Start a thread for doing A/D and D/A with sound card. | ! Start a thread for doing A/D and D/A with sound card. | ||||||
|  | !  (actually, only D/A is used in MAP65) | ||||||
|   Thread1=CreateThread(0,0,a2d,0,CREATE_SUSPENDED,id1) |   Thread1=CreateThread(0,0,a2d,0,CREATE_SUSPENDED,id1) | ||||||
|   m1=SetThreadPriority(Thread1,THREAD_PRIORITY_ABOVE_NORMAL) |   m1=SetThreadPriority(Thread1,THREAD_PRIORITY_ABOVE_NORMAL) | ||||||
|   m2=ResumeThread(Thread1) |   m2=ResumeThread(Thread1) | ||||||
| @ -54,6 +56,12 @@ subroutine audio_init(ndin,ndout) | |||||||
|   Thread2=CreateThread(0,0,decode1,0,CREATE_SUSPENDED,id2) |   Thread2=CreateThread(0,0,decode1,0,CREATE_SUSPENDED,id2) | ||||||
|   m3=SetThreadPriority(Thread2,THREAD_PRIORITY_BELOW_NORMAL) |   m3=SetThreadPriority(Thread2,THREAD_PRIORITY_BELOW_NORMAL) | ||||||
|   m4=ResumeThread(Thread2) |   m4=ResumeThread(Thread2) | ||||||
|  | 
 | ||||||
|  | ! Start a thread to receive packets from Linrad | ||||||
|  |   Thread3=CreateThread(0,0,recvpkt,0,CREATE_SUSPENDED,id3) | ||||||
|  |   m5=SetThreadPriority(Thread3,THREAD_PRIORITY_ABOVE_NORMAL) | ||||||
|  |   m6=ResumeThread(Thread3) | ||||||
|  | 
 | ||||||
| #else | #else | ||||||
| !  print*,'Audio INIT called.' | !  print*,'Audio INIT called.' | ||||||
|   ierr=start_threads(ndevin,ndevout,y1,y2,nmax,iwrite,iwave,nwave,    & |   ierr=start_threads(ndevin,ndevout,y1,y2,nmax,iwrite,iwave,nwave,    & | ||||||
|  | |||||||
| @ -9,10 +9,8 @@ subroutine decode1(iarg) | |||||||
| 
 | 
 | ||||||
|   character sending0*28,mode0*6,cshort*11 |   character sending0*28,mode0*6,cshort*11 | ||||||
|   integer sendingsh0 |   integer sendingsh0 | ||||||
|   character*80 fname80 | 
 | ||||||
|   parameter (NSMAX=60*96000)          !Samples per 60 s file |   include 'datcom.f90' | ||||||
|   integer*2 id(4,NSMAX)               !46 MB: raw data from Linrad timf2 |  | ||||||
|   common/datcom/nutc,newdat2,id,fname80,nlen |  | ||||||
|   include 'gcom1.f90' |   include 'gcom1.f90' | ||||||
|   include 'gcom2.f90' |   include 'gcom2.f90' | ||||||
|   include 'gcom3.f90' |   include 'gcom3.f90' | ||||||
|  | |||||||
| @ -1,10 +1,8 @@ | |||||||
| !----------------------------------------------------- getfile | !----------------------------------------------------- getfile | ||||||
| subroutine getfile(fname,len) | subroutine getfile(fname,len) | ||||||
|   character*(*) fname |   character*(*) fname | ||||||
|   character*80 fname80 | 
 | ||||||
|   parameter (NSMAX=60*96000)          !Samples per 60 s file |   include 'datcom.f90' | ||||||
|   integer*2 id(4,NSMAX)               !46 MB: raw data from Linrad timf2 |  | ||||||
|   common/datcom/nutc,newdat2,id,fname80,nlen |  | ||||||
|   include 'gcom2.f90' |   include 'gcom2.f90' | ||||||
| 
 | 
 | ||||||
|   fname80=fname |   fname80=fname | ||||||
|  | |||||||
| @ -7,9 +7,8 @@ subroutine getfile2(fname,len) | |||||||
|   parameter (NDMAX=661500)  ! =60*11025 |   parameter (NDMAX=661500)  ! =60*11025 | ||||||
|   character*(*) fname |   character*(*) fname | ||||||
|   character infile*15 |   character infile*15 | ||||||
|   parameter (NSMAX=60*96000)          !Samples per 60 s file | 
 | ||||||
|   integer*2 id(4,NSMAX)               !46 MB: raw data from Linrad timf2 |   include 'datcom.f90' | ||||||
|   common/datcom/nutc,newdat2,id |  | ||||||
|   include 'gcom1.f90' |   include 'gcom1.f90' | ||||||
|   include 'gcom2.f90' |   include 'gcom2.f90' | ||||||
|   include 'gcom4.f90' |   include 'gcom4.f90' | ||||||
|  | |||||||
							
								
								
									
										18
									
								
								map65a.f90
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								map65a.f90
									
									
									
									
									
								
							| @ -16,16 +16,16 @@ subroutine map65a | |||||||
|   integer indx(MAXMSG),nsiz(MAXMSG) |   integer indx(MAXMSG),nsiz(MAXMSG) | ||||||
|   logical done(MAXMSG) |   logical done(MAXMSG) | ||||||
|   character decoded*22,blank*22 |   character decoded*22,blank*22 | ||||||
|   parameter (NSMAX=60*96000)          !Samples per 60 s file |   include 'datcom.f90' | ||||||
|   integer*2 id(4,NSMAX)               !46 MB: raw data from Linrad timf2 |  | ||||||
|   common/datcom/nutc,newdat2,id |  | ||||||
|   common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT) |   common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT) | ||||||
|   data blank/'                      '/ |   data blank/'                      '/ | ||||||
|   data shmsg0/'ATT','RO ','RRR','73 '/ |   data shmsg0/'ATT','RO ','RRR','73 '/ | ||||||
|   data nfile/0/,nutc0/-999/,nid/0/ |   data nfile/0/,nutc0/-999/,nid/0/ | ||||||
|  |   include 'gcom2.f90' | ||||||
|   save |   save | ||||||
| 
 | 
 | ||||||
|   include 'gcom2.f90' | !  print*,'A',newdat2,nutc,nfile | ||||||
|  |   if(newdat2.eq.0) newdat2=1                      !### | ||||||
| 
 | 
 | ||||||
|   if(newdat2.gt.0) nid=1 |   if(newdat2.gt.0) nid=1 | ||||||
|   if(nid.eq.0) go to 999 |   if(nid.eq.0) go to 999 | ||||||
| @ -70,8 +70,15 @@ subroutine map65a | |||||||
|      nfilt=2                      !nfilt=2 is faster for selected freq |      nfilt=2                      !nfilt=2 is faster for selected freq | ||||||
|      freq=fselect |      freq=fselect | ||||||
|      dt=2.314240                  !Not needed? |      dt=2.314240                  !Not needed? | ||||||
|  | !     print*,'B',newdat2,nfilt,freq,nflip,ip0 | ||||||
|  | 
 | ||||||
|  |       write(*,3001) newdat2,nfilt,nflip,ip0,freq,               & | ||||||
|  |            (id(1,i),id(2,i),id(3,i),id(4,i),i=1,2) | ||||||
|  |  3001 format(4i5,f10.3,8i5) | ||||||
|  | 
 | ||||||
|      call decode1a(id,newdat2,nfilt,freq,nflip,ip0,sync2,        & |      call decode1a(id,newdat2,nfilt,freq,nflip,ip0,sync2,        & | ||||||
|           a,dt,pol,nkv,nhist,qual,decoded) |           a,dt,pol,nkv,nhist,qual,decoded) | ||||||
|  | !     print*,'C',nkv,qual,decoded | ||||||
|      nsync1=0 |      nsync1=0 | ||||||
|      nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ### |      nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ### | ||||||
|      ndf=nint(a(1)) |      ndf=nint(a(1)) | ||||||
| @ -291,5 +298,6 @@ subroutine map65a | |||||||
|   call display |   call display | ||||||
|   ndecdone=2 |   ndecdone=2 | ||||||
|      |      | ||||||
| 999 return | 999 newdat2=0 | ||||||
|  |   return | ||||||
| end subroutine map65a | end subroutine map65a | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user