mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-31 13:52:27 -04:00
Clean up and complete(?) implementing save_qm and read_qm.
This commit is contained in:
parent
606506f578
commit
7f7a5322ed
@ -5,22 +5,23 @@ subroutine read_qm(fname)
|
|||||||
character*(*) fname
|
character*(*) fname
|
||||||
character prog_id*24,mycall*12,mygrid*6
|
character prog_id*24,mycall*12,mygrid*6
|
||||||
real*8 fcenter
|
real*8 fcenter
|
||||||
|
integer nxtra(16) !For possible future additions
|
||||||
integer*1 id1(2,NMAX)
|
integer*1 id1(2,NMAX)
|
||||||
common/datcom/dd(2,5760000),ss(400,NFFT),savg(NFFT),fcenter,nutc,junk(NJUNK)
|
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)
|
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
|
id1=0
|
||||||
read(28) id1(1:2,ia:ib)
|
read(28) id1(1:2,ia:ib)
|
||||||
dd=0.
|
dd=0.
|
||||||
dd(1:2,ia:ib)=id1(1:2,ia:ib)
|
dd(1:2,ia:ib)=2.4*id1(1:2,ia:ib) !### Why the boost by 2.4 ???
|
||||||
fcenter=1296.090
|
|
||||||
nutc=0100
|
! write(*,3001) prog_id,mycall(1:6),mygrid,fcenter,nutc,ntx30a,ntx30b,ia,ib
|
||||||
write(*,3001) prog_id,mycall(1:6),mygrid,ntx30a,ntx30b,ia,ib
|
!3001 format(a24,2x,a6,2x,a6,f10.3,i6.4,2i5,2i9)
|
||||||
3001 format(a24,2x,a6,2x,a6,2i5,2i9)
|
go to 999
|
||||||
return
|
|
||||||
|
|
||||||
900 print*,'Cannot open ',fname
|
900 print*,'Cannot open ',fname
|
||||||
|
|
||||||
|
999 close(28)
|
||||||
return
|
return
|
||||||
end subroutine read_qm
|
end subroutine read_qm
|
||||||
|
@ -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)
|
parameter(NMAX=60*96000)
|
||||||
character*(*) fname,prog_id,mycall,mygrid
|
character*(*) fname,prog_id,mycall,mygrid
|
||||||
character prog_id_24*24,mycall_12*12,mygrid_6*6
|
character prog_id_24*24,mycall_12*12,mygrid_6*6
|
||||||
real*4 dd(2,NMAX)
|
real*4 dd(2,NMAX)
|
||||||
|
real*8 fcenter
|
||||||
|
integer nxtra(16) !For possible future additions
|
||||||
integer*1 id1(2,NMAX)
|
integer*1 id1(2,NMAX)
|
||||||
|
|
||||||
ia=1
|
ia=1
|
||||||
@ -45,16 +47,18 @@ subroutine save_qm(fname,prog_id,mycall,mygrid,dd,ntx30a,ntx30b)
|
|||||||
|
|
||||||
jz=len(fname)
|
jz=len(fname)
|
||||||
fname(jz-1:jz)="qm"
|
fname(jz-1:jz)="qm"
|
||||||
write(*,3001) fname(jz-13:jz),rms,db(rms*rms),dmax,nbad,ia,ib, &
|
! write(*,3001) fname(jz-13:jz),rms,db(rms*rms),dmax,nbad,ia,ib, &
|
||||||
nsum/(2*96000),ntx30a,ntx30b
|
! nsum/(2*96000),ntx30a,ntx30b
|
||||||
3001 format(a14,3f7.1,i8,2i9,3i5)
|
!3001 format(a14,3f7.1,i8,2i9,3i5)
|
||||||
|
|
||||||
open(29,file=trim(fname),status='unknown',access='stream')
|
open(29,file=trim(fname),status='unknown',access='stream')
|
||||||
prog_id_24=prog_id//" "
|
prog_id_24=prog_id//" "
|
||||||
mycall_12=mycall
|
mycall_12=mycall
|
||||||
mygrid_6=mygrid
|
mygrid_6=mygrid
|
||||||
write(29) prog_id_24,mycall_12,mygrid_6,ntx30a,ntx30b,ia,ib
|
write(29) prog_id_24,mycall_12,mygrid_6,fcenter,nutc,ntx30a,ntx30b, &
|
||||||
write(29) id1(1:2,ia:ib)
|
ia,ib,nxtra !Write header to disk
|
||||||
|
write(29) id1(1:2,ia:ib) !Write 8-bit data to disk
|
||||||
|
close(29)
|
||||||
|
|
||||||
return
|
return
|
||||||
end subroutine save_qm
|
end subroutine save_qm
|
||||||
|
@ -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
|
if(nzap/178.lt.50 .and. (ndiskdat.eq.0 .or. ihsym.lt.280)) then
|
||||||
nsum=nblks*kstep - nzap
|
nsum=nblks*kstep - nzap
|
||||||
if(nsum.le.0) nsum=1
|
if(nsum.le.0) nsum=1
|
||||||
rmsx=sqrt(0.5*px/nsum)
|
rmsx=sqrt(px/nsum)
|
||||||
rms=rmsx
|
rms=rmsx
|
||||||
endif
|
endif
|
||||||
pxdb=0.
|
pxdb=0.
|
||||||
|
@ -404,10 +404,10 @@ void MainWindow::dataSink(int k)
|
|||||||
*future2 = QtConcurrent::run(save_iq, fname);
|
*future2 = QtConcurrent::run(save_iq, fname);
|
||||||
watcher2->setFuture(*future2);
|
watcher2->setFuture(*future2);
|
||||||
QString t{"QMAP v" + QCoreApplication::applicationVersion() + " " + revision()};
|
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(),
|
save_qm_(fname.toLatin1(), t.toLatin1(), m_myCall.toLatin1(), m_myGrid.toLatin1(),
|
||||||
datcom2_.d4, &datcom2_.ntx30a, &datcom2_.ntx30b, fname.length(), t.length(),
|
datcom2_.d4, &datcom2_.ntx30a, &datcom2_.ntx30b, &datcom2_.fcenter,
|
||||||
m_myCall.length(), m_myGrid.length());
|
&datcom2_.nutc, fname.length(), t.length(), m_myCall.length(), m_myGrid.length());
|
||||||
}
|
}
|
||||||
if(ihsym==m_hsymStop) {
|
if(ihsym==m_hsymStop) {
|
||||||
m_nTx30a=0;
|
m_nTx30a=0;
|
||||||
@ -756,7 +756,7 @@ void MainWindow::on_actionDelete_all_iq_files_in_SaveDir_triggered()
|
|||||||
int i;
|
int i;
|
||||||
QString fname;
|
QString fname;
|
||||||
int ret = QMessageBox::warning(this, "Confirm Delete",
|
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) + " ?",
|
QDir::toNativeSeparators(m_saveDir) + " ?",
|
||||||
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
|
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
|
||||||
if(ret==QMessageBox::Yes) {
|
if(ret==QMessageBox::Yes) {
|
||||||
@ -767,6 +767,8 @@ void MainWindow::on_actionDelete_all_iq_files_in_SaveDir_triggered()
|
|||||||
fname=*f;
|
fname=*f;
|
||||||
i=(fname.indexOf(".iq"));
|
i=(fname.indexOf(".iq"));
|
||||||
if(i==11) dir.remove(fname);
|
if(i==11) dir.remove(fname);
|
||||||
|
i=(fname.indexOf(".qm"));
|
||||||
|
if(i==11) dir.remove(fname);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,8 @@ extern "C" {
|
|||||||
void zaptx_(float d4[], int* k0, int* k);
|
void zaptx_(float d4[], int* k0, int* k);
|
||||||
|
|
||||||
void save_qm_(const char* fname, const char* prog_id, const char* mycall, const char* mygrid,
|
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);
|
void read_qm_(const char* fname, int len);
|
||||||
|
|
||||||
|
@ -559,7 +559,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionDelete_all_iq_files_in_SaveDir">
|
<action name="actionDelete_all_iq_files_in_SaveDir">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Delete all *.iq files in SaveDir</string>
|
<string>Delete all *.iq and *.qm files in SaveDir</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionErase_Band_Map_and_Messages">
|
<action name="actionErase_Band_Map_and_Messages">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user