Another adjustment to the trade-off between decoding time and sensitivity.

If CTRL is held down when double-clicking on a decode, the QSO freq (
both Rx and Tx) will be reset even if the first decoded callsign is MyCall.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3109 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2013-03-26 15:59:23 +00:00
parent 0707827d9b
commit 4544824f30
2 changed files with 14 additions and 9 deletions

View File

@ -29,14 +29,14 @@ subroutine decoder(ss,c0)
nsynced=0 nsynced=0
ndecoded=0 ndecoded=0
limit=5000 limit=5000
ccflim=20.0 ccflim=4.0
if(ndepth.ge.2) then if(ndepth.ge.2) then
limit=50000 limit=50000
ccflim=10.0 ccflim=3.0
endif endif
if(ndepth.ge.3) then if(ndepth.ge.3) then
limit=500000 limit=200000
ccflim=8.0 ccflim=2.5
endif endif
nsps=0 nsps=0
@ -71,11 +71,16 @@ subroutine decoder(ss,c0)
call timer('sync9 ',1) call timer('sync9 ',1)
ccfok=.false. ccfok=.false.
ccfok(max(ipk-1,1):min(ipk+1,NSMAX))=.true.
! nok=0
do i=ia+9,ib-25 do i=ia+9,ib-25
t1=ccfred(i)/max(ccfred(i-8),ccfred(i-7),ccfred(i-6)) t1=ccfred(i)/(sum(ccfred(i-8:i-6)/3.0))
t2=ccfred(i)/max(ccfred(i+23),ccfred(i+24),ccfred(i+25)) t2=ccfred(i)/(sum(ccfred(i+23:i+25)/3.0))
if(t1.ge.ccflim .and. t2.ge.ccflim) ccfok(i)=.true. if(t1.ge.ccflim .and. t2.ge.ccflim) ccfok(i)=.true.
! if(ccfok(i)) nok=nok+1
enddo enddo
! write(39,*) nok,(ib-25) - (ia+9) +1
! call flush(39)
nRxLog=0 nRxLog=0
fgood=0. fgood=0.
@ -90,10 +95,10 @@ subroutine decoder(ss,c0)
do j=ia,ib do j=ia,ib
i=j i=j
if(i.eq.i1) i=i00 if(i.eq.ia) i=i00 !Examine QSO frequency first
f=(i-1)*df3 f=(i-1)*df3
if(.not.ccfok(i)) cycle if(.not.ccfok(i)) cycle
if((i.eq.ipk .or. (ccfred(i).ge.3.0) .and. abs(f-fgood).gt.10.0*df8)) then if((i.eq.i00 .or. (ccfred(i).ge.3.0) .and. abs(f-fgood).gt.10.0*df8)) then
call timer('decode9a',0) call timer('decode9a',0)
fpk=1000.0 + df3*(i-1) fpk=1000.0 + df3*(i-1)
c1(1:npts8)=conjg(c0(1:npts8)) c1(1:npts8)=conjg(c0(1:npts8))

View File

@ -1639,7 +1639,7 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl)
if(t4.length() <7) return; //Skip the rest if no decoded text if(t4.length() <7) return; //Skip the rest if no decoded text
QString firstcall=t4.at(6); QString firstcall=t4.at(6);
//Don't change freqs if Shift key down or a station is calling me. //Don't change freqs if Shift key down or a station is calling me.
if(!shift and firstcall!=m_myCall) { if(!shift and (firstcall!=m_myCall or ctrl)) {
int nfreq=int(t4.at(4).toFloat()); int nfreq=int(t4.at(4).toFloat());
ui->TxFreqSpinBox->setValue(nfreq); ui->TxFreqSpinBox->setValue(nfreq);
g_pWideGraph->setQSOfreq(nfreq); g_pWideGraph->setQSOfreq(nfreq);