More cleanup of the display of special JT65 decoding modes: avg, deep, AP.

This commit is contained in:
Joe Taylor 2020-04-09 13:56:35 -04:00
parent 899d0e71ce
commit c188f8ee89
4 changed files with 37 additions and 31 deletions

View File

@ -151,6 +151,7 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
nsmo=nsmobest nsmo=nsmobest
param(9)=nsmo param(9)=nsmo
nn=nnbest nn=nnbest
nft=nftbest
endif endif
call timer('dec65b ',1) call timer('dec65b ',1)

View File

@ -408,6 +408,8 @@ contains
go to 100 go to 100
endif endif
! write(*,3001) ft,nsum,qual,sync,bVHF
!3001 format('a',3i3,f5.1,L3)
if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then
write(*,1010) params%nutc,snr,dt,freq write(*,1010) params%nutc,snr,dt,freq
else else
@ -415,18 +417,19 @@ contains
if(bVHF .and. ft.gt.0) then if(bVHF .and. ft.gt.0) then
cflags='f ' cflags='f '
if(is_deep) then if(is_deep) then
cflags(1:2)='d1' cflags='d '
write(cflags(3:3),'(i1)') min(qual,9) write(cflags(2:2),'(i1)') min(qual,9)
if(qual.ge.10) cflags(3:3)='*' if(qual.ge.10) cflags(2:2)='*'
if(qual.lt.3) decoded(22:22)='?' if(qual.lt.3) decoded(22:22)='?'
endif endif
if(is_average) then if(is_average) then
write(cflags(2:2),'(i1)') min(nsum,9) write(cflags(3:3),'(i1)') min(nsum,9)
if(nsum.ge.10) cflags(2:2)='*' if(nsum.ge.10) cflags(3:3)='*'
endif endif
nap=ishft(ft,-2) nap=ishft(ft,-2)
if(nap.ne.0) then if(nap.ne.0) then
write(cflags(1:3),'(a1,2i1)') 'a',nap,nsum if(nsum.lt.2) write(cflags(1:3),'(a1,i1," ")') 'a',nap
if(nsum.ge.2) write(cflags(1:3),'(a1,2i1)') 'a',nap,min(nsum,9)
endif endif
endif endif
csync='# ' csync='# '
@ -445,6 +448,12 @@ contains
endif endif
endif endif
endif endif
n=len(trim(decoded))
if(n.eq.2 .or. n.eq.3) csync='# '
if(cflags(1:1).eq.'f') then
cflags(2:2)=cflags(3:3)
cflags(3:3)=' '
endif
write(*,1010) params%nutc,snr,dt,freq,csync,decoded,cflags write(*,1010) params%nutc,snr,dt,freq,csync,decoded,cflags
1010 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,1x,a3) 1010 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,1x,a3)
endif endif

View File

@ -235,14 +235,11 @@ contains
naggressive,ndepth,ntol,mycall,hiscall,hisgrid,nQSOProgress, & naggressive,ndepth,ntol,mycall,hiscall,hisgrid,nQSOProgress, &
ljt65apon,bVHF,sync2,a,dtx,nft,nspecial,qual, & ljt65apon,bVHF,sync2,a,dtx,nft,nspecial,qual, &
nhist,nsmo,decoded) nhist,nsmo,decoded)
call timer('decod65a',1)
if(nspecial.eq.0 .and. sync1.eq.5.0 .and. dtx.eq.2.5) cycle
if(nspecial.eq.2) decoded='RO' if(nspecial.eq.2) decoded='RO'
if(nspecial.eq.3) decoded='RRR' if(nspecial.eq.3) decoded='RRR'
if(nspecial.eq.4) decoded='73' if(nspecial.eq.4) decoded='73'
if(nspecial.eq.0 .and. sync1.eq.5.0 .and. dtx.eq.2.5) then
nft=0
decoded=' '
endif
call timer('decod65a',1)
if(sync1.lt.float(minsync) .and. & if(sync1.lt.float(minsync) .and. &
decoded.eq.' ') nflip=0 decoded.eq.' ') nflip=0
if(nft.ne.0) nsum=1 if(nft.ne.0) nsum=1
@ -449,7 +446,6 @@ contains
enddo enddo
if(nsum.lt.2) go to 900 if(nsum.lt.2) go to 900
nftt=0
df=1378.125/512.0 df=1378.125/512.0
! Do the smoothing loop ! Do the smoothing loop
@ -462,6 +458,7 @@ contains
endif endif
nn=0 nn=0
do ismo=minsmo,maxsmo do ismo=minsmo,maxsmo
nftt=0
if(ismo.gt.0) then if(ismo.gt.0) then
do j=1,126 do j=1,126
call smo121(s1b(-255,j),512) call smo121(s1b(-255,j),512)
@ -499,7 +496,7 @@ contains
nsmo=ismo nsmo=ismo
param(9)=nsmo param(9)=nsmo
go to 900 go to 900
else if(nftt.eq.2) then else if(nftt.ge.2) then
if(qual.gt.qualbest) then if(qual.gt.qualbest) then
deepbest=avemsg deepbest=avemsg
qualbest=qual qualbest=qual

View File

@ -3128,28 +3128,27 @@ void MainWindow::readFromStdout() //readFromStdout
m_nDecodes+=1; m_nDecodes+=1;
ndecodes_label.setText(QString::number(m_nDecodes)); ndecodes_label.setText(QString::number(m_nDecodes));
if(m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64") { if(m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64") {
int n=line_read.indexOf("f"); int nf=line_read.indexOf("f");
if(n<0) n=line_read.indexOf("d"); if(nf>0) {
if(n>0) { navg=line_read.mid(nf+1,1).toInt();
QString tt=line_read.mid(n+1,1); if(line_read.indexOf("f*")>0) navg=10;
navg=tt.toInt();
if(navg==0) {
char c = tt.data()->toLatin1();
if(int(c)>=65 and int(c)<=90) navg=int(c)-54;
} }
if(navg>1 or line_read.indexOf("f*")>0) bAvgMsg=true; int nd=-1;
if(nf<0) nd=line_read.indexOf("d");
if(nd>0) {
navg=line_read.mid(nd+2,1).toInt();
if(line_read.mid(nd+2,1)=="*") navg=10;
} }
if(m_mode=="JT65") { if(m_mode=="JT65") {
if(n<0) n=line_read.indexOf("a"); int na=-1;
if(n>0) { if(nf<0 and nd<0) na=line_read.indexOf("a");
int i=line_read.mid(n+1,2).toInt(); if(na>0) {
// int nap=i/10; navg=line_read.mid(na+2,1).toInt();
navg=0; if(line_read.mid(na+2,1)=="*") navg=10;
if(i>10) navg=i%10; }
}
if(navg>=2) bAvgMsg=true; if(navg>=2) bAvgMsg=true;
} }
}
}
write_all("Rx",line_read.trimmed()); write_all("Rx",line_read.trimmed());
if (m_config.insert_blank () && m_blankLine && SpecOp::FOX != m_config.special_op_id()) { if (m_config.insert_blank () && m_blankLine && SpecOp::FOX != m_config.special_op_id()) {
QString band; QString band;