mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-24 21:19:02 -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
|
||||
astro0.f90
|
||||
astrosub.f90
|
||||
chkstat.f90
|
||||
dcoord.f90
|
||||
decode0.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
|
||||
integer nparams0(NJUNK+3),nparams(NJUNK+3)
|
||||
logical first
|
||||
logical*1 bAlso30
|
||||
logical*1 bAlso30,bSkip
|
||||
character*12 mycall,hiscall
|
||||
character*6 mygrid,hisgrid
|
||||
character*20 datetime
|
||||
@ -41,6 +41,9 @@ subroutine q65c(itimer)
|
||||
npatience=1
|
||||
newdat=1 !Always on ??
|
||||
|
||||
call chkstat(dd,max_nhsym,bSkip)
|
||||
if(bSkip) return
|
||||
|
||||
call timer('decode0 ',0)
|
||||
call decode0(dd,ss,savg)
|
||||
call timer('decode0 ',1)
|
||||
|
@ -346,7 +346,6 @@ void MainWindow::dataSink(int k)
|
||||
if(!m_fs96000) nfsample=95238;
|
||||
symspec_(&k, &ndiskdat, &nb, &m_NBslider, &nfsample,
|
||||
&px, s, &nkhz, &ihsym, &nzap, &slimit, lstrong);
|
||||
m_ihsym=ihsym;
|
||||
|
||||
int nsec=QDateTime::currentSecsSinceEpoch();
|
||||
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
|
||||
for(int i=0; i<400; i++) { // Do the half-symbol FFTs
|
||||
int k = i*hsym + 0.5;
|
||||
m_ihsym=k;
|
||||
if(k > 60*96000) break;
|
||||
dataSink(k);
|
||||
qApp->processEvents(); // Allow the waterfall to update
|
||||
@ -892,11 +890,12 @@ void MainWindow::decode() //decode()
|
||||
char *to = (char*) datcom2_.d4;
|
||||
char *from = (char*) datcom_.d4;
|
||||
memcpy(to, from, sizeof(datcom_));
|
||||
|
||||
datcom_.nagain=0;
|
||||
datcom_.ndiskdat=0;
|
||||
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
|
||||
m_fetched=0;
|
||||
}
|
||||
|
@ -120,7 +120,6 @@ private:
|
||||
qint32 m_nDoubleClicked=0;
|
||||
qint32 m_nline=0;
|
||||
qint32 m_WSJTX_TRperiod=0;
|
||||
qint32 m_ihsym;
|
||||
|
||||
double m_fAdd;
|
||||
double m_xavg;
|
||||
|
Loading…
Reference in New Issue
Block a user