mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	Don't execute AutoSeq steps after sending a 73.
For FT8 mode:
  1. Open LU 13 in the proper way.
  2. Disable diagnostic LU 51.
  3. Add keyboard shortcuts CTRL+Plus, CTRL-Minus, to adjust audio Tx frequency
     in even 50 Hz steps.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7749 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
			
			
This commit is contained in:
		
							parent
							
								
									804543c6f8
								
							
						
					
					
						commit
						e20bd5eae1
					
				| @ -50,6 +50,22 @@ subroutine multimode_decoder(ss,id2,params,nfsample) | ||||
|   if(mod(params%nranera,2).eq.1) ntrials=3*10**(params%nranera/2) | ||||
|   if(params%nranera.eq.0) ntrials=0 | ||||
|    | ||||
|   nfail=0 | ||||
| 10 if (params%nagain) then | ||||
|      open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown',            & | ||||
|           position='append',iostat=ios) | ||||
|   else | ||||
|      open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown',            & | ||||
|           iostat=ios) | ||||
|   end if | ||||
|   if(ios.ne.0) then | ||||
|      nfail=nfail+1 | ||||
|      if(nfail.le.3) then | ||||
|         call sleep_msec(100) | ||||
|         go to 10 | ||||
|      endif | ||||
|   endif | ||||
| 
 | ||||
|   if(params%nmode.eq.8) then | ||||
| ! We're in FT8 mode | ||||
|      call timer('decft8  ',0) | ||||
| @ -61,7 +77,6 @@ subroutine multimode_decoder(ss,id2,params,nfsample) | ||||
|      go to 800 | ||||
|   endif | ||||
| 
 | ||||
|    | ||||
|   rms=sqrt(dot_product(float(id2(300000:310000)),            & | ||||
|        float(id2(300000:310000)))/10000.0) | ||||
|   if(rms.lt.2.0) go to 800 | ||||
| @ -88,22 +103,6 @@ subroutine multimode_decoder(ss,id2,params,nfsample) | ||||
| !     id2(1:nz)=0                ! temporarily disabled as it can breaak the JT9 decoder, maybe others | ||||
|   endif | ||||
|    | ||||
|   nfail=0 | ||||
| 10 if (params%nagain) then | ||||
|      open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown',            & | ||||
|           position='append',iostat=ios) | ||||
|   else | ||||
|      open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown',            & | ||||
|           iostat=ios) | ||||
|   end if | ||||
|   if(ios.ne.0) then | ||||
|      nfail=nfail+1 | ||||
|      if(nfail.le.3) then | ||||
|         call sleep_msec(100) | ||||
|         go to 10 | ||||
|      endif | ||||
|   endif | ||||
|    | ||||
|   if(params%nmode.eq.4 .or. params%nmode.eq.65) open(14,file=trim(temp_dir)// & | ||||
|        '/avemsg.txt',status='unknown') | ||||
|   if(params%nmode.eq.164) open(17,file=trim(temp_dir)//'/red.dat',          & | ||||
|  | ||||
| @ -61,9 +61,9 @@ contains | ||||
|             f1,nbadcrc,message) | ||||
| !       write(13,1110) datetime,0,nsnr,xdt,f1,nharderrors,dmin,message | ||||
| !1110   format(a13,2i4,f6.2,f7.1,i4,' ~ ',f6.2,2x,a22,'  FT8') | ||||
|        write(51,3051) xdt,f1,sync,dmin,nsnr,nharderrors,nbadcrc,message | ||||
| 3051   format(4f9.1,3i5,2x,a22) | ||||
|        flush(51) | ||||
| !       write(51,3051) xdt,f1,sync,dmin,nsnr,nharderrors,nbadcrc,message | ||||
| !3051   format(4f9.1,3i5,2x,a22) | ||||
| !       flush(51) | ||||
|     enddo | ||||
| 
 | ||||
|     return | ||||
|  | ||||
| @ -1432,7 +1432,7 @@ void MainWindow::fastSink(qint64 frames) | ||||
|     if(i1>10 and i2>i1+3) { | ||||
|       if (ui->cbAutoSeq->isVisible () && ui->cbAutoSeq->isChecked () | ||||
|          && (message.indexOf (" 73") < 0 || m_ntx != 6)) { | ||||
|         processMessage (message,43,false); | ||||
|         if(!m_sentFirst73) processMessage (message,43,false); | ||||
|       } | ||||
|     } | ||||
|     if (m_mode != "ISCAT") postDecode (true, decodedtext.string ()); | ||||
| @ -1741,6 +1741,27 @@ void MainWindow::keyPressEvent (QKeyEvent * e) | ||||
|         return; | ||||
|       } | ||||
|       break; | ||||
|     case Qt::Key_Plus: | ||||
|       if(e->modifiers() & Qt::ControlModifier) { | ||||
|         int f=ui->TxFreqSpinBox->value()/50; | ||||
|         ui->TxFreqSpinBox->setValue(50*(f+1)); | ||||
|         return; | ||||
|       } | ||||
|       break; | ||||
|     case Qt::Key_Equal: | ||||
|       if(e->modifiers() & Qt::ControlModifier) { | ||||
|         int f=ui->TxFreqSpinBox->value()/50; | ||||
|         ui->TxFreqSpinBox->setValue(50*(f+1)); | ||||
|         return; | ||||
|       } | ||||
|       break; | ||||
|     case Qt::Key_Minus: | ||||
|       if(e->modifiers() & Qt::ControlModifier) { | ||||
|         int f=ui->TxFreqSpinBox->value()/50; | ||||
|         ui->TxFreqSpinBox->setValue(50*(f-1)); | ||||
|         return; | ||||
|       } | ||||
|     break; | ||||
|   } | ||||
| 
 | ||||
|   QMainWindow::keyPressEvent (e); | ||||
| @ -2514,7 +2535,7 @@ void::MainWindow::fast_decode_done() | ||||
|        && ui->cbAutoSeq->isVisible () && ui->cbAutoSeq->isChecked () | ||||
|        && tmax >= 0.0 && i1 > 10 && i2 > i1 + 3) { | ||||
|       if (msg0.indexOf (" 73") < 0 || m_ntx != 6) { | ||||
|         processMessage(msg0,43,false); | ||||
|         if(!m_sentFirst73) processMessage(msg0,43,false); | ||||
|       } | ||||
|     } | ||||
|     if(m_msg[i][0]==0) break; | ||||
| @ -2734,7 +2755,7 @@ void MainWindow::FT8_AutoSeq(QString message) | ||||
|   int i2=message.indexOf(m_hisCall); | ||||
|   if(i1>10 and i2>i1+3) { | ||||
|     if ((message.indexOf (" 73") < 0 || m_ntx != 6)) { | ||||
|       processMessage (message,43,false); | ||||
|       if(ui->cbAutoSeq->isChecked() and !m_sentFirst73) processMessage (message,43,false); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user