mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	Correct the bounds error test in avecho. Ensure proper GUI controls
visible in Echo mode. Reset nsum=0 when Tx Enable is toggled ON in Echo mode. Don't restart Monitor after finishing a sequence of Echo transmissions. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5584 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									7287bdb05f
								
							
						
					
					
						commit
						289b4c70f8
					
				@ -94,11 +94,13 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,xlevel,sigdb,snr,dfreq,width)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  sum=0.
 | 
					  sum=0.
 | 
				
			||||||
  do i=ipk,ipk+300
 | 
					  do i=ipk,ipk+300
 | 
				
			||||||
     if(i.gt.NZ .or. red(i).lt.1.0) exit
 | 
					     if(i.gt.NZ) exit
 | 
				
			||||||
 | 
					     if(red(i).lt.1.0) exit
 | 
				
			||||||
     sum=sum+(red(i)-1.0)
 | 
					     sum=sum+(red(i)-1.0)
 | 
				
			||||||
  enddo
 | 
					  enddo
 | 
				
			||||||
  do i=ipk-1,ipk-300,-1
 | 
					  do i=ipk-1,ipk-300,-1
 | 
				
			||||||
     if(i.lt.1 .or. red(i).lt.1.0) exit
 | 
					     if(i.lt.1) exit
 | 
				
			||||||
 | 
					     if(red(i).lt.1.0) exit
 | 
				
			||||||
     sum=sum+(red(i)-1.0)
 | 
					     sum=sum+(red(i)-1.0)
 | 
				
			||||||
  enddo
 | 
					  enddo
 | 
				
			||||||
  bins=sum/(red(ipk)-1.0)
 | 
					  bins=sum/(red(ipk)-1.0)
 | 
				
			||||||
 | 
				
			|||||||
@ -438,6 +438,7 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme
 | 
				
			|||||||
  m_bEchoTxOK=false;
 | 
					  m_bEchoTxOK=false;
 | 
				
			||||||
  m_bTransmittedEcho=false;
 | 
					  m_bTransmittedEcho=false;
 | 
				
			||||||
  m_nclearave=1;
 | 
					  m_nclearave=1;
 | 
				
			||||||
 | 
					  m_bEchoTxed=false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  signalMeter = new SignalMeter(ui->meterFrame);
 | 
					  signalMeter = new SignalMeter(ui->meterFrame);
 | 
				
			||||||
  signalMeter->resize(50, 160);
 | 
					  signalMeter->resize(50, 160);
 | 
				
			||||||
@ -840,6 +841,8 @@ void MainWindow::dataSink(qint64 frames)
 | 
				
			|||||||
      ui->decodedTextBrowser->appendText(t);
 | 
					      ui->decodedTextBrowser->appendText(t);
 | 
				
			||||||
      if(m_echoGraph->isVisible()) m_echoGraph->plotSpec();
 | 
					      if(m_echoGraph->isVisible()) m_echoGraph->plotSpec();
 | 
				
			||||||
      m_nclearave=0;
 | 
					      m_nclearave=0;
 | 
				
			||||||
 | 
					//Don't restart Monitor after an Echo transmission
 | 
				
			||||||
 | 
					      if(m_bEchoTxed and !m_auto) monitor(false);
 | 
				
			||||||
      return;
 | 
					      return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if( m_dialFreqRxWSPR==0) m_dialFreqRxWSPR=m_dialFreq;
 | 
					    if( m_dialFreqRxWSPR==0) m_dialFreqRxWSPR=m_dialFreq;
 | 
				
			||||||
@ -965,7 +968,7 @@ void MainWindow::on_monitorButton_clicked (bool checked)
 | 
				
			|||||||
  if (!m_transmitting)
 | 
					  if (!m_transmitting)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      auto prior = m_monitoring;
 | 
					      auto prior = m_monitoring;
 | 
				
			||||||
      monitor (checked);
 | 
					      monitor (checked and (m_mode!="Echo"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (checked && !prior)
 | 
					      if (checked && !prior)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -1018,6 +1021,10 @@ void MainWindow::on_autoButton_clicked (bool checked)
 | 
				
			|||||||
                                  m_modeTx, ui->autoButton->isChecked (),
 | 
					                                  m_modeTx, ui->autoButton->isChecked (),
 | 
				
			||||||
                                  m_transmitting);
 | 
					                                  m_transmitting);
 | 
				
			||||||
  m_bEchoTxOK=false;
 | 
					  m_bEchoTxOK=false;
 | 
				
			||||||
 | 
					  if(m_auto and (m_mode=="Echo")) {
 | 
				
			||||||
 | 
					    m_nclearave=1;
 | 
				
			||||||
 | 
					    echocom_.nsum=0;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  if(m_mode.mid(0,4)=="WSPR")  {
 | 
					  if(m_mode.mid(0,4)=="WSPR")  {
 | 
				
			||||||
    QPalette* palette = new QPalette();
 | 
					    QPalette* palette = new QPalette();
 | 
				
			||||||
    if(m_auto or m_pctx==0) {
 | 
					    if(m_auto or m_pctx==0) {
 | 
				
			||||||
@ -1844,6 +1851,7 @@ void MainWindow::guiUpdate()
 | 
				
			|||||||
    tx1=0.0;
 | 
					    tx1=0.0;
 | 
				
			||||||
    tx2=txDuration;
 | 
					    tx2=txDuration;
 | 
				
			||||||
    if(m_auto and m_s6>4.0) m_bEchoTxOK=true;
 | 
					    if(m_auto and m_s6>4.0) m_bEchoTxOK=true;
 | 
				
			||||||
 | 
					    if(m_transmitting) m_bEchoTxed=true;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if(m_mode.mid(0,4)=="WSPR") {
 | 
					  if(m_mode.mid(0,4)=="WSPR") {
 | 
				
			||||||
@ -3156,6 +3164,7 @@ void MainWindow::on_actionWSPR_15_triggered()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void MainWindow::on_actionEcho_triggered()
 | 
					void MainWindow::on_actionEcho_triggered()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  on_actionJT4_triggered();
 | 
				
			||||||
  m_mode="Echo";
 | 
					  m_mode="Echo";
 | 
				
			||||||
  ui->actionEcho->setChecked(true);
 | 
					  ui->actionEcho->setChecked(true);
 | 
				
			||||||
  m_TRperiod=3;
 | 
					  m_TRperiod=3;
 | 
				
			||||||
 | 
				
			|||||||
@ -386,6 +386,7 @@ private:
 | 
				
			|||||||
  int     m_nonWSPRTab;
 | 
					  int     m_nonWSPRTab;
 | 
				
			||||||
  bool    m_bEchoTxOK;
 | 
					  bool    m_bEchoTxOK;
 | 
				
			||||||
  bool    m_bTransmittedEcho;
 | 
					  bool    m_bTransmittedEcho;
 | 
				
			||||||
 | 
					  bool    m_bEchoTxed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  float   m_pctZap;
 | 
					  float   m_pctZap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user