1
0
mirror of https://github.com/saitohirga/WSJT-X.git synced 2025-03-22 12:08:43 -04:00

Work in progress: Now able to read from *.qm files.

This commit is contained in:
Joe Taylor 2024-01-04 10:52:36 -05:00
parent 4a4225bb9c
commit 606506f578
4 changed files with 40 additions and 2 deletions

View File

@ -25,6 +25,7 @@ set (libq65_FSRCS
q65c.f90
q65_sync.f90
qmapa.f90
read_qm.f90
recvpkt.f90
save_qm.f90
sun.f90

26
qmap/libqmap/read_qm.f90 Normal file
View File

@ -0,0 +1,26 @@
subroutine read_qm(fname)
include 'njunk.f90'
parameter(NMAX=60*96000,NFFT=32768)
character*(*) fname
character prog_id*24,mycall*12,mygrid*6
real*8 fcenter
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
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
900 print*,'Cannot open ',fname
return
end subroutine read_qm

View File

@ -655,7 +655,11 @@ void MainWindow::on_actionOpen_triggered() //Open File
if(m_monitoring) on_monitorButton_clicked();
m_diskData=true;
int dbDgrd=0;
*future1 = QtConcurrent::run(getfile, fname, dbDgrd);
if(m_path.indexOf(".iq")>0) {
*future1 = QtConcurrent::run(getfile, fname, dbDgrd);
} else {
*future1 = QtConcurrent::run(read_qm_, fname.toLatin1(), fname.length());
}
watcher1->setFuture(*future1);
}
}
@ -685,7 +689,11 @@ void MainWindow::on_actionOpen_next_in_directory_triggered() //Open Next
}
m_diskData=true;
int dbDgrd=0;
*future1 = QtConcurrent::run(getfile, fname, dbDgrd);
if(m_path.indexOf(".iq")>0) {
*future1 = QtConcurrent::run(getfile, fname, dbDgrd);
} else {
*future1 = QtConcurrent::run(read_qm_, fname.toLatin1(), fname.length());
}
watcher1->setFuture(*future1);
return;
}

View File

@ -203,6 +203,9 @@ extern "C" {
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);
void read_qm_(const char* fname, int len);
}
#endif // MAINWINDOW_H