Call sfrx_sub as a subroutine rather than sfrx as a separate process.

This commit is contained in:
Joe Taylor 2024-09-17 09:13:27 -04:00
parent a18f1a5f66
commit eb500cbe87
4 changed files with 6 additions and 31 deletions

View File

@ -612,6 +612,7 @@ set (wsjt_FSRCS
lib/superfox/sfox_unpack.f90
lib/superfox/sfox_wave.f90
lib/superfox/sfox_wave_gfsk.f90
lib/superfox/sfrx_sub.f90
lib/superfox/twkfreq2.f90
)
@ -1249,8 +1250,8 @@ target_link_libraries (echosim wsjt_fort wsjt_cxx)
add_executable (ft8sim lib/ft8/ft8sim.f90)
target_link_libraries (ft8sim wsjt_fort wsjt_cxx)
add_executable (sfrx lib/superfox/sfrx.f90)
target_link_libraries (sfrx wsjt_fort wsjt_cxx)
#add_executable (sfrx lib/superfox/sfrx.f90)
#target_link_libraries (sfrx wsjt_fort wsjt_cxx)
add_executable (msk144sim lib/msk144sim.f90)
target_link_libraries (msk144sim wsjt_fort wsjt_cxx)
@ -1639,7 +1640,7 @@ install (TARGETS udp_daemon message_aggregator wsjtx_app_version
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
)
install (TARGETS jt9 wsprd fmtave fcal fmeasure sfrx
install (TARGETS jt9 wsprd fmtave fcal fmeasure
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
)

View File

@ -53,8 +53,6 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
character(len=12) :: mycall, hiscall
character(len=6) :: mygrid, hisgrid
character*60 line
character*256 cmnd,cmndmsg
character*6 crxfreq,cftol
data ndec8/0/,ntr0/-1/
save
type(counting_jt4_decoder) :: my_jt4
@ -144,16 +142,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
if(ncontest.eq.7 .and. params%b_superfox .and. params%b_even_seq) then
if(params%nzhsym.lt.50) go to 800
! Call the superFox decoder
open(47,file=trim(temp_dir)//'/fort.47',status='unknown', &
access='stream')
write(47) params%yymmdd,params%nutc,id2(1:20),id2(1:180000)
close(47)
write(crxfreq,'(i6)') params%nfqso
write(cftol,'(i5)') params%ntol
cmnd=trim(exe_dir)//'/sfrx'//crxfreq//cftol// 'OTP "' // &
trim(temp_dir)//'/fort.47"'
call execute_command_line(trim(cmnd),exitstat=nexitstat, &
cmdstat=ncmdstat,cmdmsg=cmndmsg)
call sfrx_sub(params%yymmdd,params%nutc,params%nfqso,params%ntol,id2)
else
call timer('decft8 ',0)
newdat=params%newdat

View File

@ -211,19 +211,3 @@ subroutine sfox_remove_ft8(dd,npts)
enddo
return
end subroutine sfox_remove_ft8
subroutine normalizebmet(bmet,n)
real bmet(n)
bmetav=sum(bmet)/real(n)
bmet2av=sum(bmet*bmet)/real(n)
var=bmet2av-bmetav*bmetav
if( var .gt. 0.0 ) then
bmetsig=sqrt(var)
else
bmetsig=sqrt(bmet2av)
endif
bmet=bmet/bmetsig
return
end subroutine normalizebmet

View File

@ -52,6 +52,7 @@ program sfrx
do ifile=ifile1,narg
call getarg(ifile,fname)
write(72,*) ifile,narg,fname
if(fname.eq.'OTP') then
use_otp = .TRUE.
cycle