mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 12:08:43 -04:00
Progress toward decoding at 41/47/50 buffers. Not yet complete!
This commit is contained in:
parent
6773768586
commit
431ec50212
@ -277,12 +277,12 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
||||
! JT65 is not yet producing info for nsynced, ndecoded.
|
||||
800 ndecoded = my_jt4%decoded + my_jt65%decoded + my_jt9%decoded + &
|
||||
my_ft8%decoded + my_ft4%decoded
|
||||
if(params%nmode.eq.8 .and. params%nzhsym.lt.48) ndec8=ndec8+ndecoded
|
||||
if(params%nmode.eq.8 .and. params%nzhsym.ge.48) then
|
||||
ndecoded=ndec8+ndecoded
|
||||
ndec8=0
|
||||
if(params%nmode.eq.8 .and. params%nzhsym.eq.41) ndec41=ndecoded
|
||||
if(params%nmode.eq.8 .and. params%nzhsym.eq.47) ndec47=ndecoded
|
||||
if(params%nmode.eq.8 .and. params%nzhsym.eq.50) then
|
||||
ndecoded=ndec41+ndec47+ndecoded
|
||||
endif
|
||||
if(params%nmode.ne.8 .or. params%nzhsym.ge.48 .or. &
|
||||
if(params%nmode.ne.8 .or. params%nzhsym.eq.50 .or. &
|
||||
.not.params%ndiskdat) then
|
||||
write(*,1010) nsynced,ndecoded
|
||||
1010 format('<DecodeFinished>',2i4)
|
||||
|
@ -436,9 +436,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lapon, &
|
||||
call subtractft8(dd0,itone,f1,xdt,.false.)
|
||||
call timer('sub_ft8b',1)
|
||||
endif
|
||||
! write(21,3001) nzhsym,npasses,nqsoprogress,ipass,iaptype,lsubtract, &
|
||||
! f1,xdt,msg37(1:22); flush(21)
|
||||
!3001 format(5i3,L3,f7.1,f9.4,2x,a22)
|
||||
xsig=0.0
|
||||
xnoi=0.0
|
||||
do i=1,79
|
||||
|
@ -68,14 +68,15 @@ contains
|
||||
|
||||
call ft8apset(mycall12,hiscall12,ncontest,apsym2,aph10)
|
||||
dd=iwave
|
||||
if(nzhsym.lt.50) then
|
||||
if(nzhsym.eq.41) then
|
||||
ndecodes=0
|
||||
allmessages=' '
|
||||
allsnrs=0
|
||||
else
|
||||
ndecodes=ndec_early
|
||||
endif
|
||||
if(nzhsym.eq.50 .and. ndec_early.ge.1) then
|
||||
if(nzhsym.gt.41 .and. ndec_early.ge.1) then
|
||||
! print*,'AAA',nzhsym,ndec_early
|
||||
call timer('sub_ft8a',0)
|
||||
do i=1,ndec_early
|
||||
call subtractft8(dd,itone_save(1,i),f1_save(i),xdt_save(i),.true.)
|
||||
@ -156,6 +157,7 @@ contains
|
||||
enddo
|
||||
ndec_early=0
|
||||
if(nzhsym.lt.50) ndec_early=ndecodes
|
||||
! print*,'BBB',nzhsym,ndecodes
|
||||
|
||||
return
|
||||
end subroutine decode
|
||||
|
@ -303,7 +303,7 @@ program jt9
|
||||
shared_data%params%datetime=transfer(datetime,shared_data%params%datetime)
|
||||
if(mode.eq.9 .and. fsplit.ne.2700) shared_data%params%nfa=fsplit
|
||||
if(mode.eq.8) then
|
||||
! "Early" decoding pass, FT8 only
|
||||
! "Early" decoding pass, FT8 only, when jt9 reads data from disk
|
||||
nearly=41
|
||||
shared_data%params%nzhsym=nearly
|
||||
id2a(1:nearly*3456)=shared_data%id2(1:nearly*3456)
|
||||
|
@ -63,12 +63,17 @@ subroutine jt9a()
|
||||
call flush(6)
|
||||
call timer('decoder ',0)
|
||||
if(local_params%nmode.eq.8 .and. local_params%ndiskdat) then
|
||||
! "Early" decoding pass for data read from disk: FT8 only
|
||||
! Early decoding pass, FT8 only, when wsjtx reads from disk
|
||||
nearly=41
|
||||
local_params%nzhsym=nearly
|
||||
id2a(1:nearly*3456)=shared_data%id2(1:nearly*3456)
|
||||
id2a(nearly*3456+1:)=0
|
||||
call multimode_decoder(shared_data%ss,id2a,local_params,12000)
|
||||
nearly=47
|
||||
local_params%nzhsym=nearly
|
||||
id2a(1:nearly*3456)=shared_data%id2(1:nearly*3456)
|
||||
id2a(nearly*3456+1:)=0
|
||||
call multimode_decoder(shared_data%ss,id2a,local_params,12000)
|
||||
local_params%nzhsym=50
|
||||
endif
|
||||
! Normal decoding pass
|
||||
|
@ -1411,7 +1411,8 @@ void MainWindow::dataSink(qint64 frames)
|
||||
m_dialFreqRxWSPR=m_freqNominal;
|
||||
}
|
||||
|
||||
if(m_ihsym==m_hsymStop or (m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData)) {
|
||||
if(m_ihsym==m_hsymStop or (m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData) or
|
||||
(m_mode=="FT8" and m_ihsym==m_earlyDecode2 and !m_diskData)) {
|
||||
if(m_mode=="Echo") {
|
||||
float snr=0;
|
||||
int nfrit=0;
|
||||
@ -1449,10 +1450,11 @@ void MainWindow::dataSink(qint64 frames)
|
||||
dec_data.params.nagain=0;
|
||||
dec_data.params.nzhsym=m_hsymStop;
|
||||
if(m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData) dec_data.params.nzhsym=m_earlyDecode;
|
||||
if(m_mode=="FT8" and m_ihsym==m_earlyDecode2 and !m_diskData) dec_data.params.nzhsym=m_earlyDecode2;
|
||||
QDateTime now {QDateTime::currentDateTimeUtc ()};
|
||||
m_dateTime = now.toString ("yyyy-MMM-dd hh:mm");
|
||||
if(!m_mode.startsWith ("WSPR")) decode(); //Start decoder
|
||||
if(m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData) return;
|
||||
if(m_mode=="FT8" and !m_diskData and (m_ihsym==m_earlyDecode or m_ihsym==m_earlyDecode2)) return;
|
||||
|
||||
if(!m_diskData) { //Always save; may delete later
|
||||
if(m_mode=="FT8" or m_mode=="FT4") {
|
||||
@ -2845,6 +2847,7 @@ void MainWindow::decode() //decode()
|
||||
if(m_mode=="FT4") ms=1000.0*(2.0-m_TRperiod);
|
||||
//Adjust for FT8 early decode:
|
||||
if(m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData) ms+=(m_hsymStop-m_earlyDecode)*288;
|
||||
if(m_mode=="FT8" and m_ihsym==m_earlyDecode2 and !m_diskData) ms+=(m_hsymStop-m_earlyDecode2)*288;
|
||||
QDateTime t=QDateTime::currentDateTimeUtc().addMSecs(ms);
|
||||
ihr=t.toString("hh").toInt();
|
||||
imin=t.toString("mm").toInt();
|
||||
@ -3045,14 +3048,16 @@ void MainWindow::decodeDone ()
|
||||
m_RxLog=0;
|
||||
m_blankLine=true;
|
||||
if(m_mode=="FT8" and dec_data.params.nzhsym==m_earlyDecode) m_blankLine=false;
|
||||
if(m_mode=="FT8" and dec_data.params.nzhsym==m_earlyDecode2) m_blankLine=false;
|
||||
if(SpecOp::FOX == m_config.special_op_id()) houndCallers();
|
||||
qDebug() << "cc" << QDateTime::currentDateTimeUtc().toString("hh:mm:ss.zzz") << "decodeDone()";
|
||||
}
|
||||
|
||||
void MainWindow::readFromStdout() //readFromStdout
|
||||
{
|
||||
while(proc_jt9.canReadLine()) {
|
||||
auto line_read = proc_jt9.readLine ();
|
||||
// qDebug() << "cc" << line_read;
|
||||
// qDebug() << "aa" << line_read;
|
||||
if (auto p = std::strpbrk (line_read.constData (), "\n\r"))
|
||||
{
|
||||
// truncate before line ending chars
|
||||
@ -3066,6 +3071,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
||||
bool bAvgMsg=false;
|
||||
int navg=0;
|
||||
if(line_read.indexOf("<DecodeFinished>") >= 0) {
|
||||
// qDebug() << "bb" << QDateTime::currentDateTimeUtc().toString("hh:mm:ss.zzz") << line_read;
|
||||
if(m_mode=="QRA64") m_wideGraph->drawRed(0,0);
|
||||
m_bDecoded = line_read.mid(20).trimmed().toInt() > 0;
|
||||
int mswait=750.0*m_TRperiod;
|
||||
|
@ -468,6 +468,7 @@ private:
|
||||
qint32 m_nSentFoxRrpt=0; //Serial number for next R+rpt Hound will send to Fox
|
||||
qint32 m_kin0=0;
|
||||
qint32 m_earlyDecode=41;
|
||||
qint32 m_earlyDecode2=47;
|
||||
|
||||
bool m_btxok; //True if OK to transmit
|
||||
bool m_diskData;
|
||||
|
Loading…
Reference in New Issue
Block a user