From 53e0b76e48cab9dd36b0e1dbd64fe073cda8db96 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 10 Jan 2017 18:17:32 +0000 Subject: [PATCH] Create a "Decode QRA64" option and send its flag to m65. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@7478 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- libm65/decode1a.f90 | 8 ++++---- libm65/map65a.f90 | 8 +++++--- mainwindow.cpp | 10 ++++++++++ mainwindow.h | 2 ++ mainwindow.ui | 10 ++++++++++ 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/libm65/decode1a.f90 b/libm65/decode1a.f90 index 8a616e1b2..d098ad51e 100644 --- a/libm65/decode1a.f90 +++ b/libm65/decode1a.f90 @@ -1,6 +1,6 @@ -subroutine decode1a(dd,newdat,f0,nflip,mode65,nfast,nfsample,xpol, & - mycall,hiscall,hisgrid,neme,ndepth,nqd,dphi,ndphi,iloop, & - nutc,nkhz,ndf,ipol,ntol,sync2,a,dt,pol,nkv,nhist,nsum,nsave, & +subroutine decode1a(dd,newdat,f0,nflip,mode65,nfast,nfsample,xpol, & + mycall,hiscall,hisgrid,neme,ndepth,nqd,dphi,ndphi,iloop, & + nutc,nkhz,ndf,ipol,ntol,bqra64,sync2,a,dt,pol,nkv,nhist,nsum,nsave, & qual,decoded) ! Apply AFC corrections to a candidate JT65 signal, then decode it. @@ -14,7 +14,7 @@ subroutine decode1a(dd,newdat,f0,nflip,mode65,nfast,nfsample,xpol, & real s2(66,126) real s3(64,63),sy(63) real a(5) - logical first,xpol + logical first,xpol,bqra64 character decoded*22 character mycall*12,hiscall*12,hisgrid*6 data first/.true./,jjjmin/1000/,jjjmax/-1000/ diff --git a/libm65/map65a.f90 b/libm65/map65a.f90 index 3b7bfbd3c..9e99f592a 100644 --- a/libm65/map65a.f90 +++ b/libm65/map65a.f90 @@ -21,7 +21,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & character mycall*12,hiscall*12,mygrid*6,hisgrid*6,grid*6,cp*1 integer indx(MAXMSG),nsiz(MAXMSG) logical done(MAXMSG) - logical xpol + logical xpol,bqra64 character decoded*22,blank*22,cmode*2 real short(3,NFFT) !SNR dt ipol for potential shorthands real qphi(12) @@ -33,6 +33,8 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & data nfile/0/,nutc0/-999/,nid/0/,ip000/1/,ip001/1/,mousefqso0/-999/ save + bqra64=nfast.ge.100 + nfast=mod(nfast,100) mcall3a=mcall3b mousefqso0=mousefqso xpol=(nxpol.ne.0) @@ -210,8 +212,8 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & idf=nint(1000.0*(freq+0.5*(nfa+nfb)-foffset-(ikHz+nfshift))) call decode1a(dd,newdat,f00,nflip,mode65,nfast,nfsample, & xpol,mycall,hiscall,hisgrid,neme,ndepth,nqd,dphi, & - ndphi,iloop,nutc,ikHz,idf,ipol,ntol,sync2,a,dt, & - pol,nkv,nhist,nsum,nsave,qual,decoded) + ndphi,iloop,nutc,ikHz,idf,ipol,ntol,bqra64,sync2, & + a,dt,pol,nkv,nhist,nsum,nsave,qual,decoded) call timer('decode1a',1) if(km.lt.MAXMSG) km=km+1 diff --git a/mainwindow.cpp b/mainwindow.cpp index 7007f67e3..0e1cdeb58 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -152,6 +152,7 @@ MainWindow::MainWindow(QWidget *parent) : m_colors="000066ff0000ffff00969696646464"; m_nfast=1; m_nsave=0; + m_bQRA64=false; bTune=false; txPower=100; iqAmp=0; @@ -371,6 +372,7 @@ void MainWindow::writeSettings() settings.setValue("NDepth",m_ndepth); settings.setValue("NEME",m_onlyEME); settings.setValue("KB8RQ",m_kb8rq); + settings.setValue("DecodeQRA64",m_bQRA64); settings.setValue("NB",m_NB); settings.setValue("NBslider",m_NBslider); settings.setValue("GainX",(double)m_gainx); @@ -462,6 +464,8 @@ void MainWindow::readSettings() ui->actionOnly_EME_calls->setChecked(m_onlyEME); m_kb8rq=settings.value("KB8RQ",false).toBool(); ui->actionF4_sets_Tx6->setChecked(m_kb8rq); + m_bQRA64=settings.value("DecodeQRA64",false).toBool(); + ui->actionDecode_QRA64_near_QSO_frequency->setChecked(m_bQRA64); m_NB=settings.value("NB",false).toBool(); ui->NBcheckBox->setChecked(m_NB); m_NBslider=settings.value("NBslider",40).toInt(); @@ -1258,6 +1262,7 @@ void MainWindow::decode() //decode() if(m_xpol) datcom_.nxpol=1; datcom_.mode65=m_mode65; datcom_.nfast=m_nfast; + if(m_bQRA64) datcom_.nfast += 100; datcom_.nsave=m_nsave; QString mcall=(m_myCall+" ").mid(0,12); @@ -2159,3 +2164,8 @@ void MainWindow::on_actionTx_Tune_triggered() g_pTxTune->set_txPower(txPower); g_pTxTune->show(); } + +void MainWindow::on_actionDecode_QRA64_near_QSO_frequency_triggered(bool b) +{ + m_bQRA64=b; +} diff --git a/mainwindow.h b/mainwindow.h index 2268f2533..11c4d7c8b 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -128,6 +128,7 @@ private slots: void on_actionJT65C2_triggered(); void on_actionEdit_wsjt_log_triggered(); void on_actionTx_Tune_triggered(); + void on_actionDecode_QRA64_near_QSO_frequency_triggered(bool b); private: Ui::MainWindow *ui; @@ -196,6 +197,7 @@ private: bool m_10db; bool m_initIQplus; bool m_bIQxt; + bool m_bQRA64; float m_gainx; float m_gainy; diff --git a/mainwindow.ui b/mainwindow.ui index 735362017..960c0fcb3 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -1142,6 +1142,8 @@ p, li { white-space: pre-wrap; } + + @@ -1544,6 +1546,14 @@ p, li { white-space: pre-wrap; } Alt+T + + + true + + + Decode QRA64 near QSO frequency + +