mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-23 20:48:33 -04:00
Multi-decodes and nagain decodes now basically functional. Needs cleanup!
This commit is contained in:
parent
f4475740c1
commit
6f02c86d9a
@ -11,7 +11,7 @@ extern struct { //This is "common/datcom/..." in Fortran
|
||||
float savg[NFFT]; //Avg spectra at 0,45,90,135 deg pol
|
||||
double fcenter; //Center freq from Linrad (MHz)
|
||||
int nutc; //UTC as integer, HHMM
|
||||
int idphi; //Phase correction for Y pol'n, degrees
|
||||
float fselected; //Selected frequency for nagain decodes
|
||||
int mousedf; //User-selected DF
|
||||
int mousefqso; //User-selected QSO freq (kHz)
|
||||
int nagain; //1 ==> decode only at fQSO +/- Tol
|
||||
@ -50,7 +50,7 @@ extern struct { //This is "common/datcom/..." in Fortran
|
||||
float savg[NFFT]; //Avg spectra at 0,45,90,135 deg pol
|
||||
double fcenter; //Center freq from Linrad (MHz)
|
||||
int nutc; //UTC as integer, HHMM
|
||||
int idphi; //Phase correction for Y pol'n, degrees
|
||||
float fselected; //Selected frequency for nagain decodes
|
||||
int mousedf; //User-selected DF
|
||||
int mousefqso; //User-selected QSO freq (kHz)
|
||||
int nagain; //1 ==> decode only at fQSO +/- Tol
|
||||
|
@ -11,7 +11,7 @@ subroutine decode0(dd,ss,savg)
|
||||
character*60 result
|
||||
common/decodes/ndecodes,ncand,nQDecoderDone,nWDecoderBusy, &
|
||||
nWTransmitting,result(50)
|
||||
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
||||
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
||||
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
||||
ndop00,nsave,max_drift,nhsym,mycall,mygrid,hiscall,hisgrid,datetime
|
||||
@ -45,7 +45,7 @@ subroutine decode0(dd,ss,savg)
|
||||
call q65wa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||
mousedf,mousefqso,nagain,nfshift,max_drift, &
|
||||
nfcal,mycall,hiscall,hisgrid,nfsample,nmode,ndepth, &
|
||||
datetime,ndop00)
|
||||
datetime,ndop00,fselected)
|
||||
call timer('q65wa ',1)
|
||||
|
||||
return
|
||||
|
@ -19,7 +19,7 @@ subroutine q65c(itimer)
|
||||
common/datcom2/dd(2,5760000),ss(322,NFFT),savg(NFFT),nparams0
|
||||
|
||||
!### REMEMBER that /npar/ is not updated until nparams=nparams0 is executed. ###
|
||||
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
||||
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
||||
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
||||
ndop00,nsave,max_drift,nhsym,mycall,mygrid,hiscall,hisgrid, &
|
||||
@ -35,21 +35,18 @@ subroutine q65c(itimer)
|
||||
return
|
||||
endif
|
||||
|
||||
! newdat=1
|
||||
! nagain=0
|
||||
write(*,3001) 'aa',newdat,nagain,nfa,nfb,ntol
|
||||
3001 format(a2,5i6)
|
||||
|
||||
datetime(18:20)=':00'
|
||||
npatience=1
|
||||
|
||||
! if(newdat.eq.0 .and. nagain.eq.1) then
|
||||
! nfa=nint(mousefqso+0.001*mousedf) - 1 !Minimal solution for
|
||||
! nfb=nint(mousefqso+0.001*mousedf) + 1 !double-click decodes
|
||||
! newdat=1
|
||||
if(nagain.eq.1) then
|
||||
! nfa=127
|
||||
! nfb=128
|
||||
newdat=1
|
||||
! nagain=0
|
||||
! endif
|
||||
write(*,3001) 'bb',newdat,nagain,nfa,nfb,ntol
|
||||
endif
|
||||
write(*,3001) 'aa',newdat,nagain,nfa,nfb,ntol,fselected
|
||||
3001 format(a2,5i6,f10.3)
|
||||
write(*,3001) 'bb',newdat,nagain,nfa,nfb,ntol,fselected
|
||||
|
||||
call timer('decode0 ',0)
|
||||
call decode0(dd,ss,savg)
|
||||
|
@ -1,6 +1,6 @@
|
||||
subroutine q65wa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||
mousedf,mousefqso,nagain,nfshift,max_drift,nfcal,mycall, &
|
||||
hiscall,hisgrid,nfsample,nmode,ndepth,datetime,ndop00)
|
||||
hiscall,hisgrid,nfsample,nmode,ndepth,datetime,ndop00,fselected)
|
||||
|
||||
! Processes timf2 data received from Linrad to find and decode Q65 signals.
|
||||
|
||||
@ -55,13 +55,18 @@ subroutine q65wa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||
|
||||
do icand=1,ncand !Attempt to decode each candidate
|
||||
f0=cand(icand)%f
|
||||
! if(f0-mfa.lt.0.0 .or. f0-mfb.gt.0.0) cycle
|
||||
print*,'cc',nagain,ntol,fselected,f0+nkhz_center-48.0
|
||||
if(nagain.eq.1 .and. abs(f0+nkhz_center-48.0 - fselected).gt.0.001*ntol) cycle
|
||||
nagain2=0
|
||||
print*,'dd',nagain,ntol,fselected,f0+nkhz_center-48.0
|
||||
freq=cand(icand)%f+nkhz_center-48.0-1.27046
|
||||
ikhz=nint(freq)
|
||||
idec=-1
|
||||
call timer('q65b ',0)
|
||||
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
||||
mycall,hiscall,hisgrid,mode_q65,f0,fqso,nkhz_center,newdat, &
|
||||
nagain,max_drift,ndepth,datetime,ndop00,idec)
|
||||
nagain2,max_drift,ndepth,datetime,ndop00,idec)
|
||||
call timer('q65b ',1)
|
||||
tsec=sec_midn() - tsec0
|
||||
if(tsec.gt.30.0) exit !Don't start another decode attempt after t=30 s.
|
||||
|
@ -229,7 +229,6 @@ void MainWindow::writeSettings()
|
||||
settings.setValue("SaveDir",m_saveDir);
|
||||
settings.setValue("AzElDir",m_azelDir);
|
||||
settings.setValue("Timeout",m_timeout);
|
||||
settings.setValue("dPhi",m_dPhi);
|
||||
settings.setValue("Fcal",m_fCal);
|
||||
settings.setValue("Fadd",m_fAdd);
|
||||
settings.setValue("NetworkInput", m_network);
|
||||
@ -277,7 +276,6 @@ void MainWindow::readSettings()
|
||||
m_saveDir=settings.value("SaveDir",m_appDir + "/save").toString();
|
||||
m_azelDir=settings.value("AzElDir",m_appDir).toString();
|
||||
m_timeout=settings.value("Timeout",20).toInt();
|
||||
m_dPhi=settings.value("dPhi",0).toInt();
|
||||
m_fCal=settings.value("Fcal",0).toInt();
|
||||
m_fAdd=settings.value("FAdd",0).toDouble();
|
||||
soundInThread.setFadd(m_fAdd);
|
||||
@ -456,7 +454,6 @@ void MainWindow::on_actionSettings_triggered()
|
||||
dlg.m_saveDir=m_saveDir;
|
||||
dlg.m_azelDir=m_azelDir;
|
||||
dlg.m_timeout=m_timeout;
|
||||
dlg.m_dPhi=m_dPhi;
|
||||
dlg.m_fCal=m_fCal;
|
||||
dlg.m_fAdd=m_fAdd;
|
||||
dlg.m_network=m_network;
|
||||
@ -474,7 +471,6 @@ void MainWindow::on_actionSettings_triggered()
|
||||
m_saveDir=dlg.m_saveDir;
|
||||
m_azelDir=dlg.m_azelDir;
|
||||
m_timeout=dlg.m_timeout;
|
||||
m_dPhi=dlg.m_dPhi;
|
||||
m_fCal=dlg.m_fCal;
|
||||
m_fAdd=dlg.m_fAdd;
|
||||
m_wide_graph_window->setFcal(m_fCal);
|
||||
@ -841,10 +837,8 @@ void MainWindow::freezeDecode(int n) //freezeDecode()
|
||||
|
||||
void MainWindow::decode() //decode()
|
||||
{
|
||||
|
||||
//Don't attempt to decode if decoder is already busy, or if we transmitted for 10 s or more.
|
||||
if(m_decoderBusy or m_nTransmitted>10) return;
|
||||
|
||||
QString fname=" ";
|
||||
ui->DecodeButton->setStyleSheet(m_pbdecoding_style1);
|
||||
|
||||
@ -856,9 +850,9 @@ void MainWindow::decode() //decode()
|
||||
datcom_.nutc=100*ihr + imin;
|
||||
}
|
||||
|
||||
datcom_.idphi=m_dPhi;
|
||||
datcom_.mousedf=m_wide_graph_window->DF();
|
||||
datcom_.mousefqso=m_wide_graph_window->QSOfreq();
|
||||
datcom_.fselected=datcom_.mousefqso + 0.001*datcom_.mousedf;
|
||||
datcom_.ndepth=m_ndepth+1;
|
||||
datcom_.ndiskdat=0;
|
||||
if(m_diskData) {
|
||||
@ -891,7 +885,7 @@ void MainWindow::decode() //decode()
|
||||
|
||||
datcom_.nfa=nfa;
|
||||
datcom_.nfb=nfb;
|
||||
qDebug() << "bbb" << datcom_.fcenter << datcom_.nfa << datcom_.nfb;
|
||||
qDebug() << "bbb" << datcom_.fcenter << datcom_.nfa << datcom_.nfb << datcom_.fselected;
|
||||
datcom_.nfcal=m_fCal;
|
||||
datcom_.nfshift=nfshift;
|
||||
datcom_.mcall3=0;
|
||||
|
@ -103,7 +103,6 @@ private:
|
||||
qint32 m_QSOfreq0;
|
||||
qint32 m_astroFont;
|
||||
qint32 m_timeout;
|
||||
qint32 m_dPhi;
|
||||
qint32 m_fCal;
|
||||
qint32 m_txFreq;
|
||||
qint32 m_setftx;
|
||||
@ -130,7 +129,7 @@ private:
|
||||
bool m_monitoring;
|
||||
bool m_diskData;
|
||||
bool m_loopall;
|
||||
bool m_decoderBusy;
|
||||
bool m_decoderBusy=false;
|
||||
bool m_restart;
|
||||
bool m_call3Modified;
|
||||
bool m_startAnother;
|
||||
|
@ -19,7 +19,7 @@ extern "C"
|
||||
float savg[NFFT];
|
||||
double fcenter;
|
||||
int nutc;
|
||||
int idphi; //Phase correction for Y pol'n, degrees
|
||||
float fselected; //Selected frequency for nagain decodes
|
||||
int mousedf; //User-selected DF
|
||||
int mousefqso; //User-selected QSO freq (kHz)
|
||||
int nagain; //1 ==> decode only at fQSO +/- Tol
|
||||
|
Loading…
Reference in New Issue
Block a user