Clean up and complete(?) implementing save_qm and read_qm.

This commit is contained in:
Joe Taylor 2024-01-04 16:03:44 -05:00
parent 606506f578
commit 7f7a5322ed
6 changed files with 28 additions and 20 deletions

View File

@ -5,22 +5,23 @@ subroutine read_qm(fname)
character*(*) fname
character prog_id*24,mycall*12,mygrid*6
real*8 fcenter
integer nxtra(16) !For possible future additions
integer*1 id1(2,NMAX)
common/datcom/dd(2,5760000),ss(400,NFFT),savg(NFFT),fcenter,nutc,junk(NJUNK)
open(28,file=trim(fname),status='old',access='stream',err=900)
read(28) prog_id,mycall,mygrid,ntx30a,ntx30b,ia,ib
read(28) prog_id,mycall,mygrid,fcenter,nutc,ntx30a,ntx30b,ia,ib,nxtra
id1=0
read(28) id1(1:2,ia:ib)
dd=0.
dd(1:2,ia:ib)=id1(1:2,ia:ib)
fcenter=1296.090
nutc=0100
write(*,3001) prog_id,mycall(1:6),mygrid,ntx30a,ntx30b,ia,ib
3001 format(a24,2x,a6,2x,a6,2i5,2i9)
return
dd(1:2,ia:ib)=2.4*id1(1:2,ia:ib) !### Why the boost by 2.4 ???
! write(*,3001) prog_id,mycall(1:6),mygrid,fcenter,nutc,ntx30a,ntx30b,ia,ib
!3001 format(a24,2x,a6,2x,a6,f10.3,i6.4,2i5,2i9)
go to 999
900 print*,'Cannot open ',fname
999 close(28)
return
end subroutine read_qm

View File

@ -1,9 +1,11 @@
subroutine save_qm(fname,prog_id,mycall,mygrid,dd,ntx30a,ntx30b)
subroutine save_qm(fname,prog_id,mycall,mygrid,dd,ntx30a,ntx30b,fcenter,nutc)
parameter(NMAX=60*96000)
character*(*) fname,prog_id,mycall,mygrid
character prog_id_24*24,mycall_12*12,mygrid_6*6
real*4 dd(2,NMAX)
real*8 fcenter
integer nxtra(16) !For possible future additions
integer*1 id1(2,NMAX)
ia=1
@ -45,16 +47,18 @@ subroutine save_qm(fname,prog_id,mycall,mygrid,dd,ntx30a,ntx30b)
jz=len(fname)
fname(jz-1:jz)="qm"
write(*,3001) fname(jz-13:jz),rms,db(rms*rms),dmax,nbad,ia,ib, &
nsum/(2*96000),ntx30a,ntx30b
3001 format(a14,3f7.1,i8,2i9,3i5)
! write(*,3001) fname(jz-13:jz),rms,db(rms*rms),dmax,nbad,ia,ib, &
! nsum/(2*96000),ntx30a,ntx30b
!3001 format(a14,3f7.1,i8,2i9,3i5)
open(29,file=trim(fname),status='unknown',access='stream')
prog_id_24=prog_id//" "
mycall_12=mycall
mygrid_6=mygrid
write(29) prog_id_24,mycall_12,mygrid_6,ntx30a,ntx30b,ia,ib
write(29) id1(1:2,ia:ib)
write(29) prog_id_24,mycall_12,mygrid_6,fcenter,nutc,ntx30a,ntx30b, &
ia,ib,nxtra !Write header to disk
write(29) id1(1:2,ia:ib) !Write 8-bit data to disk
close(29)
return
end subroutine save_qm

View File

@ -93,7 +93,7 @@ subroutine symspec(k,ndiskdat,nb,nbslider,nfsample, &
if(nzap/178.lt.50 .and. (ndiskdat.eq.0 .or. ihsym.lt.280)) then
nsum=nblks*kstep - nzap
if(nsum.le.0) nsum=1
rmsx=sqrt(0.5*px/nsum)
rmsx=sqrt(px/nsum)
rms=rmsx
endif
pxdb=0.

View File

@ -404,10 +404,10 @@ void MainWindow::dataSink(int k)
*future2 = QtConcurrent::run(save_iq, fname);
watcher2->setFuture(*future2);
QString t{"QMAP v" + QCoreApplication::applicationVersion() + " " + revision()};
qDebug() << "aa" << t.simplified() << m_myCall << m_myGrid << datcom_.fcenter;
// qDebug() << "aa" << t.simplified() << m_myCall << m_myGrid << datcom_.fcenter;
save_qm_(fname.toLatin1(), t.toLatin1(), m_myCall.toLatin1(), m_myGrid.toLatin1(),
datcom2_.d4, &datcom2_.ntx30a, &datcom2_.ntx30b, fname.length(), t.length(),
m_myCall.length(), m_myGrid.length());
datcom2_.d4, &datcom2_.ntx30a, &datcom2_.ntx30b, &datcom2_.fcenter,
&datcom2_.nutc, fname.length(), t.length(), m_myCall.length(), m_myGrid.length());
}
if(ihsym==m_hsymStop) {
m_nTx30a=0;
@ -756,7 +756,7 @@ void MainWindow::on_actionDelete_all_iq_files_in_SaveDir_triggered()
int i;
QString fname;
int ret = QMessageBox::warning(this, "Confirm Delete",
"Are you sure you want to delete all *.iq files in\n" +
"Are you sure you want to delete all *.iq and *.qm files in\n" +
QDir::toNativeSeparators(m_saveDir) + " ?",
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
if(ret==QMessageBox::Yes) {
@ -767,6 +767,8 @@ void MainWindow::on_actionDelete_all_iq_files_in_SaveDir_triggered()
fname=*f;
i=(fname.indexOf(".iq"));
if(i==11) dir.remove(fname);
i=(fname.indexOf(".qm"));
if(i==11) dir.remove(fname);
}
}
}

View File

@ -202,7 +202,8 @@ extern "C" {
void zaptx_(float d4[], int* k0, int* k);
void save_qm_(const char* fname, const char* prog_id, const char* mycall, const char* mygrid,
float d4[], int* ntx30a, int* ntx30b, int len1, int len2, int len3, int len4);
float d4[], int* ntx30a, int* ntx30b, double* fcenter, int* nutc,
int len1, int len2, int len3, int len4);
void read_qm_(const char* fname, int len);

View File

@ -559,7 +559,7 @@ p, li { white-space: pre-wrap; }
</action>
<action name="actionDelete_all_iq_files_in_SaveDir">
<property name="text">
<string>Delete all *.iq files in SaveDir</string>
<string>Delete all *.iq and *.qm files in SaveDir</string>
</property>
</action>
<action name="actionErase_Band_Map_and_Messages">