diff --git a/decodedtext.cpp b/decodedtext.cpp index fd4392e2b..2756d3e5e 100644 --- a/decodedtext.cpp +++ b/decodedtext.cpp @@ -133,6 +133,7 @@ QString DecodedText::call() void DecodedText::deCallAndGrid(/*out*/QString& call, QString& grid) { auto msg = _string; + if(msg.mid(4,1)!=" ") msg=msg.mid(0,4)+msg.mid(6,-1); //Remove seconds from UTC msg = msg.replace (QRegularExpression {" CQ ([A-Z]{2,2}|[0-9]{3,3}) "}, " CQ_\\1 ").mid (column_qsoText); int i1 = msg.indexOf (" "); call = msg.mid (i1 + 1); diff --git a/lib/fsk4hf/ft8b.f90 b/lib/fsk4hf/ft8b.f90 index 1c0575757..b232547c0 100644 --- a/lib/fsk4hf/ft8b.f90 +++ b/lib/fsk4hf/ft8b.f90 @@ -1,5 +1,6 @@ subroutine ft8b(s,nfqso,f1,xdt,nharderrors,dmin,nbadcrc,message) + use timer_module, only: timer include 'ft8_params.f90' parameter(NRECENT=10) character*12 recent_calls(NRECENT) @@ -12,11 +13,11 @@ subroutine ft8b(s,nfqso,f1,xdt,nharderrors,dmin,nbadcrc,message) max_iterations=40 norder=2 - if(abs(nfqso-f1).lt.10.0) norder=3 +! if(abs(nfqso-f1).lt.10.0) norder=3 tstep=0.5*NSPS/12000.0 df=12000.0/NFFT1 - i0=nint(f1/df) + i0=max(1,nint(f1/df)) j0=nint(xdt/tstep) j=0 @@ -58,10 +59,14 @@ subroutine ft8b(s,nfqso,f1,xdt,nharderrors,dmin,nbadcrc,message) ! cw will be needed for subtraction. ! dmin is the correlation discrepancy of a returned codeword - it is ! used to select the best codeword within osd174. + call timer('bpd174 ',0) call bpdecode174(llr,apmask,max_iterations,decoded,cw,nharderrors) + call timer('bpd174 ',1) dmin=0.0 if(nharderrors.lt.0) then + call timer('osd174 ',0) call osd174(llr,norder,decoded,cw,nharderrors,dmin) + call timer('osd174 ',1) ! This threshold needs to be tuned. 99.0 should pass everything. if( dmin .gt. 99.0 ) nharderrors=-1 endif diff --git a/mainwindow.cpp b/mainwindow.cpp index f12ef6de9..bdc2230fc 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -2729,7 +2729,7 @@ void MainWindow::readFromStdout() //readFromStdout Radio::base_callsign(ui->dxCallEntry->text()), m_rptRcvd); // extract details and send to PSKreporter int nsec=QDateTime::currentMSecsSinceEpoch()/1000-m_secBandChanged; - bool okToPost=(nsec>50); + bool okToPost=(nsec>(4*m_TRperiod)/5); if(m_config.spot_to_psk_reporter () and stdMsg and !m_diskData and okToPost) { pskPost(decodedtext); } @@ -2774,7 +2774,7 @@ void MainWindow::pskPost(DecodedText decodedtext) Frequency frequency = m_freqNominal + audioFrequency; pskSetLocal (); if(grid_regexp.exactMatch (grid)) { - // qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr; + qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr; psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode, QString::number(snr),QString::number(QDateTime::currentDateTime().toTime_t())); }