mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-21 19:48:54 -04:00
Preparing to allow calling a SuperFox decoder.
This commit is contained in:
parent
b299700d97
commit
835e4936c1
@ -64,6 +64,8 @@ typedef struct dec_data {
|
||||
char mygrid[6];
|
||||
char hiscall[12];
|
||||
char hisgrid[6];
|
||||
bool b_even_seq;
|
||||
bool b_superfox;
|
||||
} params;
|
||||
} dec_data_t;
|
||||
|
||||
|
@ -124,8 +124,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
||||
|
||||
if(params%nmode.eq.8) then
|
||||
! We're in FT8 mode
|
||||
|
||||
if(ncontest.eq.6) then
|
||||
if(ncontest.eq.6) then !Fox=6, Hound=7
|
||||
! Fox mode: initialize and open houndcallers.txt
|
||||
inquire(file=trim(temp_dir)//'/houndcallers.txt',exist=ex)
|
||||
if(.not.ex) then
|
||||
@ -140,19 +139,25 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
||||
open(19,file=trim(temp_dir)//'/houndcallers.txt',status='unknown')
|
||||
endif
|
||||
|
||||
call timer('decft8 ',0)
|
||||
newdat=params%newdat
|
||||
if(params%emedelay.ne.0.0) then
|
||||
id2(1:156000)=id2(24001:180000) ! Drop the first 2 seconds of data
|
||||
id2(156001:180000)=0
|
||||
if(ncontest.eq.7 .and. params%b_superfox .and. params%b_even_seq) then
|
||||
! Call the superFox decoder
|
||||
print*,'Calling SuperFox decoder',params%nzhsym,params%b_superfox, &
|
||||
params%b_even_seq
|
||||
else
|
||||
call timer('decft8 ',0)
|
||||
newdat=params%newdat
|
||||
if(params%emedelay.ne.0.0) then
|
||||
id2(1:156000)=id2(24001:180000) ! Drop the first 2 seconds of data
|
||||
id2(156001:180000)=0
|
||||
endif
|
||||
call my_ft8%decode(ft8_decoded,id2,params%nQSOProgress,params%nfqso, &
|
||||
params%nftx,newdat,params%nutc,params%nfa,params%nfb, &
|
||||
params%nzhsym,params%ndepth,params%emedelay,ncontest, &
|
||||
logical(params%nagain),logical(params%lft8apon), &
|
||||
logical(params%lapcqonly),params%napwid,mycall,hiscall, &
|
||||
params%ndiskdat)
|
||||
call timer('decft8 ',1)
|
||||
endif
|
||||
call my_ft8%decode(ft8_decoded,id2,params%nQSOProgress,params%nfqso, &
|
||||
params%nftx,newdat,params%nutc,params%nfa,params%nfb, &
|
||||
params%nzhsym,params%ndepth,params%emedelay,ncontest, &
|
||||
logical(params%nagain),logical(params%lft8apon), &
|
||||
logical(params%lapcqonly),params%napwid,mycall,hiscall, &
|
||||
params%ndiskdat)
|
||||
call timer('decft8 ',1)
|
||||
if(nfox.gt.0) then
|
||||
n30min=minval(n30fox(1:nfox))
|
||||
n30max=maxval(n30fox(1:nfox))
|
||||
|
@ -47,6 +47,8 @@
|
||||
character(kind=c_char) :: mygrid(6)
|
||||
character(kind=c_char) :: hiscall(12)
|
||||
character(kind=c_char) :: hisgrid(6)
|
||||
logical(c_bool) :: b_even_seq
|
||||
logical(c_bool) :: b_superfox
|
||||
end type params_block
|
||||
|
||||
type, bind(C) :: dec_data
|
||||
|
@ -3456,6 +3456,12 @@ void MainWindow::decode() //decode()
|
||||
dec_data.params.nfb=m_wideGraph->Fmax();
|
||||
if(m_mode=="FT8" and SpecOp::HOUND == m_specOp and !ui->cbRxAll->isChecked()) dec_data.params.nfb=1000;
|
||||
if(m_mode=="FT8" and SpecOp::FOX == m_specOp ) dec_data.params.nfqso=200;
|
||||
dec_data.params.b_even_seq=(dec_data.params.nutc%10)==0;
|
||||
dec_data.params.b_superfox=(m_config.superFox() and (SpecOp::FOX == m_specOp or SpecOp::HOUND == m_specOp));
|
||||
if(dec_data.params.b_superfox and dec_data.params.b_even_seq and m_ihsym<50) return;
|
||||
// qDebug() << "aa" << dec_data.params.nutc << dec_data.params.b_even_seq
|
||||
// << dec_data.params.b_superfox << m_ihsym;
|
||||
|
||||
dec_data.params.ntol=ui->sbFtol->value ();
|
||||
if(!m_config.enable_VHF_features()) {
|
||||
dec_data.params.ntol=20;
|
||||
@ -3515,7 +3521,7 @@ void MainWindow::decode() //decode()
|
||||
if(m_config.single_decode()) dec_data.params.nexp_decode += 32;
|
||||
if(m_config.enable_VHF_features()) dec_data.params.nexp_decode += 64;
|
||||
if(m_mode.startsWith("FST4")) dec_data.params.nexp_decode += 256*(ui->sbNB->value()+3);
|
||||
dec_data.params.max_drift=ui->sbMaxDrift->value();
|
||||
dec_data.params.max_drift=ui->sbMaxDrift->value();
|
||||
|
||||
::memcpy(dec_data.params.datetime, m_dateTime.toLatin1()+" ", sizeof dec_data.params.datetime);
|
||||
::memcpy(dec_data.params.mycall, (m_config.my_callsign()+" ").toLatin1(), sizeof dec_data.params.mycall);
|
||||
@ -7178,7 +7184,7 @@ void MainWindow::on_actionFT8_triggered()
|
||||
// 01234567890123456789012345678901234567
|
||||
displayWidgets(nWidgets("11101000010011100001000000000010000000"));
|
||||
if(m_config.superFox()) {
|
||||
ui->labDXped->setText(tr ("SuperFox"));
|
||||
ui->labDXped->setText(tr ("Super Fox"));
|
||||
} else {
|
||||
ui->labDXped->setText(tr ("Fox"));
|
||||
}
|
||||
@ -7194,7 +7200,7 @@ void MainWindow::on_actionFT8_triggered()
|
||||
// 01234567890123456789012345678901234567
|
||||
displayWidgets(nWidgets("11101000010011000001000000000011000000"));
|
||||
if(m_config.superFox()) {
|
||||
ui->labDXped->setText(tr ("SuperHound"));
|
||||
ui->labDXped->setText(tr ("Super Hound"));
|
||||
} else {
|
||||
ui->labDXped->setText(tr ("Hound"));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user