mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-06-24 22:25:17 -04:00
Skip useless calls to QMAP's decode0(), depending on 30 s transmissions.
This commit is contained in:
parent
f42a1bb357
commit
90f3c59ea0
@ -5,6 +5,7 @@ set (libq65_FSRCS
|
|||||||
astro.f90
|
astro.f90
|
||||||
astro0.f90
|
astro0.f90
|
||||||
astrosub.f90
|
astrosub.f90
|
||||||
|
chkstat.f90
|
||||||
dcoord.f90
|
dcoord.f90
|
||||||
decode0.f90
|
decode0.f90
|
||||||
dot.f90
|
dot.f90
|
||||||
|
24
qmap/libqmap/chkstat.f90
Normal file
24
qmap/libqmap/chkstat.f90
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
subroutine chkstat(dd,ihsym,bSkip)
|
||||||
|
|
||||||
|
real dd(2,5760000)
|
||||||
|
real power(60)
|
||||||
|
logical*1 bSkip
|
||||||
|
|
||||||
|
k=0
|
||||||
|
do i=1,60
|
||||||
|
sq=0.
|
||||||
|
do j=1,96000
|
||||||
|
k=k+1
|
||||||
|
sq=sq + dd(1,k)*dd(1,k) + dd(2,k)*dd(2,k)
|
||||||
|
enddo
|
||||||
|
power(i)=sq/(2.0*96000.0)
|
||||||
|
enddo
|
||||||
|
bSkip=.false.
|
||||||
|
n1=count(power(1:30).lt.15.0)
|
||||||
|
n2=count(power(31:60).lt.15.0)
|
||||||
|
if(ihsym.le.200 .and. n1.gt.15) bSkip=.true.
|
||||||
|
if(ihsym.gt.200 .and. n2.gt.15) bSkip=.true.
|
||||||
|
! print*,'A',ihsym,n1,n2,bSkip
|
||||||
|
|
||||||
|
return
|
||||||
|
end subroutine chkstat
|
@ -12,7 +12,7 @@ subroutine q65c(itimer)
|
|||||||
real*8 fcenter
|
real*8 fcenter
|
||||||
integer nparams0(NJUNK+3),nparams(NJUNK+3)
|
integer nparams0(NJUNK+3),nparams(NJUNK+3)
|
||||||
logical first
|
logical first
|
||||||
logical*1 bAlso30
|
logical*1 bAlso30,bSkip
|
||||||
character*12 mycall,hiscall
|
character*12 mycall,hiscall
|
||||||
character*6 mygrid,hisgrid
|
character*6 mygrid,hisgrid
|
||||||
character*20 datetime
|
character*20 datetime
|
||||||
@ -41,6 +41,9 @@ subroutine q65c(itimer)
|
|||||||
npatience=1
|
npatience=1
|
||||||
newdat=1 !Always on ??
|
newdat=1 !Always on ??
|
||||||
|
|
||||||
|
call chkstat(dd,max_nhsym,bSkip)
|
||||||
|
if(bSkip) return
|
||||||
|
|
||||||
call timer('decode0 ',0)
|
call timer('decode0 ',0)
|
||||||
call decode0(dd,ss,savg)
|
call decode0(dd,ss,savg)
|
||||||
call timer('decode0 ',1)
|
call timer('decode0 ',1)
|
||||||
|
@ -346,7 +346,6 @@ void MainWindow::dataSink(int k)
|
|||||||
if(!m_fs96000) nfsample=95238;
|
if(!m_fs96000) nfsample=95238;
|
||||||
symspec_(&k, &ndiskdat, &nb, &m_NBslider, &nfsample,
|
symspec_(&k, &ndiskdat, &nb, &m_NBslider, &nfsample,
|
||||||
&px, s, &nkhz, &ihsym, &nzap, &slimit, lstrong);
|
&px, s, &nkhz, &ihsym, &nzap, &slimit, lstrong);
|
||||||
m_ihsym=ihsym;
|
|
||||||
|
|
||||||
int nsec=QDateTime::currentSecsSinceEpoch();
|
int nsec=QDateTime::currentSecsSinceEpoch();
|
||||||
if(nsec==nsec0) {
|
if(nsec==nsec0) {
|
||||||
@ -715,7 +714,6 @@ void MainWindow::diskDat() //diskDat()
|
|||||||
hsym=0.15*96000.0; //Samples per Q65-30x half-symbol or Q65-60x quarter-symbol
|
hsym=0.15*96000.0; //Samples per Q65-30x half-symbol or Q65-60x quarter-symbol
|
||||||
for(int i=0; i<400; i++) { // Do the half-symbol FFTs
|
for(int i=0; i<400; i++) { // Do the half-symbol FFTs
|
||||||
int k = i*hsym + 0.5;
|
int k = i*hsym + 0.5;
|
||||||
m_ihsym=k;
|
|
||||||
if(k > 60*96000) break;
|
if(k > 60*96000) break;
|
||||||
dataSink(k);
|
dataSink(k);
|
||||||
qApp->processEvents(); // Allow the waterfall to update
|
qApp->processEvents(); // Allow the waterfall to update
|
||||||
@ -892,11 +890,12 @@ void MainWindow::decode() //decode()
|
|||||||
char *to = (char*) datcom2_.d4;
|
char *to = (char*) datcom2_.d4;
|
||||||
char *from = (char*) datcom_.d4;
|
char *from = (char*) datcom_.d4;
|
||||||
memcpy(to, from, sizeof(datcom_));
|
memcpy(to, from, sizeof(datcom_));
|
||||||
|
|
||||||
datcom_.nagain=0;
|
datcom_.nagain=0;
|
||||||
datcom_.ndiskdat=0;
|
datcom_.ndiskdat=0;
|
||||||
m_call3Modified=false;
|
m_call3Modified=false;
|
||||||
|
|
||||||
if(!m_bAlso30 or (m_bAlso30 and (m_ihsym==200))) {
|
if(!m_bAlso30 or (m_bAlso30 and (datcom2_.nhsym==200))) {
|
||||||
decodes_.ndecodes=0; //Start the decode cycle with a clean slate
|
decodes_.ndecodes=0; //Start the decode cycle with a clean slate
|
||||||
m_fetched=0;
|
m_fetched=0;
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,6 @@ private:
|
|||||||
qint32 m_nDoubleClicked=0;
|
qint32 m_nDoubleClicked=0;
|
||||||
qint32 m_nline=0;
|
qint32 m_nline=0;
|
||||||
qint32 m_WSJTX_TRperiod=0;
|
qint32 m_WSJTX_TRperiod=0;
|
||||||
qint32 m_ihsym;
|
|
||||||
|
|
||||||
double m_fAdd;
|
double m_fAdd;
|
||||||
double m_xavg;
|
double m_xavg;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user