mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-07-19 10:05:20 -04:00
1. Fix end-of-transmission logic so that CW ID works again.
2. Much better logic for choosing frequencies at which to attempt decodes. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3143 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
ac6f986dc9
commit
d2d0583e5a
@ -71,7 +71,7 @@ subroutine decode9(i1SoftSymbols,limit,nlim,msg)
|
|||||||
call fano232(i1SoftSymbols,nbits+31,mettab,ndelta,limit,i1DecodedBytes, &
|
call fano232(i1SoftSymbols,nbits+31,mettab,ndelta,limit,i1DecodedBytes, &
|
||||||
ncycles,metric,ierr)
|
ncycles,metric,ierr)
|
||||||
|
|
||||||
nlim=ncycles/nbits
|
nlim=ncycles/(nbits+31)
|
||||||
if(ncycles.lt.(nbits*limit)) then
|
if(ncycles.lt.(nbits*limit)) then
|
||||||
nbytes=(nbits+7)/8
|
nbytes=(nbits+7)/8
|
||||||
do i=1,nbytes
|
do i=1,nbytes
|
||||||
|
@ -59,7 +59,6 @@ subroutine decoder(ss,c0)
|
|||||||
idf=ntol/df3 + 0.999
|
idf=ntol/df3 + 0.999
|
||||||
|
|
||||||
do nqd=1,0,-1
|
do nqd=1,0,-1
|
||||||
|
|
||||||
limit=5000
|
limit=5000
|
||||||
ccflim=4.0
|
ccflim=4.0
|
||||||
if(ndepth.ge.2) then
|
if(ndepth.ge.2) then
|
||||||
@ -110,7 +109,8 @@ subroutine decoder(ss,c0)
|
|||||||
|
|
||||||
do i=ia,ib
|
do i=ia,ib
|
||||||
f=(i-1)*df3
|
f=(i-1)*df3
|
||||||
if(.not.ccfok(i)) cycle
|
if(.not.ccfok(i) .or. ccfred(i).lt.ccflim-1.0 .or. &
|
||||||
|
ccfred(i).lt.ccfred(i+1)) cycle
|
||||||
if(nqd.eq.1 .or. &
|
if(nqd.eq.1 .or. &
|
||||||
(ccfred(i).ge.3.0 .and. abs(f-fgood).gt.10.0*df8)) then
|
(ccfred(i).ge.3.0 .and. abs(f-fgood).gt.10.0*df8)) then
|
||||||
call timer('decode9a',0)
|
call timer('decode9a',0)
|
||||||
@ -122,6 +122,8 @@ subroutine decoder(ss,c0)
|
|||||||
|
|
||||||
call timer('decode9 ',0)
|
call timer('decode9 ',0)
|
||||||
call decode9(i1SoftSymbols,limit,nlim,msg)
|
call decode9(i1SoftSymbols,limit,nlim,msg)
|
||||||
|
! write(69,3300) nqd,i,f+1000.0,ccflim,ccfred(i),limit,nlim,msg(1:18)
|
||||||
|
!3300 format(i1,i6,f10.3,2f8.1,2i9,2x,a18)
|
||||||
call timer('decode9 ',1)
|
call timer('decode9 ',1)
|
||||||
|
|
||||||
sync=(syncpk+1)/4.0
|
sync=(syncpk+1)/4.0
|
||||||
@ -149,6 +151,7 @@ subroutine decoder(ss,c0)
|
|||||||
1010 format('<DecodeFinished>',2i4)
|
1010 format('<DecodeFinished>',2i4)
|
||||||
call flush(6)
|
call flush(6)
|
||||||
close(13)
|
close(13)
|
||||||
|
! call flush(69)
|
||||||
|
|
||||||
call timer('decoder ',1)
|
call timer('decoder ',1)
|
||||||
if(nstandalone.eq.0) call timer('decoder ',101)
|
if(nstandalone.eq.0) call timer('decoder ',101)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//------------------------------------------------------------- MainWindow
|
//-------------------------------------------------------------- MainWindow
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "devsetup.h"
|
#include "devsetup.h"
|
||||||
|
10
soundout.cpp
10
soundout.cpp
@ -92,7 +92,10 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer,
|
|||||||
return paContinue;
|
return paContinue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isym>=85 and itone[0]>=0) return paComplete;
|
if(isym>=85 and icw[0]>=0) {
|
||||||
|
// qDebug() << "C" << isym << icw[0];
|
||||||
|
return paComplete;
|
||||||
|
}
|
||||||
baud=12000.0/udata->nsps;
|
baud=12000.0/udata->nsps;
|
||||||
freq=udata->ntxfreq + itone[isym]*baud;
|
freq=udata->ntxfreq + itone[isym]*baud;
|
||||||
dphi=twopi*freq/48000.0;
|
dphi=twopi*freq/48000.0;
|
||||||
@ -118,7 +121,10 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer,
|
|||||||
#endif
|
#endif
|
||||||
ic++;
|
ic++;
|
||||||
}
|
}
|
||||||
if(amp<1.0 and itone[0]>=0) return paComplete;
|
if(amp<1.0 and icw[0]==0) {
|
||||||
|
// qDebug() << "A" << isym << amp << icw[0];
|
||||||
|
return paComplete;
|
||||||
|
}
|
||||||
return paContinue;
|
return paContinue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user