From 99a28c81df31ec3affbb066c9d519995573a73e7 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 28 Nov 2012 23:55:32 +0000 Subject: [PATCH] I think sequencing is now OK when Auto is turned OFF. Also, F3 (TxMute) now works. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2786 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- mainwindow.cpp | 15 +++++++++------ mainwindow.h | 1 - soundout.cpp | 11 +++-------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index f96cb7b97..5af0ad277 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -11,6 +11,7 @@ int itone[85]; //Tx audio tones for 85 symbols bool btxok; //True if OK to transmit +bool btxMute; double outputLatency; //Latency in seconds //float c0[2*1800*1500]; @@ -98,7 +99,7 @@ MainWindow::MainWindow(QWidget *parent) : m_auto=false; m_waterfallAvg = 1; m_txFirst=false; - m_txMute=false; + btxMute=false; btxok=false; m_restart=false; m_transmitting=false; @@ -523,7 +524,7 @@ void MainWindow::keyPressEvent( QKeyEvent *e ) //keyPressEvent switch(e->key()) { case Qt::Key_F3: - m_txMute=!m_txMute; + btxMute=!btxMute; break; case Qt::Key_F4: ui->dxCallEntry->setText(""); @@ -1022,7 +1023,7 @@ void MainWindow::guiUpdate() if(f.exists() and fmod(tsec,m_TRperiod)<1.0 + 85.0*m_nsps/12000.0) bTxTime=true; - if(bTxTime and iptt==0 and !m_txMute) { + if(bTxTime and iptt==0 and !btxMute) { int itx=1; int ierr = ptt(m_pttPort,itx,&iptt); // Raise PTT /* @@ -1041,7 +1042,7 @@ void MainWindow::guiUpdate() soundOutThread.start(QThread::HighPriority); } } - if(!bTxTime || m_txMute) { + if(!bTxTime || btxMute) { btxok=false; } } @@ -1095,7 +1096,9 @@ void MainWindow::guiUpdate() // If btxok was just lowered, start a countdown for lowering PTT if(!btxok && btxok0 && iptt==1) nc0=-11; //RxDelay = 1.0 s - if(nc0 <= 0) nc0++; + if(nc0 <= 0) { + nc0++; + } if(nc0 == 0) { int itx=0; int ierr=ptt(m_pttPort,itx,&iptt); // Lower PTT @@ -1106,7 +1109,7 @@ void MainWindow::guiUpdate() msgBox(s); } */ - if(!m_txMute) soundOutThread.quitExecution=true; + if(!btxMute) soundOutThread.quitExecution=true; m_transmitting=false; if(m_auto) { m_monitoring=true; diff --git a/mainwindow.h b/mainwindow.h index c794cbd21..6e87ba2a5 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -146,7 +146,6 @@ private: bool m_decoderBusy; bool m_txFirst; bool m_auto; - bool m_txMute; bool m_restart; bool m_startAnother; bool m_saveSynced; diff --git a/soundout.cpp b/soundout.cpp index aeb720483..d6548e06b 100644 --- a/soundout.cpp +++ b/soundout.cpp @@ -8,6 +8,8 @@ extern "C" { extern float gran(); //Noise generator (for tests only) extern int itone[85]; //Tx audio tones for 85 symbols +extern bool btxok; +extern bool btxMute; extern double outputLatency; typedef struct //Parameters sent to or received from callback function @@ -17,7 +19,6 @@ typedef struct //Parameters sent to or received from callback function int ntrperiod; int ntxfreq; int ncall; - bool txOK; bool txMute; bool bRestart; } paUserData; @@ -74,11 +75,7 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, if(i4<-32767) i4=-32767; i2=i4; } - /* - if(udata->txMute) i2=0; - if(!udata->txOK) i2=0; - if(ic > 85*udata->nsps) i2=0; - */ + if(!btxok or btxMute) i2=0; *wptr++ = i2; //left ic++; } @@ -111,7 +108,6 @@ void SoundOutThread::run() udata.ntrperiod=m_TRperiod; udata.ntxfreq=m_txFreq; udata.ncall=0; - udata.txOK=false; udata.txMute=m_txMute; udata.bRestart=true; @@ -143,7 +139,6 @@ void SoundOutThread::run() udata.nsps=m_nsps; udata.ntrperiod=m_TRperiod; udata.ntxfreq=m_txFreq; - udata.txOK=m_txOK; udata.txMute=m_txMute; m_SamFacOut=1.0;