mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-21 23:12:33 -04:00
Fix a number of minor bugs in FT8 DXpedition mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8340 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
28c9bde5a5
commit
8f7ca2851c
@ -1,6 +1,6 @@
|
|||||||
subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
|
subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
|
||||||
napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,bcontest,sync0,f1,xdt,xbase, &
|
napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,hiscall12,bcontest, &
|
||||||
apsym,nharderrors,dmin,nbadcrc,ipass,iera,msg32,xsnr)
|
sync0,f1,xdt,xbase,apsym,nharderrors,dmin,nbadcrc,ipass,iera,msg32,xsnr)
|
||||||
|
|
||||||
use crc
|
use crc
|
||||||
use timer_module, only: timer
|
use timer_module, only: timer
|
||||||
@ -8,8 +8,8 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,
|
|||||||
parameter(NRECENT=10,NP2=2812)
|
parameter(NRECENT=10,NP2=2812)
|
||||||
character*32 msg32
|
character*32 msg32
|
||||||
character message*22,msgsent*22
|
character message*22,msgsent*22
|
||||||
character*12 mycall12,recent_calls(NRECENT)
|
character*12 mycall12,hiscall12,recent_calls(NRECENT)
|
||||||
character*6 mycall6,mygrid6,c1,c2
|
character*6 mycall6,mygrid6,hiscall6,c1,c2
|
||||||
character*87 cbits
|
character*87 cbits
|
||||||
logical bcontest
|
logical bcontest
|
||||||
real a(5)
|
real a(5)
|
||||||
@ -25,9 +25,9 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,
|
|||||||
integer itone(NN)
|
integer itone(NN)
|
||||||
integer indxs1(8*ND)
|
integer indxs1(8*ND)
|
||||||
integer icos7(0:6),ip(1)
|
integer icos7(0:6),ip(1)
|
||||||
integer nappasses(0:5) ! the number of decoding passes to use for each QSO state
|
integer nappasses(0:5) !Number of decoding passes to use for each QSO state
|
||||||
integer naptypes(0:5,4) ! (nQSOProgress, decoding pass) maximum of 4 passes for now
|
integer naptypes(0:5,4) ! (nQSOProgress, decoding pass) maximum of 4 passes for now
|
||||||
integer*1, target:: i1mycall(6)
|
integer*1, target:: i1hiscall(6)
|
||||||
complex cd0(3200)
|
complex cd0(3200)
|
||||||
complex ctwk(32)
|
complex ctwk(32)
|
||||||
complex csymb(32)
|
complex csymb(32)
|
||||||
@ -398,11 +398,11 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,
|
|||||||
if(xsnr .lt. -24.0) xsnr=-24.0
|
if(xsnr .lt. -24.0) xsnr=-24.0
|
||||||
|
|
||||||
if(i3bit.eq.1) then
|
if(i3bit.eq.1) then
|
||||||
mycall6=mycall12(1:6)
|
hiscall6=hiscall12(1:6)
|
||||||
do i=1,6
|
do i=1,6
|
||||||
i1mycall(i)=ichar(mycall6(i:i))
|
i1hiscall(i)=ichar(hiscall6(i:i))
|
||||||
enddo
|
enddo
|
||||||
icrc10=crc10(c_loc(i1mycall),6)
|
icrc10=crc10(c_loc(i1hiscall),6)
|
||||||
write(cbits,1001) decoded
|
write(cbits,1001) decoded
|
||||||
1001 format(87i1)
|
1001 format(87i1)
|
||||||
read(cbits,1002) ncrc10,nrpt
|
read(cbits,1002) ncrc10,nrpt
|
||||||
@ -412,7 +412,8 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,
|
|||||||
i2=index(message(i1+1:),' ') + i1
|
i2=index(message(i1+1:),' ') + i1
|
||||||
c1=message(1:i1)//' '
|
c1=message(1:i1)//' '
|
||||||
c2=message(i1+1:i2)//' '
|
c2=message(i1+1:i2)//' '
|
||||||
if(ncrc10.eq.icrc10) msg32=c1//' RR73; '//c2//' <'//trim(mycall6)//'> '
|
if(ncrc10.eq.icrc10) msg32=c1//' RR73; '//c2//' <'// &
|
||||||
|
trim(hiscall6)//'> '
|
||||||
if(ncrc10.ne.icrc10) msg32=c1//' RR73; '//c2//' <...> '
|
if(ncrc10.ne.icrc10) msg32=c1//' RR73; '//c2//' <...> '
|
||||||
write(msg32(30:32),1010) irpt
|
write(msg32(30:32),1010) irpt
|
||||||
1010 format(i3.2)
|
1010 format(i3.2)
|
||||||
|
@ -105,9 +105,10 @@ contains
|
|||||||
xbase=10.0**(0.1*(sbase(nint(f1/3.125))-40.0))
|
xbase=10.0**(0.1*(sbase(nint(f1/3.125))-40.0))
|
||||||
nsnr0=min(99,nint(10.0*log10(sync) - 25.5)) !### empirical ###
|
nsnr0=min(99,nint(10.0*log10(sync) - 25.5)) !### empirical ###
|
||||||
call timer('ft8b ',0)
|
call timer('ft8b ',0)
|
||||||
call ft8b(dd,newdat,nQSOProgress,nfqso,nftx,ndepth,lft8apon,lapcqonly, &
|
call ft8b(dd,newdat,nQSOProgress,nfqso,nftx,ndepth,lft8apon, &
|
||||||
napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,bcontest,sync,f1,xdt, &
|
lapcqonly,napwid,lsubtract,nagain,iaptype,mycall12,mygrid6, &
|
||||||
xbase,apsym,nharderrors,dmin,nbadcrc,iappass,iera,msg32,xsnr)
|
hiscall12,bcontest,sync,f1,xdt,xbase,apsym,nharderrors,dmin, &
|
||||||
|
nbadcrc,iappass,iera,msg32,xsnr)
|
||||||
message=msg32(1:22) !###
|
message=msg32(1:22) !###
|
||||||
nsnr=nint(xsnr)
|
nsnr=nint(xsnr)
|
||||||
xdt=xdt-0.5
|
xdt=xdt-0.5
|
||||||
|
@ -2933,6 +2933,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
QStringList w=decodedtext.string().mid(24).split(" ",QString::SkipEmptyParts);
|
QStringList w=decodedtext.string().mid(24).split(" ",QString::SkipEmptyParts);
|
||||||
|
if(w.size()==3) {
|
||||||
QString foxCall=w.at(1);
|
QString foxCall=w.at(1);
|
||||||
if(w.at(0)==m_config.my_callsign()) {
|
if(w.at(0)==m_config.my_callsign()) {
|
||||||
if(w.at(2)=="RR73") {
|
if(w.at(2)=="RR73") {
|
||||||
@ -2949,6 +2950,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3858,6 +3860,7 @@ void MainWindow::on_txb1_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_txb1_doubleClicked()
|
void MainWindow::on_txb1_doubleClicked()
|
||||||
{
|
{
|
||||||
|
if(m_mode=="FT8" and m_config.bHound()) return;
|
||||||
// skip Tx1, only allowed if not a type 1 compound callsign
|
// skip Tx1, only allowed if not a type 1 compound callsign
|
||||||
auto const& my_callsign = m_config.my_callsign ();
|
auto const& my_callsign = m_config.my_callsign ();
|
||||||
auto is_compound = my_callsign != m_baseCall;
|
auto is_compound = my_callsign != m_baseCall;
|
||||||
@ -3998,7 +4001,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
if (message.isTX()) {
|
if (message.isTX()) {
|
||||||
if (!m_config.enable_VHF_features()) {
|
if (!m_config.enable_VHF_features()) {
|
||||||
if(!shift) ui->RxFreqSpinBox->setValue(frequency); //Set Rx freq
|
if(!shift) ui->RxFreqSpinBox->setValue(frequency); //Set Rx freq
|
||||||
if((ctrl or shift) and !m_holdTxFreq) ui->TxFreqSpinBox->setValue(frequency); //Set Tx freq
|
if((ctrl or shift) and !m_holdTxFreq) {
|
||||||
|
ui->TxFreqSpinBox->setValue(frequency); //Set Tx freq
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -4086,7 +4091,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
&& firstcall != m_config.my_callsign () && firstcall != m_baseCall
|
&& firstcall != m_config.my_callsign () && firstcall != m_baseCall
|
||||||
&& firstcall != "DE")
|
&& firstcall != "DE")
|
||||||
|| "CQ" == firstcall || "QRZ" == firstcall || ctrl || shift) {
|
|| "CQ" == firstcall || "QRZ" == firstcall || ctrl || shift) {
|
||||||
if (!m_holdTxFreq or shift or ctrl) ui->TxFreqSpinBox->setValue(frequency);
|
if (!m_holdTxFreq and (shift or ctrl)) {
|
||||||
|
ui->TxFreqSpinBox->setValue(frequency);
|
||||||
|
}
|
||||||
if(m_mode != "JT4" && m_mode != "JT65" && !m_mode.startsWith ("JT9") &&
|
if(m_mode != "JT4" && m_mode != "JT65" && !m_mode.startsWith ("JT9") &&
|
||||||
m_mode != "QRA64" && m_mode!="FT8") {
|
m_mode != "QRA64" && m_mode!="FT8") {
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user