Send filename and revision to q65c through a common block.

This commit is contained in:
Joe Taylor 2024-01-15 19:24:26 -05:00
parent 24bfc9f30d
commit 447127a49f
4 changed files with 16 additions and 8 deletions

View File

@ -96,6 +96,11 @@ extern struct {
char result[50][60]; //Staging area for QMAP decodes
} decodes_;
extern struct {
char revision[22];
char saveFileName[120];
} savecom_;
}
#endif // COMMONS_H

View File

@ -1,4 +1,4 @@
subroutine q65c(fname0,revision0)
subroutine q65c
use timer_module, only: timer
use timer_impl, only: fini_timer !, limtrace
@ -15,7 +15,6 @@ subroutine q65c(fname0,revision0)
integer values(8)
logical first
logical*1 bAlso30
character*(*) fname0,revision0
character*120 fname
character*22 revision
character*12 mycall,hiscall
@ -25,6 +24,7 @@ subroutine q65c(fname0,revision0)
common/decodes/ndecodes,ncand,nQDecoderDone,nWDecoderBusy, &
nWTransmitting,result(50)
common/datcom2/dd(2,5760000),ss(400,NFFT),savg(NFFT),nparams0
common/savecom/revision,fname
!### REMEMBER that /npar/ is not updated until nparams=nparams0 is executed. ###
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
ndepth,ndiskdat,ntx60,newdat,nn1,nn2,nfcal,nfshift, &
@ -35,8 +35,6 @@ subroutine q65c(fname0,revision0)
data first/.true./
save first
fname=fname0
revision=revision0
nparams=nparams0 !Copy parameters into common/npar/
datetime(12:)='00 '
npatience=1

View File

@ -940,9 +940,14 @@ void MainWindow::decode() //decode()
int len1=m_saveFileName.length();
int len2=m_revision.length();
watcher3.setFuture(QtConcurrent::run (std::bind (q65c_,
m_saveFileName.toLatin1().constData(),
m_revision.toLatin1().constData(), len1, len2)));
memcpy(savecom_.revision, m_revision.toLatin1(), len2);
memcpy(savecom_.saveFileName, m_saveFileName.toLatin1(),len1);
watcher3.setFuture(QtConcurrent::run (q65c_));
//,
// m_saveFileName.toLatin1().constData(),
// m_revision.toLatin1().constData(), len1, len2)));
decodeBusy(true);
}

View File

@ -200,7 +200,7 @@ extern "C" {
void astrosub00_ (int* nyear, int* month, int* nday, double* uth, int* nfreq,
const char* mygrid, int* ndop00, int len1);
void q65c_(const char* fname, const char* revision, int len1, int len2);
void q65c_();
void all_done_();