mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05: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,   &
 | 
			
		||||
     napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,bcontest,sync0,f1,xdt,xbase,   &
 | 
			
		||||
     apsym,nharderrors,dmin,nbadcrc,ipass,iera,msg32,xsnr)  
 | 
			
		||||
     napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,hiscall12,bcontest,    &
 | 
			
		||||
     sync0,f1,xdt,xbase,apsym,nharderrors,dmin,nbadcrc,ipass,iera,msg32,xsnr)  
 | 
			
		||||
 | 
			
		||||
  use crc
 | 
			
		||||
  use timer_module, only: timer
 | 
			
		||||
@ -8,8 +8,8 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,
 | 
			
		||||
  parameter(NRECENT=10,NP2=2812)
 | 
			
		||||
  character*32 msg32
 | 
			
		||||
  character message*22,msgsent*22
 | 
			
		||||
  character*12 mycall12,recent_calls(NRECENT)
 | 
			
		||||
  character*6 mycall6,mygrid6,c1,c2
 | 
			
		||||
  character*12 mycall12,hiscall12,recent_calls(NRECENT)
 | 
			
		||||
  character*6 mycall6,mygrid6,hiscall6,c1,c2
 | 
			
		||||
  character*87 cbits
 | 
			
		||||
  logical bcontest
 | 
			
		||||
  real a(5)
 | 
			
		||||
@ -25,9 +25,9 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,
 | 
			
		||||
  integer itone(NN)
 | 
			
		||||
  integer indxs1(8*ND)
 | 
			
		||||
  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*1, target:: i1mycall(6)
 | 
			
		||||
  integer*1, target:: i1hiscall(6)
 | 
			
		||||
  complex cd0(3200)
 | 
			
		||||
  complex ctwk(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(i3bit.eq.1) then
 | 
			
		||||
           mycall6=mycall12(1:6)
 | 
			
		||||
           hiscall6=hiscall12(1:6)
 | 
			
		||||
           do i=1,6
 | 
			
		||||
              i1mycall(i)=ichar(mycall6(i:i))
 | 
			
		||||
              i1hiscall(i)=ichar(hiscall6(i:i))
 | 
			
		||||
           enddo
 | 
			
		||||
           icrc10=crc10(c_loc(i1mycall),6)
 | 
			
		||||
           icrc10=crc10(c_loc(i1hiscall),6)
 | 
			
		||||
           write(cbits,1001) decoded
 | 
			
		||||
1001       format(87i1)
 | 
			
		||||
           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
 | 
			
		||||
           c1=message(1:i1)//'   '
 | 
			
		||||
           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//' <...>    '
 | 
			
		||||
           write(msg32(30:32),1010) irpt
 | 
			
		||||
1010       format(i3.2)
 | 
			
		||||
 | 
			
		||||
@ -105,9 +105,10 @@ contains
 | 
			
		||||
        xbase=10.0**(0.1*(sbase(nint(f1/3.125))-40.0))
 | 
			
		||||
        nsnr0=min(99,nint(10.0*log10(sync) - 25.5))    !### empirical ###
 | 
			
		||||
        call timer('ft8b    ',0)
 | 
			
		||||
        call ft8b(dd,newdat,nQSOProgress,nfqso,nftx,ndepth,lft8apon,lapcqonly,       &
 | 
			
		||||
             napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,bcontest,sync,f1,xdt,  &
 | 
			
		||||
             xbase,apsym,nharderrors,dmin,nbadcrc,iappass,iera,msg32,xsnr)
 | 
			
		||||
        call ft8b(dd,newdat,nQSOProgress,nfqso,nftx,ndepth,lft8apon,       &
 | 
			
		||||
             lapcqonly,napwid,lsubtract,nagain,iaptype,mycall12,mygrid6,   &
 | 
			
		||||
             hiscall12,bcontest,sync,f1,xdt,xbase,apsym,nharderrors,dmin,  &
 | 
			
		||||
             nbadcrc,iappass,iera,msg32,xsnr)
 | 
			
		||||
        message=msg32(1:22)   !###
 | 
			
		||||
        nsnr=nint(xsnr) 
 | 
			
		||||
        xdt=xdt-0.5
 | 
			
		||||
 | 
			
		||||
@ -2933,6 +2933,7 @@ void MainWindow::readFromStdout()                             //readFromStdout
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          QStringList w=decodedtext.string().mid(24).split(" ",QString::SkipEmptyParts);
 | 
			
		||||
          if(w.size()==3) {
 | 
			
		||||
            QString foxCall=w.at(1);
 | 
			
		||||
            if(w.at(0)==m_config.my_callsign()) {
 | 
			
		||||
              if(w.at(2)=="RR73") {
 | 
			
		||||
@ -2949,6 +2950,7 @@ void MainWindow::readFromStdout()                             //readFromStdout
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -3858,6 +3860,7 @@ void MainWindow::on_txb1_clicked()
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
  auto const& my_callsign = m_config.my_callsign ();
 | 
			
		||||
  auto is_compound = my_callsign != m_baseCall;
 | 
			
		||||
@ -3998,7 +4001,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
 | 
			
		||||
  if (message.isTX()) {
 | 
			
		||||
    if (!m_config.enable_VHF_features()) {
 | 
			
		||||
      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;
 | 
			
		||||
  }
 | 
			
		||||
@ -4086,7 +4091,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
 | 
			
		||||
         && firstcall != m_config.my_callsign () && firstcall != m_baseCall
 | 
			
		||||
         && firstcall != "DE")
 | 
			
		||||
        || "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") &&
 | 
			
		||||
         m_mode != "QRA64" && m_mode!="FT8") {
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user