mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-06-25 06:35:17 -04:00
QMAP work in progress: cleaning up the enabling of Q65-30x decodes.
This commit is contained in:
parent
1d21dff93f
commit
673f74e67b
@ -17,14 +17,14 @@ extern struct { //This is "common/datcom/..." in Fortran
|
|||||||
int nagain; //1 ==> decode only at fQSO +/- Tol
|
int nagain; //1 ==> decode only at fQSO +/- Tol
|
||||||
int ndepth; //How much hinted decoding to do?
|
int ndepth; //How much hinted decoding to do?
|
||||||
int ndiskdat; //1 ==> data read from *.iq file
|
int ndiskdat; //1 ==> data read from *.iq file
|
||||||
int neme; //Hinted decoding tries only for EME calls
|
int ntx60; //Number of seconds transmitted in Q65-60x
|
||||||
int newdat; //1 ==> new data, must do long FFT
|
int newdat; //1 ==> new data, must do long FFT
|
||||||
int nfa; //Low decode limit (kHz)
|
int nfa; //Low decode limit (kHz)
|
||||||
int nfb; //High decode limit (kHz)
|
int nfb; //High decode limit (kHz)
|
||||||
int nfcal; //Frequency correction, for calibration (Hz)
|
int nfcal; //Frequency correction, for calibration (Hz)
|
||||||
int nfshift; //Shift of displayed center freq (kHz)
|
int nfshift; //Shift of displayed center freq (kHz)
|
||||||
int mcall3; //1 ==> CALL3.TXT has been modified
|
int ntx30a; //Number of seconds transmitted in first half minute , Q65-30x
|
||||||
int ntimeout; //Max for timeouts in Messages and BandMap
|
int ntx30b; //Number of seconds transmitted in second half minute, Q65-30x
|
||||||
int ntol; //+/- decoding range around fQSO (Hz)
|
int ntol; //+/- decoding range around fQSO (Hz)
|
||||||
int nxant; //1 ==> add 45 deg to measured pol angle
|
int nxant; //1 ==> add 45 deg to measured pol angle
|
||||||
int nCFOM; //1 ==> CFOM already done, 0 otherwise
|
int nCFOM; //1 ==> CFOM already done, 0 otherwise
|
||||||
@ -58,14 +58,14 @@ extern struct { //This is "common/datcom/..." in Fortran
|
|||||||
int nagain; //1 ==> decode only at fQSO +/- Tol
|
int nagain; //1 ==> decode only at fQSO +/- Tol
|
||||||
int ndepth; //How much hinted decoding to do?
|
int ndepth; //How much hinted decoding to do?
|
||||||
int ndiskdat; //1 ==> data read from *.iq file
|
int ndiskdat; //1 ==> data read from *.iq file
|
||||||
int neme; //Hinted decoding tries only for EME calls
|
int ntx60; //Number of seconds transmitted in Q65-60x
|
||||||
int newdat; //1 ==> new data, must do long FFT
|
int newdat; //1 ==> new data, must do long FFT
|
||||||
int nfa; //Low decode limit (kHz)
|
int nfa; //Low decode limit (kHz)
|
||||||
int nfb; //High decode limit (kHz)
|
int nfb; //High decode limit (kHz)
|
||||||
int nfcal; //Frequency correction, for calibration (Hz)
|
int nfcal; //Frequency correction, for calibration (Hz)
|
||||||
int nfshift; //Shift of displayed center freq (kHz)
|
int nfshift; //Shift of displayed center freq (kHz)
|
||||||
int mcall3; //1 ==> CALL3.TXT has been modified
|
int ntx30a; //Number of seconds transmitted in first half minute , Q65-30x
|
||||||
int ntimeout; //Max for timeouts in Messages and BandMap
|
int ntx30b; //Number of seconds transmitted in second half minute, Q65-30x
|
||||||
int ntol; //+/- decoding range around fQSO (Hz)
|
int ntol; //+/- decoding range around fQSO (Hz)
|
||||||
int nxant; //1 ==> add 45 deg to measured pol angle
|
int nxant; //1 ==> add 45 deg to measured pol angle
|
||||||
int nCFOM; //1 ==> CFOM already done, 0 otherwise
|
int nCFOM; //1 ==> CFOM already done, 0 otherwise
|
||||||
|
@ -14,11 +14,10 @@ subroutine decode0(dd,ss,savg)
|
|||||||
common/decodes/ndecodes,ncand,nQDecoderDone,nWDecoderBusy, &
|
common/decodes/ndecodes,ncand,nQDecoderDone,nWDecoderBusy, &
|
||||||
nWTransmitting,result(50)
|
nWTransmitting,result(50)
|
||||||
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
||||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
ndepth,ndiskdat,ntx60,newdat,nfa,nfb,nfcal,nfshift, &
|
||||||
mcall3,nkeep,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
|
ntx30a,ntx30b,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
|
||||||
ndop00,nsave,max_drift,offset,nhsym,mycall,mygrid, &
|
ndop00,nsave,max_drift,offset,nhsym,mycall,mygrid, &
|
||||||
hiscall,hisgrid,datetime,junk1,junk2,bAlso30
|
hiscall,hisgrid,datetime,junk1,junk2,bAlso30
|
||||||
data neme0/-99/
|
|
||||||
save
|
save
|
||||||
|
|
||||||
nQDecoderDone=0
|
nQDecoderDone=0
|
||||||
@ -42,7 +41,6 @@ subroutine decode0(dd,ss,savg)
|
|||||||
mycall0=mycall
|
mycall0=mycall
|
||||||
hiscall0=hiscall
|
hiscall0=hiscall
|
||||||
hisgrid0=hisgrid
|
hisgrid0=hisgrid
|
||||||
neme0=neme
|
|
||||||
|
|
||||||
call timer('qmapa ',0)
|
call timer('qmapa ',0)
|
||||||
call qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
call qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||||
|
@ -21,8 +21,8 @@ subroutine q65c(itimer)
|
|||||||
|
|
||||||
!### REMEMBER that /npar/ is not updated until nparams=nparams0 is executed. ###
|
!### REMEMBER that /npar/ is not updated until nparams=nparams0 is executed. ###
|
||||||
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
||||||
ndepth,ndiskdat,neme,newdat,nn1,nn2,nfcal,nfshift, &
|
ndepth,ndiskdat,ntx60,newdat,nn1,nn2,nfcal,nfshift, &
|
||||||
mcall3,nkeep,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
|
ntx30a,ntx30b,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
|
||||||
ndop00,nsave,nn3,nn4,max_nhsym,mycall,mygrid,hiscall,hisgrid, &
|
ndop00,nsave,nn3,nn4,max_nhsym,mycall,mygrid,hiscall,hisgrid, &
|
||||||
datetime,junk1,junk2,bAlso30
|
datetime,junk1,junk2,bAlso30
|
||||||
equivalence (nparams,fcenter)
|
equivalence (nparams,fcenter)
|
||||||
@ -38,9 +38,11 @@ subroutine q65c(itimer)
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
print*,'A',max_nhsym,ntx30a,ntx30b,ntx60,junk1,junk2,bAlso30
|
||||||
npatience=1
|
npatience=1
|
||||||
newdat=1 !Always on ??
|
newdat=1 !Always on ??
|
||||||
|
|
||||||
|
! call chkstat(dd,max_nhsym,ntx30a,ntx30b,ntx60,bSkip)
|
||||||
call chkstat(dd,max_nhsym,bSkip)
|
call chkstat(dd,max_nhsym,bSkip)
|
||||||
if(bSkip .and. nagain.eq.0) return
|
if(bSkip .and. nagain.eq.0) return
|
||||||
|
|
||||||
|
@ -242,8 +242,6 @@ void MainWindow::writeSettings()
|
|||||||
settings.setValue("SaveNone",ui->actionNone->isChecked());
|
settings.setValue("SaveNone",ui->actionNone->isChecked());
|
||||||
settings.setValue("SaveAll",ui->actionSave_all->isChecked());
|
settings.setValue("SaveAll",ui->actionSave_all->isChecked());
|
||||||
settings.setValue("ContinuousWaterfall",ui->continuous_waterfall->isChecked());
|
settings.setValue("ContinuousWaterfall",ui->continuous_waterfall->isChecked());
|
||||||
settings.setValue("NEME",m_onlyEME);
|
|
||||||
settings.setValue("KB8RQ",m_kb8rq);
|
|
||||||
settings.setValue("NB",m_NB);
|
settings.setValue("NB",m_NB);
|
||||||
settings.setValue("NBslider",m_NBslider);
|
settings.setValue("NBslider",m_NBslider);
|
||||||
settings.setValue("MaxDrift",ui->sbMaxDrift->value());
|
settings.setValue("MaxDrift",ui->sbMaxDrift->value());
|
||||||
@ -296,9 +294,6 @@ void MainWindow::readSettings()
|
|||||||
ui->actionSave_all->setChecked(settings.value("SaveAll",false).toBool());
|
ui->actionSave_all->setChecked(settings.value("SaveAll",false).toBool());
|
||||||
ui->continuous_waterfall->setChecked(settings.value("ContinuousWaterfall",false).toBool());
|
ui->continuous_waterfall->setChecked(settings.value("ContinuousWaterfall",false).toBool());
|
||||||
m_saveAll=ui->actionSave_all->isChecked();
|
m_saveAll=ui->actionSave_all->isChecked();
|
||||||
m_onlyEME=settings.value("NEME",false).toBool();
|
|
||||||
ui->actionOnly_EME_calls->setChecked(m_onlyEME);
|
|
||||||
m_kb8rq=settings.value("KB8RQ",false).toBool();
|
|
||||||
m_NB=settings.value("NB",false).toBool();
|
m_NB=settings.value("NB",false).toBool();
|
||||||
ui->NBcheckBox->setChecked(m_NB);
|
ui->NBcheckBox->setChecked(m_NB);
|
||||||
ui->sbMaxDrift->setValue(settings.value("MaxDrift",0).toInt());
|
ui->sbMaxDrift->setValue(settings.value("MaxDrift",0).toInt());
|
||||||
@ -423,7 +418,7 @@ void MainWindow::dataSink(int k)
|
|||||||
*future2 = QtConcurrent::run(save_iq, fname, m_bCFOM);
|
*future2 = QtConcurrent::run(save_iq, fname, m_bCFOM);
|
||||||
watcher2->setFuture(*future2);
|
watcher2->setFuture(*future2);
|
||||||
}
|
}
|
||||||
if(ihsym==200) m_nTx30=0;
|
if(ihsym==200) m_nTx30b=0;
|
||||||
if(ihsym==m_hsymStop) m_nTx60=0;
|
if(ihsym==m_hsymStop) m_nTx60=0;
|
||||||
}
|
}
|
||||||
soundInThread.m_dataSinkBusy=false;
|
soundInThread.m_dataSinkBusy=false;
|
||||||
@ -847,8 +842,6 @@ void MainWindow::decode() //decode()
|
|||||||
fname=m_path.mid(i0-11,11);
|
fname=m_path.mid(i0-11,11);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
datcom_.neme=0;
|
|
||||||
if(ui->actionOnly_EME_calls->isChecked()) datcom_.neme=1;
|
|
||||||
|
|
||||||
int ispan=int(m_wide_graph_window->fSpan());
|
int ispan=int(m_wide_graph_window->fSpan());
|
||||||
if(ispan%2 == 1) ispan++;
|
if(ispan%2 == 1) ispan++;
|
||||||
@ -861,9 +854,6 @@ void MainWindow::decode() //decode()
|
|||||||
datcom_.nfb=nfb;
|
datcom_.nfb=nfb;
|
||||||
datcom_.nfcal=m_fCal;
|
datcom_.nfcal=m_fCal;
|
||||||
datcom_.nfshift=nfshift;
|
datcom_.nfshift=nfshift;
|
||||||
datcom_.mcall3=0;
|
|
||||||
if(m_call3Modified) datcom_.mcall3=1;
|
|
||||||
datcom_.ntimeout=m_timeout;
|
|
||||||
datcom_.ntol=m_tol;
|
datcom_.ntol=m_tol;
|
||||||
datcom_.nxant=0;
|
datcom_.nxant=0;
|
||||||
m_nutc0=datcom_.nutc;
|
m_nutc0=datcom_.nutc;
|
||||||
@ -887,6 +877,9 @@ void MainWindow::decode() //decode()
|
|||||||
} else {
|
} else {
|
||||||
memcpy(datcom_.datetime, m_dateTime.toLatin1(), 11);
|
memcpy(datcom_.datetime, m_dateTime.toLatin1(), 11);
|
||||||
}
|
}
|
||||||
|
datcom_.ntx30a=m_nTx30a;
|
||||||
|
datcom_.ntx30b=m_nTx30b;
|
||||||
|
datcom_.ntx60=m_nTx60;
|
||||||
datcom_.junk1=1234; //Check for these values in m65
|
datcom_.junk1=1234; //Check for these values in m65
|
||||||
datcom_.junk2=5678;
|
datcom_.junk2=5678;
|
||||||
datcom_.bAlso30=m_bAlso30;
|
datcom_.bAlso30=m_bAlso30;
|
||||||
@ -905,7 +898,7 @@ void MainWindow::decode() //decode()
|
|||||||
}
|
}
|
||||||
decodes_.ncand=0;
|
decodes_.ncand=0;
|
||||||
decodes_.nQDecoderDone=0;
|
decodes_.nQDecoderDone=0;
|
||||||
if(m_nTx30<5) {
|
if(m_nTx30a<5 or m_nTx30b<5 ) {
|
||||||
watcher3.setFuture(QtConcurrent::run (std::bind (q65c_, &m_zero)));
|
watcher3.setFuture(QtConcurrent::run (std::bind (q65c_, &m_zero)));
|
||||||
decodeBusy(true);
|
decodeBusy(true);
|
||||||
}
|
}
|
||||||
@ -998,17 +991,19 @@ void MainWindow::guiUpdate()
|
|||||||
if(itest[4]>0) {
|
if(itest[4]>0) {
|
||||||
m_WSJTX_TRperiod=itest[4];
|
m_WSJTX_TRperiod=itest[4];
|
||||||
m_bWTransmitting=true;
|
m_bWTransmitting=true;
|
||||||
if(m_WSJTX_TRperiod==30) m_nTx30++;
|
if(m_WSJTX_TRperiod==30 and n60<30) m_nTx30a++;
|
||||||
|
if(m_WSJTX_TRperiod==30 and n60>=30) m_nTx30b++;
|
||||||
if(m_WSJTX_TRperiod==60) m_nTx60++;
|
if(m_WSJTX_TRperiod==60) m_nTx60++;
|
||||||
} else {
|
} else {
|
||||||
m_bWTransmitting=false;
|
m_bWTransmitting=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// qDebug() << "AAA" << n60 << m_bWTransmitting << m_nTx60 << m_nTx30
|
// qDebug() << "AAA" << n60 << m_bWTransmitting << m_nTx60 << m_nTx30a << m_nTx30b
|
||||||
// << itest[0] << itest[1] << itest[2] << itest[3] << itest[4];
|
// << itest[0] << itest[1] << itest[2] << itest[3] << itest[4];
|
||||||
|
|
||||||
if(n60<n60z) {
|
if(n60<n60z) {
|
||||||
m_nTx30=0;
|
m_nTx30a=0;
|
||||||
|
m_nTx30b=0;
|
||||||
m_nTx60=0;
|
m_nTx60=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,7 +117,8 @@ private:
|
|||||||
qint32 m_dB;
|
qint32 m_dB;
|
||||||
qint32 m_fetched=0;
|
qint32 m_fetched=0;
|
||||||
qint32 m_hsymStop=390; //390*0.15 = 58.5 s
|
qint32 m_hsymStop=390; //390*0.15 = 58.5 s
|
||||||
qint32 m_nTx30=0;
|
qint32 m_nTx30a=0;
|
||||||
|
qint32 m_nTx30b=0;
|
||||||
qint32 m_nTx60=0;
|
qint32 m_nTx60=0;
|
||||||
qint32 m_nDoubleClicked=0;
|
qint32 m_nDoubleClicked=0;
|
||||||
qint32 m_nline=0;
|
qint32 m_nline=0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user