From c7dfc1ee007ebb7b09ada280bea35e5c047eb61a Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 14 Apr 2016 13:22:05 +0000 Subject: [PATCH] 1. Protect against wrong ID of f0 being fit by lorentzian(), when Ftol is large. 2. When switching to JT65 mode, go through JT9 first. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6621 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/decoder.f90 | 3 ++- lib/jt65_decode.f90 | 7 +++++-- mainwindow.cpp | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 0373dabb2..044679697 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -247,7 +247,8 @@ contains n=max(2,nsum+1) n=min(n,36) ctail(2:2)=c(n:n) - if(nsubmode.gt.0) ctail(3:3)=c(nsmo+1:nsmo+1) + n=min(nsmo+1,36) + if(nsubmode.gt.0) ctail(3:3)=c(n:n) if(ft.eq.2) then ctail(5:5)='*' if(qual.le.9) ctail(5:5)=char(48+qual) diff --git a/lib/jt65_decode.f90 b/lib/jt65_decode.f90 index b9ee856ff..91666968a 100644 --- a/lib/jt65_decode.f90 +++ b/lib/jt65_decode.f90 @@ -135,7 +135,7 @@ contains f0=(a(3)+ia-1)*df width=a(4)*df ! write(*,3001) baseline,amp,f0,width -!3001 format(4f10.3) +!3001 format('A',4f10.3) endif ! robust = .false.: use float ccf. Only if ncand>50 fall back to robust (1-bit) ccf @@ -159,7 +159,10 @@ contains ! If a candidate was found within +/- ntol of nfqso, move it into ca(1). call fqso_first(nfqso,ntol,ca,ncand) - if(single_decode) ncand=1 + if(single_decode) then + ncand=1 + if(abs(ca(1)%freq - f0).gt.width) width=2*df + endif nvec=ntrials if(ncand.gt.75) then ! write(*,*) 'Pass ',ipass,' ncandidates too large ',ncand diff --git a/mainwindow.cpp b/mainwindow.cpp index e6041c79c..60361a5d6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -3607,6 +3607,7 @@ void MainWindow::on_actionJT65_triggered() m_modeTx="JT9"; on_pbTxMode_clicked(); } + on_actionJT9_triggered(); m_mode="JT65"; WSPR_config(false); switch_mode (Modes::JT65);