mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-28 15:09:02 -04:00
Merge branch 'feat-map65-integration' of bitbucket.org:k1jt/wsjtx into feat-map65-integration
This commit is contained in:
commit
9626703daa
@ -38,6 +38,8 @@ extern struct { //This is "common/datcom/..." in Fortran
|
|||||||
char hiscall[12];
|
char hiscall[12];
|
||||||
char hisgrid[6];
|
char hisgrid[6];
|
||||||
char datetime[20];
|
char datetime[20];
|
||||||
|
char datadir[200];
|
||||||
|
char tempdir[200];
|
||||||
} datcom_;
|
} datcom_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,16 +8,16 @@ subroutine decode0(dd,ss,savg,nstandalone)
|
|||||||
integer hist(0:32768)
|
integer hist(0:32768)
|
||||||
character mycall*12,hiscall*12,mygrid*6,hisgrid*6,datetime*20
|
character mycall*12,hiscall*12,mygrid*6,hisgrid*6,datetime*20
|
||||||
character mycall0*12,hiscall0*12,hisgrid0*6
|
character mycall0*12,hiscall0*12,hisgrid0*6
|
||||||
|
character*300 datadir,tempdir
|
||||||
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
||||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
||||||
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
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
|
common/tracer/ limtrace,lu
|
||||||
data neme0/-99/,mcall3b/1/
|
data neme0/-99/,mcall3b/1/
|
||||||
save
|
save
|
||||||
|
|
||||||
call timer('decode0 ',0)
|
call timer('decode0 ',0)
|
||||||
|
|
||||||
if(newdat.ne.0) then
|
if(newdat.ne.0) then
|
||||||
nz=52*96000
|
nz=52*96000
|
||||||
hist=0
|
hist=0
|
||||||
|
@ -13,12 +13,13 @@ program m65
|
|||||||
common/tracer/limtrace,lu
|
common/tracer/limtrace,lu
|
||||||
real*8 fc0,fcenter
|
real*8 fc0,fcenter
|
||||||
character*80 arg,infile
|
character*80 arg,infile
|
||||||
|
character*300 datadir,tempdir
|
||||||
character mycall*12,hiscall*12,mygrid*6,hisgrid*6,datetime*20
|
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/datcom/dd(4,5760000),ss(4,322,NFFT),savg(4,NFFT),fc0,nutc0,junk(36)
|
||||||
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
||||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
||||||
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
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()
|
nargs=iargc()
|
||||||
if(nargs.ne.1 .and. nargs.lt.5) then
|
if(nargs.ne.1 .and. nargs.lt.5) then
|
||||||
|
@ -63,18 +63,41 @@ subroutine m65c(dd,ss,savg,nparams0)
|
|||||||
integer*1 detach_m65
|
integer*1 detach_m65
|
||||||
real*4 dd(4,5760000),ss(4,322,32768),savg(4,32768)
|
real*4 dd(4,5760000),ss(4,322,32768),savg(4,32768)
|
||||||
real*8 fcenter
|
real*8 fcenter
|
||||||
integer nparams0(40),nparams(40)
|
integer nparams0(189),nparams(189)
|
||||||
character*12 mycall,hiscall
|
character*12 mycall,hiscall
|
||||||
character*6 mygrid,hisgrid
|
character*6 mygrid,hisgrid
|
||||||
character*20 datetime
|
character*20 datetime
|
||||||
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
character*300 datadir,tempdir
|
||||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
character*1 c0
|
||||||
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
common/npar/fcenter,nutc,idphi,mousedf,mousefqso,nagain, &
|
||||||
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime
|
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
||||||
|
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
||||||
|
nfast,nsave,mycall,mygrid,hiscall,hisgrid,datetime,datadir,tempdir
|
||||||
equivalence (nparams,fcenter)
|
equivalence (nparams,fcenter)
|
||||||
|
|
||||||
nparams=nparams0 !Copy parameters into common/npar/
|
nparams=nparams0 !Copy parameters into common/npar/
|
||||||
npatience=1
|
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
|
if(iand(nrxlog,1).ne.0) then
|
||||||
write(21,1000) datetime(:17)
|
write(21,1000) datetime(:17)
|
||||||
1000 format(/'UTC Date: 'a17/78('-'))
|
1000 format(/'UTC Date: 'a17/78('-'))
|
||||||
|
@ -38,15 +38,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
nwrite_q65=0
|
nwrite_q65=0
|
||||||
bq65=mode_q65.gt.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
|
mcall3a=mcall3b
|
||||||
mousefqso0=mousefqso
|
mousefqso0=mousefqso
|
||||||
xpol=(nxpol.ne.0)
|
xpol=(nxpol.ne.0)
|
||||||
@ -69,7 +60,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
nqdz=1
|
nqdz=1
|
||||||
if(bq65 .and. (nutc0.ge.0 .or. (nstandalone.eq.1))) nqdz=2
|
if(bq65 .and. (nutc0.ge.0 .or. (nstandalone.eq.1))) nqdz=2
|
||||||
! if(bq65) nqdz=2
|
! if(bq65) nqdz=2
|
||||||
write(69,*) nqdz,mousefqso
|
|
||||||
if(nutc.ne.nutc0) nfile=nfile+1
|
if(nutc.ne.nutc0) nfile=nfile+1
|
||||||
nutc0=nutc
|
nutc0=nutc
|
||||||
|
|
||||||
|
@ -25,9 +25,6 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
|||||||
data first/.true./
|
data first/.true./
|
||||||
save
|
save
|
||||||
|
|
||||||
write(72,*) nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
|
||||||
mycall0,hiscall0,hisgrid,mode_q65
|
|
||||||
|
|
||||||
if(first) then
|
if(first) then
|
||||||
open(9,file='wsjtx_dir.txt',status='old')
|
open(9,file='wsjtx_dir.txt',status='old')
|
||||||
read(9,*) wsjtx_dir
|
read(9,*) wsjtx_dir
|
||||||
|
@ -292,6 +292,10 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
if(ui->actionCuteSDR->isChecked()) on_actionCuteSDR_triggered();
|
if(ui->actionCuteSDR->isChecked()) on_actionCuteSDR_triggered();
|
||||||
if(ui->actionAFMHot->isChecked()) on_actionAFMHot_triggered();
|
if(ui->actionAFMHot->isChecked()) on_actionAFMHot_triggered();
|
||||||
if(ui->actionBlue->isChecked()) on_actionBlue_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
|
// End of MainWindow constructor
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,6 +311,7 @@ MainWindow::~MainWindow()
|
|||||||
soundOutThread.quitExecution=true;
|
soundOutThread.quitExecution=true;
|
||||||
soundOutThread.wait(3000);
|
soundOutThread.wait(3000);
|
||||||
}
|
}
|
||||||
|
PaError paerr=Pa_Terminate();
|
||||||
if(!m_decoderBusy) {
|
if(!m_decoderBusy) {
|
||||||
QFile lockFile(m_appDir + "/.lock");
|
QFile lockFile(m_appDir + "/.lock");
|
||||||
lockFile.remove();
|
lockFile.remove();
|
||||||
@ -950,7 +955,6 @@ void MainWindow::OnExit()
|
|||||||
{
|
{
|
||||||
g_pWideGraph->saveSettings();
|
g_pWideGraph->saveSettings();
|
||||||
m_killAll=true;
|
m_killAll=true;
|
||||||
mem_m65.detach();
|
|
||||||
QFile quitFile(m_appDir + "/.quit");
|
QFile quitFile(m_appDir + "/.quit");
|
||||||
quitFile.open(QIODevice::ReadWrite);
|
quitFile.open(QIODevice::ReadWrite);
|
||||||
QFile lockFile(m_appDir + "/.lock");
|
QFile lockFile(m_appDir + "/.lock");
|
||||||
@ -958,6 +962,7 @@ void MainWindow::OnExit()
|
|||||||
bool b=proc_m65.waitForFinished(1000);
|
bool b=proc_m65.waitForFinished(1000);
|
||||||
if(!b) proc_m65.kill();
|
if(!b) proc_m65.kill();
|
||||||
quitFile.remove();
|
quitFile.remove();
|
||||||
|
mem_m65.detach();
|
||||||
qApp->exit(0); // Exit the event loop
|
qApp->exit(0); // Exit the event loop
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1313,7 +1318,8 @@ void MainWindow::decode() //decode()
|
|||||||
memcpy(datcom_.hiscall, hcall.toLatin1(), 12);
|
memcpy(datcom_.hiscall, hcall.toLatin1(), 12);
|
||||||
memcpy(datcom_.hisgrid, hgrid.toLatin1(), 6);
|
memcpy(datcom_.hisgrid, hgrid.toLatin1(), 6);
|
||||||
memcpy(datcom_.datetime, m_dateTime.toLatin1(), 20);
|
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
|
//newdat=1 ==> this is new data, must do the big FFT
|
||||||
//nagain=1 ==> decode only at fQSO +/- Tol
|
//nagain=1 ==> decode only at fQSO +/- Tol
|
||||||
|
|
||||||
@ -1326,6 +1332,7 @@ void MainWindow::decode() //decode()
|
|||||||
from += noffset;
|
from += noffset;
|
||||||
size -= noffset;
|
size -= noffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(to, from, qMin(mem_m65.size(), size));
|
memcpy(to, from, qMin(mem_m65.size(), size));
|
||||||
datcom_.nagain=0;
|
datcom_.nagain=0;
|
||||||
datcom_.ndiskdat=0;
|
datcom_.ndiskdat=0;
|
||||||
|
@ -256,6 +256,8 @@ private:
|
|||||||
QString m_colors;
|
QString m_colors;
|
||||||
QString m_editorCommand;
|
QString m_editorCommand;
|
||||||
QString m_modeTx;
|
QString m_modeTx;
|
||||||
|
QString m_dataDir;
|
||||||
|
QString m_tempDir;
|
||||||
|
|
||||||
QHash<QString,bool> m_worked;
|
QHash<QString,bool> m_worked;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user