mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-12 07:06:17 -05:00
Don't use early decoding when data are read from disk.
This commit is contained in:
parent
990933024c
commit
2af2d8131d
@ -42,6 +42,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
|
||||
! Clean start for Q65 at early decode
|
||||
if(nhsym.eq.nhsym1 .or. nagain.ne.0) ldecoded=.false.
|
||||
if(ndiskdat.eq.1) ldecoded=.false.
|
||||
|
||||
nkhz_center=nint(1000.0*(fcenter-int(fcenter)))
|
||||
mfa=nfa-nkhz_center+48
|
||||
@ -54,9 +55,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
xpol=(nxpol.ne.0)
|
||||
|
||||
! No second decode for JT65?
|
||||
! if(nhsym.eq.nhsym2 .and. (nstandalone.eq.1 .or. ndiskdat.eq.0)) mode65=0
|
||||
if(nhsym.eq.nhsym2 .and. nagain.eq.0) mode65=0
|
||||
! print*,'=a',nhsym,nagain,mode65
|
||||
if(nhsym.eq.nhsym2 .and. nagain.eq.0 .and.ndiskdat.eq.0) mode65=0
|
||||
|
||||
if(nagain.eq.0) then
|
||||
call timer('get_cand',0)
|
||||
@ -110,6 +109,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
ib=nint(fb/df) + 16385
|
||||
ia=max(51,ia)
|
||||
ib=min(32768-51,ib)
|
||||
if(ndiskdat.eq.1 .and. mode65.eq.0) ib=ia
|
||||
|
||||
km=0
|
||||
nkm=1
|
||||
@ -122,7 +122,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
short=0. !Zero the whole short array
|
||||
jpz=1
|
||||
if(xpol) jpz=4
|
||||
if(mode65.eq.0) go to 50
|
||||
|
||||
! First steps for JT65 decoding
|
||||
do i=ia,ib !Search over freq range
|
||||
@ -156,7 +155,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
if(smax.gt.1.1 .or. ia.eq.ib) then
|
||||
! Look for JT65 sync patterns and shorthand square-wave patterns.
|
||||
call timer('ccf65 ',0)
|
||||
! ssmax=smax
|
||||
ssmax=1.e30
|
||||
call ccf65(ss(1,1,i),nhsym,ssmax,sync1,ipol,jpz,dt, &
|
||||
flipk,syncshort,snr2,ipol2,dt2)
|
||||
@ -291,7 +289,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
endif
|
||||
enddo !i=ia,ib
|
||||
|
||||
50 if(nqd.eq.1) then
|
||||
if(nqd.eq.1) then
|
||||
nwrite=0
|
||||
if(mode65.eq.0) km=0
|
||||
do k=1,km
|
||||
|
@ -520,7 +520,6 @@ void MainWindow::dataSink(int k)
|
||||
static int nkhz;
|
||||
static int nfsample=96000;
|
||||
static int nxpol=0;
|
||||
static int iRxState=0;
|
||||
static float fgreen;
|
||||
static int ndiskdat;
|
||||
static int nb;
|
||||
@ -620,10 +619,10 @@ void MainWindow::dataSink(int k)
|
||||
n=0;
|
||||
}
|
||||
|
||||
if(ihsym<280) iRxState=0;
|
||||
if(ihsym<280) m_RxState=0;
|
||||
|
||||
if(iRxState==0 and ihsym>=280) { //Early decode, t=52 s
|
||||
iRxState=1;
|
||||
if(m_RxState==0 and ihsym>=280 and !m_diskData) { //Early decode, t=52 s
|
||||
m_RxState=1;
|
||||
datcom_.newdat=1;
|
||||
datcom_.nagain=0;
|
||||
datcom_.nhsym=ihsym;
|
||||
@ -632,8 +631,8 @@ void MainWindow::dataSink(int k)
|
||||
decode(); //Start the decoder
|
||||
}
|
||||
|
||||
if(iRxState<=1 and ihsym>=302) { //Decode at t=56 s (for Q65 and data from disk)
|
||||
iRxState=2;
|
||||
if(m_RxState<=1 and ihsym>=302) { //Decode at t=56 s (for Q65 and data from disk)
|
||||
m_RxState=2;
|
||||
datcom_.newdat=1;
|
||||
datcom_.nagain=0;
|
||||
datcom_.nhsym=ihsym;
|
||||
@ -1126,10 +1125,7 @@ void MainWindow::diskDat() //diskDat()
|
||||
for(int i=0; i<304; i++) { // Do the half-symbol FFTs
|
||||
int k = i*hsym + 2048.5;
|
||||
dataSink(k);
|
||||
while(m_decoderBusy) {
|
||||
qApp->processEvents();
|
||||
}
|
||||
if(i%10 == 0) qApp->processEvents(); //Keep the GUI responsive
|
||||
qApp->processEvents(); // Allow the waterfall to update
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,6 +191,8 @@ private:
|
||||
qint32 m_TRperiod;
|
||||
qint32 m_modeJT65;
|
||||
qint32 m_modeQ65;
|
||||
qint32 m_RxState;
|
||||
|
||||
|
||||
double m_fAdd;
|
||||
// double m_IQamp;
|
||||
|
Loading…
Reference in New Issue
Block a user