Merge branch 'feat-map65-integration' of bitbucket.org:k1jt/wsjtx into feat-map65-integration

This commit is contained in:
Bill Somerville 2021-04-20 14:18:55 +01:00
commit 9626703daa
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
8 changed files with 46 additions and 24 deletions

View File

@ -38,6 +38,8 @@ extern struct { //This is "common/datcom/..." in Fortran
char hiscall[12];
char hisgrid[6];
char datetime[20];
char datadir[200];
char tempdir[200];
} datcom_;
}

View File

@ -8,16 +8,16 @@ subroutine decode0(dd,ss,savg,nstandalone)
integer hist(0:32768)
character mycall*12,hiscall*12,mygrid*6,hisgrid*6,datetime*20
character mycall0*12,hiscall0*12,hisgrid0*6
character*300 datadir,tempdir
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime,datadir,tempdir
common/tracer/ limtrace,lu
data neme0/-99/,mcall3b/1/
save
call timer('decode0 ',0)
if(newdat.ne.0) then
nz=52*96000
hist=0

View File

@ -13,12 +13,13 @@ program m65
common/tracer/limtrace,lu
real*8 fc0,fcenter
character*80 arg,infile
character*300 datadir,tempdir
character mycall*12,hiscall*12,mygrid*6,hisgrid*6,datetime*20
common/datcom/dd(4,5760000),ss(4,322,NFFT),savg(4,NFFT),fc0,nutc0,junk(36)
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime,datadir,tempdir
nargs=iargc()
if(nargs.ne.1 .and. nargs.lt.5) then

View File

@ -63,18 +63,41 @@ subroutine m65c(dd,ss,savg,nparams0)
integer*1 detach_m65
real*4 dd(4,5760000),ss(4,322,32768),savg(4,32768)
real*8 fcenter
integer nparams0(40),nparams(40)
integer nparams0(189),nparams(189)
character*12 mycall,hiscall
character*6 mygrid,hisgrid
character*20 datetime
character*300 datadir,tempdir
character*1 c0
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime,datadir,tempdir
equivalence (nparams,fcenter)
nparams=nparams0 !Copy parameters into common/npar/
npatience=1
i0=index(mycall,c0)
if(i0.gt.0) mycall=mycall(1:i0-1)
i0=index(mygrid,c0)
if(i0.gt.0) mygrid=mygrid(1:i0-1)
i0=index(hiscall,c0)
if(i0.gt.0) hiscall=hiscall(1:i0-1)
i0=index(hisgrid,c0)
if(i0.gt.0) hisgrid=hisgrid(1:i0-1)
i0=index(datetime,c0)
if(i0.gt.0) datetime=datetime(1:i0-1)
i0=index(datadir,c0)
if(i0.gt.0) datadir=datadir(1:i0-1)
i0=index(tempdir,c0)
if(i0.gt.0) tempdir=tempdir(1:i0-1)
if(iand(nrxlog,1).ne.0) then
write(21,1000) datetime(:17)
1000 format(/'UTC Date: 'a17/78('-'))

View File

@ -38,15 +38,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
nwrite_q65=0
bq65=mode_q65.gt.0
!###
write(71,3071) newdat,nutc,ntol,idphi,nfa,nfb, &
mousedf,mousefqso,nagain,ndecdone,ndiskdat,nfshift,ndphi, &
nfcal,nkeep,mcall3b,nsum,nsave,nxant,neme,ndepth, &
nhsym,nfsample,nxpol,nmode,mycall,mygrid,hiscall,hisgrid, &
sum(dd),sum(ss),sum(savg)
3071 format(16i5/9i6/a12,a6,2x,a12,a6/3e15.6)
!###
mcall3a=mcall3b
mousefqso0=mousefqso
xpol=(nxpol.ne.0)
@ -69,7 +60,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
nqdz=1
if(bq65 .and. (nutc0.ge.0 .or. (nstandalone.eq.1))) nqdz=2
! if(bq65) nqdz=2
write(69,*) nqdz,mousefqso
if(nutc.ne.nutc0) nfile=nfile+1
nutc0=nutc

View File

@ -25,9 +25,6 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
data first/.true./
save
write(72,*) nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
mycall0,hiscall0,hisgrid,mode_q65
if(first) then
open(9,file='wsjtx_dir.txt',status='old')
read(9,*) wsjtx_dir

View File

@ -292,6 +292,10 @@ MainWindow::MainWindow(QWidget *parent) :
if(ui->actionCuteSDR->isChecked()) on_actionCuteSDR_triggered();
if(ui->actionAFMHot->isChecked()) on_actionAFMHot_triggered();
if(ui->actionBlue->isChecked()) on_actionBlue_triggered();
m_dataDir = QStandardPaths::writableLocation (QStandardPaths::DataLocation);
m_tempDir = QStandardPaths::writableLocation (QStandardPaths::TempLocation) + "/map65";
// End of MainWindow constructor
}
@ -307,6 +311,7 @@ MainWindow::~MainWindow()
soundOutThread.quitExecution=true;
soundOutThread.wait(3000);
}
PaError paerr=Pa_Terminate();
if(!m_decoderBusy) {
QFile lockFile(m_appDir + "/.lock");
lockFile.remove();
@ -950,7 +955,6 @@ void MainWindow::OnExit()
{
g_pWideGraph->saveSettings();
m_killAll=true;
mem_m65.detach();
QFile quitFile(m_appDir + "/.quit");
quitFile.open(QIODevice::ReadWrite);
QFile lockFile(m_appDir + "/.lock");
@ -958,6 +962,7 @@ void MainWindow::OnExit()
bool b=proc_m65.waitForFinished(1000);
if(!b) proc_m65.kill();
quitFile.remove();
mem_m65.detach();
qApp->exit(0); // Exit the event loop
}
@ -1313,7 +1318,8 @@ void MainWindow::decode() //decode()
memcpy(datcom_.hiscall, hcall.toLatin1(), 12);
memcpy(datcom_.hisgrid, hgrid.toLatin1(), 6);
memcpy(datcom_.datetime, m_dateTime.toLatin1(), 20);
memcpy(datcom_.datadir, m_dataDir.toLatin1(),m_dataDir.length());
memcpy(datcom_.tempdir, m_tempDir.toLatin1(),m_tempDir.length());
//newdat=1 ==> this is new data, must do the big FFT
//nagain=1 ==> decode only at fQSO +/- Tol
@ -1326,6 +1332,7 @@ void MainWindow::decode() //decode()
from += noffset;
size -= noffset;
}
memcpy(to, from, qMin(mem_m65.size(), size));
datcom_.nagain=0;
datcom_.ndiskdat=0;

View File

@ -256,6 +256,8 @@ private:
QString m_colors;
QString m_editorCommand;
QString m_modeTx;
QString m_dataDir;
QString m_tempDir;
QHash<QString,bool> m_worked;