mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	Send m_i3, m_n3, m_isync from mainwindow to genft8.f90 and use these to determine the type of generated message, according to the scheme described in lib/77bit/NewCode.txt.
This commit is contained in:
		
							parent
							
								
									d6493a62fa
								
							
						
					
					
						commit
						cf64cad091
					
				| @ -58,7 +58,7 @@ subroutine foxgen() | ||||
|         msg=cmsg(n)(1:i1)//cmsg(n)(i2+1:i3-2)//'                   ' | ||||
|         read(cmsg(n)(i4+2:i4+4),*) irpt | ||||
|      endif | ||||
|      call genft8(msg,mygrid,bcontest,0,1,msgsent,msgbits,itone) | ||||
|      call genft8(msg,mygrid,bcontest,0,1,1,msgsent,msgbits,itone) | ||||
| !     print*,'Foxgen:',n,cmsg(n),msgsent | ||||
| 
 | ||||
|      if(i3b.eq.1) then | ||||
|  | ||||
| @ -16,9 +16,10 @@ subroutine ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym) | ||||
|   hisgrid=hisgrid6(1:4) | ||||
|   if(index(hisgrid," ").eq.0) hisgrid="AA00" | ||||
|   msg=mycall//' '//hiscall//' '//hisgrid | ||||
|   i3=-1                                       ! ### TEMPORARY ??? ### | ||||
|   i3=0                                       ! ### TEMPORARY ??? ### | ||||
|   n3=0 !TEMPORARY | ||||
|   call genft8(msg,mygrid6,bcontest,i3,n3,msgsent,msgbits,itone) | ||||
|   isync=1 | ||||
|   call genft8(msg,mygrid6,bcontest,i3,n3,isync,msgsent,msgbits,itone) | ||||
|   apsym=2*msgbits-1 | ||||
|   return | ||||
| end subroutine ft8apset | ||||
|  | ||||
| @ -381,9 +381,10 @@ subroutine ft8b_1(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly,   & | ||||
|         call extractmessage174(decoded,message,ncrcflag) | ||||
|         decoded=decoded0 | ||||
| ! This needs fixing for messages with i3bit=1:   | ||||
|         i3=-1  !TEMPORARY   | ||||
|         n3=0     | ||||
|         call genft8(message,mygrid6,bcontest,i3,0,msgsent,msgbits,itone) | ||||
|         i3=0  !TEMPORARY   | ||||
|         n3=0  | ||||
|         isync=1    | ||||
|         call genft8(message,mygrid6,bcontest,i3,n3,isync,msgsent,msgbits,itone) | ||||
|         if(lsubtract) call subtractft8(dd0,itone,f1,xdt2) | ||||
|         xsig=0.0 | ||||
|         xnoi=0.0 | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| subroutine genft8(msg,mygrid,bcontest,i3,n3,msgsent,msgbits,itone) | ||||
| subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone) | ||||
| 
 | ||||
| ! Encode an FT8 message, producing array itone(). | ||||
|    | ||||
| @ -17,17 +17,9 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,msgsent,msgbits,itone) | ||||
|   integer icos7(0:6) | ||||
|   data icos7/2,5,6,0,4,1,3/                   !Costas 7x7 tone pattern | ||||
| 
 | ||||
|   itype=1 | ||||
|   if( ( i3.eq.0 .and. n3.ge.1) .or. i3.ge.1 ) itype=2 | ||||
|   if(isync.eq.2 ) goto 900 | ||||
| 
 | ||||
| !write(*,*) 'generating type ',itype,' message' | ||||
| !write(*,*) 'msg ',msg,i3,n3 | ||||
| 
 | ||||
|   if(itype.eq.2 ) goto 900 | ||||
|   i3=i3*i3 | ||||
|   n3=n3*n3 | ||||
| 
 | ||||
|   call packmsg(msg,i4Msg6BitWords,itype,bcontest) !Pack into 12 6-bit bytes | ||||
|   call packmsg(msg,i4Msg6BitWords,istdtype,bcontest) !Pack into 12 6-bit bytes | ||||
|   call unpackmsg(i4Msg6BitWords,msgsent,bcontest,mygrid) !Unpack to get msgsent | ||||
| 
 | ||||
|   write(cbits,1000) i4Msg6BitWords,32*i3 | ||||
|  | ||||
| @ -77,7 +77,7 @@ extern "C" { | ||||
|               fortran_charlen_t); | ||||
| //  float s[], int* jh, char line[], char mygrid[],
 | ||||
| 
 | ||||
|   void genft8_(char* msg, char* MyGrid, bool* bcontest, int* i3, int* n3, char* msgsent, | ||||
|   void genft8_(char* msg, char* MyGrid, bool* bcontest, int* i3, int* n3, int* isync, char* msgsent, | ||||
|                char ft8msgbits[], int itone[], fortran_charlen_t, fortran_charlen_t, | ||||
|                fortran_charlen_t); | ||||
| 
 | ||||
| @ -3479,11 +3479,13 @@ void MainWindow::guiUpdate() | ||||
|             if(m_config.bFox() and ui->tabWidget->currentIndex()==2) { | ||||
|               foxTxSequencer(); | ||||
|             } else { | ||||
|               m_i3=-1;  // Temporary!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | ||||
|               m_i3=0;  // Temporary!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | ||||
|               m_n3=0; | ||||
|               m_isync=1; | ||||
| //              if(m_config.bGenerate77()) m_isync=2;
 | ||||
|               char ft8msgbits[75 + 12]; //packed 75 bit ft8 message plus 12-bit CRC
 | ||||
|               genft8_(message, MyGrid, &bcontest, &m_i3, &m_n3, msgsent, const_cast<char *> (ft8msgbits), | ||||
|                       const_cast<int *> (itone), 22, 6, 22); | ||||
|               genft8_(message, MyGrid, &bcontest, &m_i3, &m_n3, &m_isync, msgsent,  | ||||
|                       const_cast<char *> (ft8msgbits), const_cast<int *> (itone), 22, 6, 22); | ||||
|               if(m_config.bFox()) { | ||||
|                 QString fm = QString::fromStdString(message).trimmed(); | ||||
|                 foxGenWaveform(0,fm); | ||||
|  | ||||
| @ -423,6 +423,7 @@ private: | ||||
|   qint32  m_wait; | ||||
|   qint32  m_i3; | ||||
|   qint32  m_n3; | ||||
|   qint32  m_isync; | ||||
|   qint32  m_isort; | ||||
|   qint32  m_max_dB; | ||||
|   qint32  m_nDXped=0; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user