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);