Work in progress on q65w ==> stripped-down map65 for wideband Rx.

This commit is contained in:
Joe Taylor 2022-12-05 11:01:52 -05:00
parent 17eae05c53
commit 053ba57dc4
6 changed files with 26 additions and 29 deletions

View File

@ -972,7 +972,10 @@ if (Fortran_COMPILER_NAME MATCHES "gfortran.*")
set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fbounds-check -funroll-all-loops -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}") set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fbounds-check -funroll-all-loops -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -g -fbacktrace -fbounds-check -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}") ### TEMPORARY: Let Fortran use RElEASE flags for DEBUG builds
#set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -g -fbacktrace -fbounds-check -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_RELEASE} -fbounds-check -funroll-all-loops -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
# FPE traps currently disabled in Debug configuration builds until # FPE traps currently disabled in Debug configuration builds until
# we decide if they are meaningful, without these FP instructions # we decide if they are meaningful, without these FP instructions

View File

@ -138,8 +138,10 @@ subroutine display(nkeep,ftol)
! Suppress listing duplicate (same time, decoded message, and frequency) ! Suppress listing duplicate (same time, decoded message, and frequency)
if(out(14:17).ne.out0(14:17) .or. out(26:50).ne.out0(26:50) .or. & if(out(14:17).ne.out0(14:17) .or. out(26:50).ne.out0(26:50) .or. &
out(1:3).ne.out0(1:3)) then out(1:3).ne.out0(1:3)) then
write(*,1030) out !Messages !###
1030 format('@',a52) ! write(*,1030) out !Messages
!1030 format('@',a52)
!###
out0=out out0=out
endif endif
@ -169,11 +171,13 @@ subroutine display(nkeep,ftol)
freqcall(nc+1)=' ' freqcall(nc+1)=' '
freqcall(nc+2)=' ' freqcall(nc+2)=' '
do i=1,nc !###
write(*,1042) freqcall(i) !Band Map ! do i=1,nc
1042 format('&',a12) ! write(*,1042) freqcall(i) !Band Map
enddo !1042 format('&',a12)
! enddo
!###
999 continue 999 continue
return return
end subroutine display end subroutine display

View File

