QMAP work in progress: cleaning up the enabling of Q65-30x decodes.

This commit is contained in:
Joe Taylor 2024-01-01 09:46:09 -05:00
parent 1d21dff93f
commit 673f74e67b
5 changed files with 24 additions and 28 deletions

View File

@ -17,14 +17,14 @@ extern struct { //This is "common/datcom/..." in Fortran
int nagain; //1 ==> decode only at fQSO +/- Tol
int ndepth; //How much hinted decoding to do?
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 nfa; //Low decode limit (kHz)
int nfb; //High decode limit (kHz)
int nfcal; //Frequency correction, for calibration (Hz)
int nfshift; //Shift of displayed center freq (kHz)
int mcall3; //1 ==> CALL3.TXT has been modified
int ntimeout; //Max for timeouts in Messages and BandMap
int ntx30a; //Number of seconds transmitted in first half minute , Q65-30x
int ntx30b; //Number of seconds transmitted in second half minute, Q65-30x
int ntol; //+/- decoding range around fQSO (Hz)
int nxant; //1 ==> add 45 deg to measured pol angle
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 ndepth; //How much hinted decoding to do?
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 nfa; //Low decode limit (kHz)
int nfb; //High decode limit (kHz)
int nfcal; //Frequency correction, for calibration (Hz)
int nfshift; //Shift of displayed center freq (kHz)
int mcall3; //1 ==> CALL3.TXT has been modified
int ntimeout; //Max for timeouts in Messages and BandMap
int ntx30a; //Number of seconds transmitted in first half minute , Q65-30x
int ntx30b; //Number of seconds transmitted in second half minute, Q65-30x
int ntol; //+/- decoding range around fQSO (Hz)
int nxant; //1 ==> add 45 deg to measured pol angle
int nCFOM; //1 ==> CFOM already done, 0 otherwise

View File

@ -14,11 +14,10 @@ subroutine decode0(dd,ss,savg)
common/decodes/ndecodes,ncand,nQDecoderDone,nWDecoderBusy, &
nWTransmitting,result(50)
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
mcall3,nkeep,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
ndepth,ndiskdat,ntx60,newdat,nfa,nfb,nfcal,nfshift, &
ntx30a,ntx30b,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
ndop00,nsave,max_drift,offset,nhsym,mycall,mygrid, &
hiscall,hisgrid,datetime,junk1,junk2,bAlso30
data neme0/-99/
save
nQDecoderDone=0
@ -42,7 +41,6 @@ subroutine decode0(dd,ss,savg)
mycall0=mycall
hiscall0=hiscall
hisgrid0=hisgrid
neme0=neme
call timer('qmapa ',0)
call qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &

View File

@ -21,8 +21,8 @@ subroutine q65c(itimer)
!### REMEMBER that /npar/ is not updated until nparams=nparams0 is executed. ###
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
ndepth,ndiskdat,neme,newdat,nn1,nn2,nfcal,nfshift, &
mcall3,nkeep,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
ndepth,ndiskdat,ntx60,newdat,nn1,nn2,nfcal,nfshift, &
ntx30a,ntx30b,ntol,nxant,nCFOM,nfsample,nxpol,nmode, &
ndop00,nsave,nn3,nn4,max_nhsym,mycall,mygrid,hiscall,hisgrid, &
datetime,junk1,junk2,bAlso30
equivalence (nparams,fcenter)
@ -38,9 +38,11 @@ subroutine q65c(itimer)
return
endif
print*,'A',max_nhsym,ntx30a,ntx30b,ntx60,junk1,junk2,bAlso30
npatience=1
newdat=1 !Always on ??
! call chkstat(dd,max_nhsym,ntx30a,ntx30b,ntx60,bSkip)
call chkstat(dd,max_nhsym,bSkip)
if(bSkip .and. nagain.eq.0) return

View File

@ -242,8 +242,6 @@ void MainWindow::writeSettings()
settings.setValue("SaveNone",ui->actionNone->isChecked());
settings.setValue("SaveAll",ui->actionSave_all->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("NBslider",m_NBslider);
settings.setValue("MaxDrift",ui->sbMaxDrift->value());
@ -296,9 +294,6 @@ void MainWindow::readSettings()
ui->actionSave_all->setChecked(settings.value("SaveAll",false).toBool());
ui->continuous_waterfall->setChecked(settings.value("ContinuousWaterfall",false).toBool());
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();
ui->NBcheckBox->setChecked(m_NB);
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);
watcher2->setFuture(*future2);
}
if(ihsym==200) m_nTx30=0;
if(ihsym==200) m_nTx30b=0;
if(ihsym==m_hsymStop) m_nTx60=0;
}
soundInThread.m_dataSinkBusy=false;
@ -847,8 +842,6 @@ void MainWindow::decode() //decode()
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());
if(ispan%2 == 1) ispan++;
@ -861,9 +854,6 @@ void MainWindow::decode() //decode()
datcom_.nfb=nfb;
datcom_.nfcal=m_fCal;
datcom_.nfshift=nfshift;
datcom_.mcall3=0;
if(m_call3Modified) datcom_.mcall3=1;
datcom_.ntimeout=m_timeout;
datcom_.ntol=m_tol;
datcom_.nxant=0;
m_nutc0=datcom_.nutc;
@ -887,6 +877,9 @@ void MainWindow::decode() //decode()
} else {
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_.junk2=5678;
datcom_.bAlso30=m_bAlso30;
@ -905,7 +898,7 @@ void MainWindow::decode() //decode()
}
decodes_.ncand=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)));
decodeBusy(true);
}
@ -998,17 +991,19 @@ void MainWindow::guiUpdate()
if(itest[4]>0) {
m_WSJTX_TRperiod=itest[4];
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++;
} else {
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];
if(n60<n60z) {
m_nTx30=0;
m_nTx30a=0;
m_nTx30b=0;
m_nTx60=0;
}

View File

@ -117,7 +117,8 @@ private:
qint32 m_dB;
qint32 m_fetched=0;
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_nDoubleClicked=0;
qint32 m_nline=0;