@ -67,6 +67,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
call timer('get_cand',1) call timer('get_cand',1)
candec=.false. candec=.false.
endif endif
print*,'~ncand:',ncand
!### !###
! do k=1,ncand ! do k=1,ncand
! freq=cand(k)%f+nkhz_center-48.0 ! freq=cand(k)%f+nkhz_center-48.0
@ -101,7 +102,10 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
if(nutc.ne.nutc0) nfile=nfile+1 if(nutc.ne.nutc0) nfile=nfile+1
nutc0=nutc nutc0=nutc
do nqd=1,0,-1 !###
! do nqd=1,0,-1
!###
do nqd=0,0,-1
if(nqd.eq.1) then !Quick decode, at fQSO if(nqd.eq.1) then !Quick decode, at fQSO
fa=1000.0*(fqso+0.001*mousedf) - ntol fa=1000.0*(fqso+0.001*mousedf) - ntol
fb=1000.0*(fqso+0.001*mousedf) + ntol + 4*53.8330078 fb=1000.0*(fqso+0.001*mousedf) + ntol + 4*53.8330078
@ -162,7 +166,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
ssmax=1.e30 ssmax=1.e30
call ccf65(ss(1,1,i),nhsym,ssmax,sync1,ipol,jpz,dt, & call ccf65(ss(1,1,i),nhsym,ssmax,sync1,ipol,jpz,dt, &
flipk,syncshort,snr2,ipol2,dt2) flipk,syncshort,snr2,ipol2,dt2)
!### if(dt.lt.-2.6 .or. dt.gt.2.5) sync1=-99.0 !###
call timer('ccf65 ',1) call timer('ccf65 ',1)
if(mode65.eq.0) syncshort=-99.0 !If "No JT65", don't waste time if(mode65.eq.0) syncshort=-99.0 !If "No JT65", don't waste time
@ -337,18 +340,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
call txpol(xpol,decoded,mygrid,npol,nxant,ntxpol,cp) call txpol(xpol,decoded,mygrid,npol,nxant,ntxpol,cp)
if(ndphi.eq.0) then
write(*,1010) nkHz,ndf,npol,nutc,dt,nsync2, &
cm,decoded,nkv,nqual,ntxpol,cp
1010 format('!',i3,i5,i4,i6.4,f5.1,i5,1x,a1,1x,a22,i2,i5,i5,1x,a1)
else
if(iloop.ge.1) qphi(iloop)=sig(k,10)
write(*,1010) nkHz,ndf,npol,nutc,dt,nsync2, &
cm,decoded,nkv,nqual,30*iloop
write(27,1011) 30*iloop,nkHz,ndf,npol,nutc, &
dt,sync2,nkv,nqual,cm,decoded
1011 format(i3,i4,i5,i4,i6.4,1x,f5.1,f7.1,i3,i5,a1,1x,a22)
endif
endif endif
enddo ! k=1,km enddo ! k=1,km
@ -373,7 +364,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
if(.not.q65b_called) then if(.not.q65b_called) then
freq=mousefqso + 0.001*mousedf freq=mousefqso + 0.001*mousedf
ikhz=mousefqso ikhz=mousefqso
f0=freq - (nkhz_center-48.0-1.27046) !### ??? ### f0=freq - (nkhz_center-48.0-1.27046)
call timer('q65b ',0) call timer('q65b ',0)
call q65b(nutc,nqd,nxant,fcenter,nfcal,nfsample,ikhz,mousedf, & call q65b(nutc,nqd,nxant,fcenter,nfcal,nfsample,ikhz,mousedf, &
ntol,xpol,mycall,mygrid,hiscall,hisgrid,mode_q65,f0,fqso, & ntol,xpol,mycall,mygrid,hiscall,hisgrid,mode_q65,f0,fqso, &
@ -382,10 +373,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
endif endif
endif endif
if(nwrite.eq.0 .and. nwrite_q65.eq.0) then
write(*,1012) mousefqso,nutc
1012 format('!',i3,9x,i6.4,' ')
endif
endif !nqd.eq.1 endif !nqd.eq.1
if(ndphi.eq.1 .and.iloop.lt.12) then if(ndphi.eq.1 .and.iloop.lt.12) then

View File

@ -191,6 +191,8 @@ subroutine q65b(nutc,nqd,nxant,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
fsked=frx - 0.001*ndop00/2.0 - 1.5 fsked=frx - 0.001*ndop00/2.0 - 1.5
write(12,1120) nutc,fsked,xdt0,nsnr0,trim(msg0) write(12,1120) nutc,fsked,xdt0,nsnr0,trim(msg0)
1120 format(i4.4,f9.3,f7.2,i5,2x,a,i6) 1120 format(i4.4,f9.3,f7.2,i5,2x,a,i6)
write(*,1121) nutc,fsked,xdt0,nsnr0,trim(msg0)
1121 format('~',i4.4,f9.3,f7.2,i5,2x,a,i6)
endif endif
endif endif

View File

@ -1361,6 +1361,7 @@ void MainWindow::readFromStdout() //readFromStdout
while(proc_m65.canReadLine()) while(proc_m65.canReadLine())
{ {
QByteArray t=proc_m65.readLine(); QByteArray t=proc_m65.readLine();
qDebug() << "aa" << t.trimmed();
if(t.indexOf("<QuickDecodeDone>") >= 0) { if(t.indexOf("<QuickDecodeDone>") >= 0) {
m_nsum=t.mid(17,4).toInt(); m_nsum=t.mid(17,4).toInt();
m_nsave=t.mid(21,4).toInt(); m_nsave=t.mid(21,4).toInt();
@ -1387,7 +1388,7 @@ void MainWindow::readFromStdout() //readFromStdout
read_log(); read_log();
if(t.indexOf("@") >= 0) { if(t.indexOf("~") >= 0) {
int n=t.length(); int n=t.length();
int m=2; int m=2;
#ifdef WIN32 #ifdef WIN32
@ -1566,7 +1567,7 @@ void MainWindow::guiUpdate()
if(m_modeJT65==0 and m_modeTx=="JT65") on_pbTxMode_clicked(); if(m_modeJT65==0 and m_modeTx=="JT65") on_pbTxMode_clicked();
if(nsec != m_sec0) { //Once per second if(nsec != m_sec0) { //Once per second
// qDebug() << "A" << nsec%60 << m_mode65 << m_modeQ65 << m_modeTx; // qDebug() << "AAA" << nsec%60 << m_mode65 << m_modeQ65 << m_modeTx;
soundInThread.setForceCenterFreqMHz(m_wide_graph_window->m_dForceCenterFreq); soundInThread.setForceCenterFreqMHz(m_wide_graph_window->m_dForceCenterFreq);
soundInThread.setForceCenterFreqBool(m_wide_graph_window->m_bForceCenterFreq); soundInThread.setForceCenterFreqBool(m_wide_graph_window->m_bForceCenterFreq);